uboot结构与使用
%A
%A uboot是一个庞大的公开源码的软件。他支持一些系列的arm体系,包含常见的外设的驱动,是一个功能强大的板极支持包。其代码可以
http://sourceforge.net/projects/u-boot下载
%A
%A
%A 在9200上,为了启动uboot,还有两个boot软件包,分别是loader和boot。分别完成从sram和flash中的一级boot。其源码可以从atmel的官方网站下载。
%A
%A
%A 我们知道,当9200系统上电后,如果bms为高电平,则系统从片内rom启动,这时rom中固化的boot程序初始化了debug口并向其发送‘c‘,这时我们打开超级终端会看到ccccc...。这说明系统已经启动,同时xmodem协议已经启动,用户可以通过超级终端下载用户的bootloader。作为第一步,我们下载loader.bin.loader.bin将被下载到片内的sram中。这个loder完成的功能主要是初始化时钟,sdram和xmodem协议,为下载和启动uboot做准备。当下载了loader.bin后,超级终端会继续打印:ccccc....。这时我们就可以下在uboot了。uboot将被下载到sdram中的一个地址后并把pc指针调到此处开始执行uboot。接着我们就可以在终端上看到uboot的shell启动了,提示符uboot>,用户可以uboot>help 看到命令列表和大概的功能。uboot的命令包含了对内存、flash、网络、系统启动等一些命令。
%A
%A
%A 如果系统上电时bms为低电平,则系统从片外的flash启动。为了从片外的flash启动uboot,我们必须把boot.bin放到0x0地址出,使得从flash启动后首先执行boot.bin,而要少些boot.bin,就要先完成上面我们讲的那些步骤,首先开始从片内rom启动uboot。然后再利用uboot的功能完成把boot.bin和uboot.gz烧写到flash中的目的,假如我们已经启动了uboot,可以这样操作:
%A
%A
%A uboot>protect off all
%A
%A
%A uboot>erase all
%A
%A
%A uboot>loadb 20000000
%A
%A
%A uboot>cp.b 20000000 10000000 5fff
%A
%A
%A uboot>loadb 21000000
%A
%A
%A uboot>cp.b 210000000 10010000 ffff
%A
%A
%A 然后系统复位,就可以看到系统先启动boot,然后解压缩uboot.gz,然后启动uboot。注意,这里uboot必须压缩成.gz文件,否则会出错。
%A
%A
%A 怎么编译这三个源码包呢,首先要建立一个arm的交叉编译环境,关于如何建立,此处不予说明。建立好了以后,分别解压源码包,然后修改Makefile中的编译器项目,正确填写你的编译器的所在路径。
%A
%A
%A 对loader和boot,直接make。对uboot,第一步:make_at91rm9200dk,第二步:make。这样就会在当前目录下分别生成*.bin文件,对于uboot.bin,我们还要压缩成.gz文件。
%A
%A
%A 也许有的人对loader和boot搞不清楚为什么要两个,有什么区别吗?首先有区别,boot主要完成从flash中启动uboot的功能,他要对uboot的压缩文件进行解压,除此之外,他和loader并无大的区别,你可以把boot理解为在loader的基础上加入了解压缩.gz的功能而已。所以这两个并无多大的本质不同,只是他们的使命不同而已。
%A
%A
%A 特别说名的是这三个软件包都是开放源码的,所以用户可以根据自己的系统的情况修改和配置以及裁减,打造属于自己系统的bootloder。
%A
相关推荐
中美达成关税共识 美股七巨头市值单日暴涨6万亿!
低功耗高性能无线温湿度测量系统的设计和实现
由MCU控制的开关电源电路图
为什么光盘的44b0test程序不能编译
电冰箱模糊测控开发平台的实现
光罩图形化:电子束光刻发展之路
ARM开发之启动代码 下
新视频服务器
单片机嵌入式系统在远程电网监测系统中的应用
SiC开始加速批量上车
Linux块设备驱动开发解析 下
蔚来ET9四月交付量835台,超越宝马7系、奥迪A8L
电源设计培训课程——PI大学培训中心
5V→ 12V升压电源(MAX761)
硅谷罕见承认:谷歌搜索、iPhone等终将退场
AI搜索新贵Perplexity欲融资5亿美元 估值飙升至140亿
热潮过后 Manus 宣布开放注册,用户每天可免费执行一项任务
AI拯救电池续航焦虑!苹果iOS 19将引入智能省电工具
弹簧发条力矩和疲劳自动测试的研究
Linux块设备驱动开发解析 中
康佳T2967S(“s”系列)型彩电开关电源 (STR—G8656) 电路
芯片设计,迎来拐点
CD4541镉镍电池充电器电路图
关于vxworks程序socket向windows移值问题!
Linux块设备驱动开发解析 上
谷歌宣布启动“AI 未来基金”,支持初创企业开发前沿技术
1.5W的AC/DC电源适配器电路图
请教:vxworks_rom的问题
单片机中最小二乘方滤波器的向量测量和功率计算
大型高档游戏机主板MU-Zealer介绍(2)-新一代游戏平台