u-boot配置流程分析 执行make tiny4412_config后,将会对u-boot进行一些列的配置,以便于后面的编译. 打开顶层目录下的Makefile,查找对于的规则tiny4412_config. TINY4412对应的规则是%_config %_config:: unconfig @$(MKCONFIG) -A $(@:_config=) 在Makefile中%为通配符,代表任意长度的任何字符,因此%_config就匹配到 tiny4412_config. 双::表示强制执行下面…
这里说的u-boot启动流程,值得是从上电开机执行u-boot,到u-boot,到u-boot加载操作系统的过程.这一过程可以分为两个过程,各个阶段的功能如下. 第一阶段的功能: 硬件设备初始化. 加载u-boot第二阶段代码到RAM空间. 设置好栈. 跳转到第二阶段代码入口. 第二阶段的功能: 初始化本阶段使用的硬件设备. 检查系统内存映射. 将内核从Flash读取到RAM中. 为内核设置启动参数. 调用内核. CPU有7种模式 ARM中处理器模式   说明 备注 用户(usr) 正常程序工作…
应用程序通过open  read  write close 等函数来操作计算机硬件.类似是一个接口. 当应用程序调用这些接口程序时,计算机是如何进入内核的呢?这是经过了系统调用. 实际上当调用接口函数时,会引发一个swi异常(附带参数,软中断),通过这个异常就进入了内核空间.在内核空间的异常处理函数中就会处理传入的值. 而C库中的open如何对应上内核空间中相应的函数呢?这是由驱动程序框架来完成的. linux对所用到的系统调用进行了编号. 例如: NO1. open NO2. read NO3…
硬件资料: 操作系统:(非虚拟机) zws@z-pc:~$ lsb_release -aNo LSB modules are available.Distributor ID: Ubuntu Description: Ubuntu LTS Release: 14.04 Codename: trusty 内核版本: zws@z-pc:~$ uname -a Linux z-pc --generic #~-Ubuntu SMP Tue Sep :: UTC x86_64 x86_64 x86_64…
一.协议栈层次对比 设备无关层到驱动层的体系结构 1).网络协议接口层向网络层协议提供提供统一的数据包收发接口,不论上层协议为ARP还是IP,都通过dev_queue_xmit()函数发送数据,并通过netif_rx()函数接受数据.这一层的存在使得上层协议独立于具体的设备.2).网络设备接口层向协议接口层提供统一的用于描述具体网络设备属性和操作的结构体net_device,该结构体是设备驱动功能层中各函数的容器.实际上,网络设备接口层从宏观上规划了具体操作硬件的设备驱动功能层的结构.3).设备…
Nor Flash和Nand Flash的不同: 类型 NOR Flash  Nand Flash  接口 RAM-like,引脚多 引脚少 容量 小(1M.2M...) 大(512M.1G) 读 简单 复杂 写 复杂 复杂 价格 贵 便宜   无坏块.位反转 有位反转.坏块   存储一些重要的文件 可以出错的文件比如视频 xip 可以 不可以 使用uboot来体验nor Flash操作.(Nor的A0接到Soc的A1上.所以地址应该左移1位.) 1. 读数据(NOR Flash可以像内存一样直…
NAND FLASH是一个存储芯片. 在芯片上的DATA0-DATA7上既能传输数据也能传输地址. 当ALE为高电平时传输的是地址. 当CLE为高电平时传输的是命令. 当ALE和CLE都为低电平时传输的是数据. 将数据发给nand Flash后,在发送第二次数据之前还要判断芯片是否处于空闲状态.一般是通过引脚RnB来判断,一般是高电平代表就绪,低电平代表正忙. 操作Nand Flash的一般步骤是: 1. 发命令 选中芯片 CLE设置为高电平 在DATA0-DATA7上输出命令值 发出一个写脉冲…
安装驱动后,可在/dev/目录下发现已经生成了相应的设备文件. 格式化设备:mkdosfs /dev/ramblock. 挂载设备. 读写设备 . 驱动程序代码: /************************************************************************* > File Name: ramblock.c > Author: > Mail: > Created Time: 2016年11月05日 星期六 22时17分28秒 **…
USB在接入系统的时候,以0的设备ID和主机通信,然后由主机为其分配新的ID. 在主机端,D+和D-都是下拉接地的.而设备端的D-接上拉时,表明此设备为高速设备:12M/s. D+接上拉时则是全速设备:480M/S. PC的USB口中的D+D-有15K的下拉电阻,未接USB设备时,皆为低电平. 而设备中的D+D-则是1.5K的上拉电阻.一旦接入PC中,电脑就会知道有设备接入. USB是主从结构.所有的传输都是由主机发起的,即USB设备没有主动通知USB主机的能力. USB的传输类型: 控制传输.…
驱动代码: /************************************************************************* > File Name: lcd.c > Author: > Mail: > Created Time: 2016年11月02日 星期三 15时21分59秒 ************************************************************************/ #include…