wince系统下bootloader的开发

wince系统下bootloader的开发

ID:22311211

大小:55.00 KB

页数:6页

时间:2018-10-28

wince系统下bootloader的开发_第1页
wince系统下bootloader的开发_第2页
wince系统下bootloader的开发_第3页
wince系统下bootloader的开发_第4页
wince系统下bootloader的开发_第5页
资源描述:

《wince系统下bootloader的开发》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、WinCE系统下BootLoader的开发

2、第1摘要:介绍soNormal>关键词:或Flash。在开发CE的过程中,它主要用于启动硬件和下载nk.bin到目标板上,并有一定的监控作用。图1描述了IPS32)上,BootLoader是最先被执行的程序,所以就必须包括加电初始化程序。通常,BootLoader必须包含下载CE映像文件的功能。另外,管理监控硬件设备通常也是必须的,因为这可以极大地方便工程开发。由于BootLoader涉及到基本的硬件操作,如CPU的结构、指令等,同时又涉及到以太网下载协议(TFTP,当然也可能通过串口)和策软设定的映像文件格

3、式。因此从零实现的话,会需要相当长的过程。好在微软为每种类型的CPU都提供了某种标准开发板的BootLoader例程,因此通常的做法是:从这些例程中寻找与硬件平台最接近的作为标本程序,然后再从自己的硬件平台上入手做相应的改动。一些新的评估板可能会由第三方的厂商来提供Bootloader。如果硬件平台是从这样的基板设计而来的话,那么最好去寻求这些厂商获取Bootloader来移植,以减少工作量。笔者使用的硬件平台基于MIPS32架构,下载端口采用的是以太网口,同时还具备一个串口,主机相连,通过超级终端对该平台加以控制。该平台是参考AMD的一款标准估计板设

4、计的,BootLoader以该板的BootLoader为参考进行了移植。3编写BootLoader源程序前面已经提到,由于硬件的不同,BootLoader的功能可能有多有少,此处笔者以自己开发BootLoader的过程进行叙述。图2是笔者BootLoader的工程流程。3.1启动部分首先要实现初台化硬件的功能。在参考板的BootLoader目录下,会发现一些.s文件,可能会是init.s或者是reset.s等,这样的文件是CPU加电后最先执行的代码。由于此处是用汇编语言编写的,所以与CPU关系紧密。一般参考板的CPU与开发平台的CPU会是相同或者是同一

5、个架构的。笔者使用的是属于同一种CPU的情况,所以对寄存器的定义和初始化流程都可以不加改动。接着就是对于平台配置的分析,包括平台存储空间的分配、外围设备的工作设定等。一般这里的区别是非常大的。所以必须要对CPU寄存器的值作相应设定。这部分工作可能需要CPU提供商方面的帮助。应该说,这部分工作是BootLoader的一大重点,但由于和实际的硬件非常大,所以不可能做进一步的详细叙述。3.2主控部分从这一部分开始,均用C语言编写。为了增加BootLoader对平台的控制,一般BootLoader都会设计成支持命令输入的方式,通过串口来接收用户的命令。这种机制

6、中,如果参考板有Loader支持的话,那么可以自己添加有实用价值的命令,完成一些需要的功能。从图2中可以看出,一般在平台调试完毕后,可以在不用人工干预的情况下自动加载CE(这也是BootLoader必需的功能之一);而在调试阶段,基本上是通过Loader所支持的命令来进行操作的。提供足够丰富的命令,能极大简化和全面测试开发平台。如表1所列,是笔者Loader所提供的命令。表1命令说明Help列出所有支持的命令并加以说明Eboot从开发台下载CE映像并加载。PB有自带的例程函数可作参考。一般来说,如果目的地就是RAM的话,直接参考例程函数即可。但是如果目

7、的地就是Flash,不要直接存入Flash(字为单位),应先存入内存中待下载完毕以后再导入Flash。当然,这种方法必须要有足够的内存。如果没有足够的内存,也可以缓存部分数据后,分段写入Flash。3.4支持DOC对于B。DOC(DiskOnChip)则提供了一种相对廉价的大存储容量的解决方案。DOC本质上是一种加以软件控制的NAND格式的Flash,通过TFFS这一软件层提供对-SYSTEM的网站上获取DOC的BOOT软件开发包。在这个开发包里,提供了一系列DOC的操作函数。将此开发包嵌入到CE的BootLoader中去,然后按照图4的步骤,调用相应

8、的读写函数完成这一过程。对于开发包中相关函数的说明,笔者就不具体介绍了,可以参考开发包的说明文档。4BootLoader的编译、链接和下载BootLoader程序可以通过PB的集成编译环境编译链接,控制文件为.bib文件,下面是一个简单的BootLoader的.bib文件。MEMORYCLI9fc0000000050000RAMIMAGERAM8008000000070000RAMCONFIGPRESSION=ONSRE=ONROMSTART=9fc00000ROMSIZE=00020000ROMOFFET=000000MODULESNk.exe$(_

9、FLATRELEASEDIR).exeCLIMEMORY部分定义了生成的映像文件的目标地址,以

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。