这里说的u-boot启动流程,值得是从上电开机执行u-boot,到u-boot,到u-boot加载操作系统的过程.这一过程可以分为两个过程,各个阶段的功能如下. 第一阶段的功能: 硬件设备初始化. 加载u-boot第二阶段代码到RAM空间. 设置好栈. 跳转到第二阶段代码入口. 第二阶段的功能: 初始化本阶段使用的硬件设备. 检查系统内存映射. 将内核从Flash读取到RAM中. 为内核设置启动参数. 调用内核. CPU有7种模式 ARM中处理器模式   说明 备注 用户(usr) 正常程序工作…
每当学习到一定阶段自己觉得还行时,就会搜一些别人的文章. 这篇文章是原作者14年3月写的.转过来与自己共勉.学习累了就换着学也挺好 原文: 现在回首看看,接触Linux已经很长时间了. 在大三的时候开始学习Java, 但是一直学Java的话, 感觉有点腻, 就尝试找点其他东西来学习. 所以当时就选择学习了Linux. 至于为什么要学习Linux, 有以下三个原因. 一是我比较喜欢开源的东西, 当时学习Java就是因为它开源, 以后选择学习Android很大一部分原因也是因为它开源. 现在已经工作…
操作系统组成作用shell是离用户最近的程序 shell:外壳 两类 GUI:Gnome,KDE,Xfce CLI:sh, csh,ksh,bash(都是程序,就是功能支持的不同而已) 进程:在每个进程看来,当前主机只存在内核和当前进程 进程是程序的副本,进程是程序执行实例 不同的用户,登陆系统的时候可以使用同一个shell,也可以使用不同的shell 同个用户,多次登陆系统也可以使用不同的shell 用户工作环境时可以各不相同 bash: 1.命令历史 2.管道,重定向 3.命令别名 4.命令…
一.协议栈层次对比 设备无关层到驱动层的体系结构 1).网络协议接口层向网络层协议提供提供统一的数据包收发接口,不论上层协议为ARP还是IP,都通过dev_queue_xmit()函数发送数据,并通过netif_rx()函数接受数据.这一层的存在使得上层协议独立于具体的设备.2).网络设备接口层向协议接口层提供统一的用于描述具体网络设备属性和操作的结构体net_device,该结构体是设备驱动功能层中各函数的容器.实际上,网络设备接口层从宏观上规划了具体操作硬件的设备驱动功能层的结构.3).设备…
在之前的定时器驱动程序中,我们发现在连续按下按键的时候,正常情况下应该是一次按下对应一次松开.而程序有时候会显示是两次按下,一次松开.这个问题是因为在按下的时候,因为是机械按键,所以电压信号会产生一定的波动,会让程序进行两次中断,如何解决这个问题呢? 我们可以在发生一次中断之后等待一段时间再去判断按键是否已经被按下,如果是已经被按下了 则本次有效,否则无效.这里用到了定时器. 定时器常用的操作函数有:   init_timer(&timer);   //定时器初始化   timer.data=;…
一.SHELL的介绍 shell分为两种:CLI(command Line Interface)和GUI(Graphical User Interface) 操作系统中的shell: GUI:GNOME CLI:BASH 1.Bash(命令行) (1) 提示符:#(超级用户).$(普通用户) 命令一般由三个部分组成: 命令  选项  参数 (2)技巧 使用tab键来简化命令输入 自动补全命令 自动补全文件名 无法自动补全参数 (3)bash-历史记录 Bash会保存你输入的历史纪录,可以通过上下…
我认为的一条学习嵌入式Linux的路: 1)学习 Linux系统安装. 常用命令.应用程序安装. 2) 学习 Linux 下的 C 编程.这本书必学<UNIX 环境高级编程>.<UNIX 网络编程>,Rechard Stevens 写的,C 高手大都学习过 <C 和指针>.<C 缺陷与陷阱>.<高质量C/C++编程指南>.<C 专家编程>.<The C programming Language> 3)程序员大都要学:数据结…
linux的安装配置.常用命令: 基本上学习任务: 1.在VMware(9)虚拟机上安装Linux操作系统(安装CentOs操作系统) 2.了解Linux操作系统 3.通过XShell工具操作Linux 4.部署安装JDK.Tomcat.MySQL.Oracle等软件 5.通过命令部署应用 Liunx是一种免费开源的操作系统(Lunix是Linux的前身,c语言编写).基本思想:一切都是文件(命令.硬件设备.进程对于内核来说都是文件) 常用的发行版本:RedHat(商业版收费的) CentOs…
MongoDB $type 操作符 类型 数字 备注 Double 1 String 2 Object 3 Array 4 Binary data 5 Undefined 6 已废弃 Object id 7 Boolean 8 Date 9 Null 10 Regular Expression 11 JavaScript 13 Symbol 14 JavaScript(with scope) 15 32-bit Integer 16 Timestamp 17 64-bit Integer 18…
之前讲的字符设备驱动程序,只要有一个主设备号,那么次设备号无论是什么都会和同一个 struct file_operations 结构体对应. 而本节课讲的是如何在设备号相同的情况下,让不同的次设备号对应不同的  struct file_operations 结构体. 在本次的驱动程序中,打开/dev/hello0 . /dev/hello1  调用的是hello_open函数.打开/dev/hello2 调用的是 hello2_open 函数.打开其他次设备号的文件,则是打开失败. 驱动程序代码…