嵌入式Linux驱动学习之路(二)u-boot体验
u-boot工程简介
现在的u-boot支持PowerPC、ARM、X86、MIPS体系结构的上百种开发板,已经称为功能最多、灵活性最强,并且开发最积极的开源Bootloader。目前由DENX的WolfgangDenk维护。
u-boot远吗包可以从其官方网站下载。
- u-boot软件包下载网站: ftp://ftp.denx.de/pub/u-boot/
- u-boot邮件列表网站: http://lists.denx.de/pipermail/u-boot/
- DENX的u-boot主页: http://www.denx.de/wiki/u-boot/
u-boot源码结构
- board 存放电路板相关的目录文件。
- CPU 存放CPU相关的目录文件。
- lib_xxx 与体系结构相关的库文件。
- include u-boot使用的头文件,还有支持各种硬件平台的汇编文件、系统的配置文件和支持文件系统的文件。
- common 实现u-boot命令行下支持的命令,每一条命令都对应一个文件。
- lib_generic 通用库函数的实现。
- net 与网络协议相关的代码。
- fs 支持的文件系统。
- drivers u-boot支持的设备驱动程序都放在该目录中。
- disk 对磁盘的支持。
- doc 文档目录。
- tools 生成u-boot工具。
- examples 一些独立运行的应用程序的例子。
u-boot的配置编译
1. 安装好toolchain并设置好环境变量。
2. 解压uboot_tiny4412-20130729.tgz 并进入相应的目录
tar xzf uboot_tiny4412-.tgz
3. 配置u-boot并编译
cd uboot_tiny4412
make tiny4412_config
make
4.编译 用于生成bl2的工具
make -C sd_fuse
或者
cd sd_fuse; make
制作启动Tiny4412的SD卡
a. 先准备一张大于4Gb大小的SDHC卡。(请先将SD卡内的数据备份,下面操作会损坏SD内数据)。
b. fusing SD card
将SD卡插到电脑上, 假设已被识别为/dev/sdb
cd sd_fuse/tiny4412/
sudo ./sd_fusing.sh /dev/sdb
若有以下提示,则制作成功。
U-boot image is fused successfully.
Eject SD card and insert it again.
将SD卡插入到卡槽,设置为从SD卡启动,打开电源,按任意键进入到U-BOOT命令行模式。
嵌入式Linux驱动学习之路(二)u-boot体验的更多相关文章
- 嵌入式Linux驱动学习之路(二十五)虚拟网卡驱动程序
一.协议栈层次对比 设备无关层到驱动层的体系结构 1).网络协议接口层向网络层协议提供提供统一的数据包收发接口,不论上层协议为ARP还是IP,都通过dev_queue_xmit()函数发送数据,并通过 ...
- 嵌入式Linux驱动学习之路(二十四)Nor Flash驱动程序
Nor Flash和Nand Flash的不同: 类型 NOR Flash Nand Flash 接口 RAM-like,引脚多 引脚少 容量 小(1M.2M...) 大(512M.1G) 读 简 ...
- 嵌入式Linux驱动学习之路(二十三)NAND FLASH驱动程序
NAND FLASH是一个存储芯片. 在芯片上的DATA0-DATA7上既能传输数据也能传输地址. 当ALE为高电平时传输的是地址. 当CLE为高电平时传输的是命令. 当ALE和CLE都为低电平时传输 ...
- 嵌入式Linux驱动学习之路(二十二)用内存模拟磁盘
安装驱动后,可在/dev/目录下发现已经生成了相应的设备文件. 格式化设备:mkdosfs /dev/ramblock. 挂载设备. 读写设备 . 驱动程序代码: /***************** ...
- 嵌入式Linux驱动学习之路(二十)USB设备驱动
USB在接入系统的时候,以0的设备ID和主机通信,然后由主机为其分配新的ID. 在主机端,D+和D-都是下拉接地的.而设备端的D-接上拉时,表明此设备为高速设备:12M/s. D+接上拉时则是全速设备 ...
- 嵌入式Linux驱动学习之路(二十七)字符设备驱动的另一种写法
之前讲的字符设备驱动程序,只要有一个主设备号,那么次设备号无论是什么都会和同一个 struct file_operations 结构体对应. 而本节课讲的是如何在设备号相同的情况下,让不同的次设备号对 ...
- 嵌入式Linux驱动学习之路(二十六)DM9000C网卡驱动程序
基于DM9000C的原厂代码修改dm9000c的驱动程序. 首先确认内存的基地址 iobase. 确定中断号码. 打开模块的初始化函数定义. 配置内存控制器的相应时序(结合DM9000C.C的手册). ...
- 嵌入式Linux驱动学习之路(二十一)字符设备驱动程序总结和块设备驱动程序的引入
字符设备驱动程序 应用程序是调用C库中的open read write等函数.而为了操作硬件,所以引入了驱动模块. 构建一个简单的驱动,有一下步骤. 1. 创建file_operations 2. 申 ...
- 嵌入式Linux驱动学习之路(十二)按键驱动-poll机制
实现的功能是在读取按键信息的时候,如果没有产生按键,则程序休眠在read函数中,利用poll机制,可以在没有退出的情况下让程序自动退出. 下面的程序就是在读取按键信息的时候,如果5000ms内没有按键 ...
随机推荐
- 总结CSS3新特性(Transition篇)
CSS 过渡(transition), 是 CSS3 规范的一部分, 用来控制 CSS 属性的变化速率. 可以让属性的变化过程持续一段时间,而不是立即生效.比如,将元素的颜色从白色改为黑色,通常这个改 ...
- 通过组策略实现Firefox自动以当前域账号登录MOSS站点---(原创)
忘忧草原创,转发请保留本人的大名,谢谢,如果需要文档的请找我索取 前言 通过组策略实现基于AD的windows验证的sharepoint站点在火狐下自动以当前域账号登录. 操作步骤-在服务器添加策略工 ...
- Java Android HTTP实现总结
Java Android HTTP实现总结 Http(Hypertext Transfer Protocol)超文本传输协议,是一个基于请求/响应模式的无状态的协议,Http1.1版给出了持续连接的机 ...
- commandline (命令行)登录mysql
mysql登录在命令行登录的时候是通过mysql的里面的程序的录的 其登录格式有两种:(在oracle上看到的是列出这两种,不要既有全参数名又有缩写参数名.) 1.全参数名登录释例 mysql --h ...
- 听云数据库管理平台NetopGO简介
➠更多技术干货请戳:听云博客 断断续续写了将近一个月,听云第一版数据库管理平台终于写完了,期间来来回回的改了好多次小毛病,现在已经部署到生产环境上去了. 在刚开始的时候,后端的数据库集群只有10多个节 ...
- IOS动画
基础动画 //创建基础动画 CABasicAnimation * basic = [CABasicAnimation animation]; //动画路径 basic.keyPath ...
- nodejs API
1.querystring参数处理 序列化 > querystring.stringify({'name':'scott',course:['jade','node'],from:''}) 'n ...
- Sql与MySQL简单入门
作为过来人,给"新司机"一点建议:运维时需要搭建的生产环境,需尽量保持与测试环境一致:但搭建环境时,又苦于找不到合适的版本怎么办?不用怕,我是一个体贴的人,管杀也管埋(该链接为My ...
- AngularJS 指令
AngularJS 指令 AngularJS 指令是扩展的 HTML 属性,带有前缀 ng-. ng-app 指令 ng-app 指令定义了 AngularJS 应用程序的 根元素. ng-app 指 ...
- yii2使用多个数据库的案例
作者:白狼 出处:http://www.manks.top/article/yii2_%E5%88%86%E5%BA%93%E5%88%86%E8%A1%A8_config 本文版权归作者,欢迎转载, ...