资源描述:
《对RedBoot移植的研究》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、0引言■.RedBsi是一个专门为嵌人式系统定制的开发工具,最初由Redhat公司开发,它是嵌入式操作系统eCos的一个最小版本,现在交由自由软件组织FSF管理,遵循GPL的发布协议。RedBootftBoolloader试、Flash烧写于一体,支持串口、网络下载,执行嵌入式应用程序,既可以用在产品的开发阶段(调试功能),也可以用在嚴终的产品上(Fbish更新、网络启动)。1RedBnot分析1.1RcdBoul功能概述RodBooc是一个以心为基础的应用程序,继承了c-8的稳定性、可配負性和易移植性,现在已经成为一种非常流行
2、的Bootloader©Redboot所支持的基本功能有:1)支持X/Ymodem协议,通过申口下载应用程序;2)支持TFTP.HTTP,通过网络下载应用程序;3)支持0OOTP协议支持网络引导功能•进行养态IP地址设盘;4)内嵌GDBswub,通过串口或者网络就可以调试目标应用程序•不需要其他额外的工具(例如JTAG等);5)支持FUsh映象系统;收稿日期:2006-08-25作者简介:祝洋(1983-),男•廉上研究生,研允方向为诙入式软件;罗蕾,轉土生导算.教授,研究方向为嵌入式实吋操作系统。第16卷2()06年10月对R
3、edBoot移植的研究祝洋,罗蕾(电子科技大学计算机学院•四川成部610054)»豪:介绍了当前作为buwluader非常流行的rcdbont。首先介绍frcdbwt的基本功能,«Wt点分析了论移柚相关的redbom的启动蟆式E过程,jft后给出了基Fat9lnn92()0的一个移檢实现°关・:Rcdtioo(;d?a»;Ikotioa(kr;ARM;嵌人式;移植中图分类号:TO11文献标识口:A文章编号:1673-629X(2006)0172-03TheStudyonTransplantingRedBootZHUYang,LU
4、OLei(SchoolofComputer.UniversityofElectronicSd.undTechn.ofChina,Chengdu610054,China)Abstract:hgivwmintroductionaboutrrdbootwhichisapopularbootluAderinthecurrentembeddedyrm.Abriefintroductionofred・bootIbasicfunctiontandadewilanalysisabouthowrcdbootstartswillbegiven・At
5、lastitra«sasolutionabouttransplantingredbootonat91nn9200・Keywords:RedBooc;cCos;Bootloader;ARM;enbedciedtransplant6)支持引导脚本,引导脚本存储在Flash里。可以完成上电卮的自动功能(例如从Flash或者HTTP下载导入应用程序)。7)提供了完善的命令行,可以完成对Flash映象系统的管理、应用程序的下銭、RedBg的配置等功能。1.2RcdBoot启动揍式分析RcdBooi实质上来讲,就是心的一个应用程序,它没有采
6、用心内孩,即它没有线程的槪念,就只有一个主线程;它同时也没有开启任何中断•和串口与网络的交互都使用的是轮询方式。因此RedBooi基本没有涉及操作系统的待性,因此可以把它看作是跟心相对独立的Booiloader,它所完成的功能仅仅是进行硬件初始化,提供硬件的骆动程序,为C语育的执行提供环境(设盘堆栈等)。RcdBoot的启动分为三个模式:RAM模式.ROM模式和R0MRAMW式。(l)ROM模式。这种情况是在RAM资源受到一定限制条件下才采用的。在这种俱式下.RcdBoot以bin文件的形式烧写到ROM中(一般是NorFlash
7、或者EPROM)。上电后.RedBoot从ROM首地址开始执行,它会把它自己存放在ROM上的数据段徵移到RAM空间,以提高访问速度•但它仍然是在ROM上运行(即Ton段还是在ROM上),因此.RcdBooc的运行依然要依赖ROM.所以Rcd-Booi不能在此模式下升级(不能在运行时樓盖自己的Texi段人如果要升级,必须采用RAM模式。ROM模戎一般采用得比较少。(2)ROMRAM模式。这种模式是嚴常用的模式°和ROM模式有点类似•它首先以bin文件的形式烧写到ROM中•上电后•它也从ROM的首地址执行;不同的是,初始化硬件后(主
8、要是保mERAM工作正常),把RcdUoot所有在ROMM数据,包括代码段和数据段,都廉移到RAM上,再执行运行空间的跳转(拨动PC),此时,Red.B«x就完全执行在RAM空间上了。这样做有两个好处:T1RedBg执行在RAM空间,速度快;二是跳转后,RZBg