百度 手机网站收录,wordpress英文站源码,wordpress 顶部公告,建设招聘网站需要注册什么证Bootloader的概念就是一个用于引导的loader#xff0c;在系统上电的时候最先被运行#xff0c;然后对硬件平台做最基本的初始化#xff0c;最后把操作系统加载起来。不同的嵌入式操作系统都有自己的Bootloader#xff0c;但是本质功能都是一样的。 在WinCE中用的最多的就是… Bootloader的概念就是一个用于引导的loader在系统上电的时候最先被运行然后对硬件平台做最基本的初始化最后把操作系统加载起来。不同的嵌入式操作系统都有自己的Bootloader但是本质功能都是一样的。 在WinCE中用的最多的就是EBOOT是一个基于网络的Bootloader而且可以根据需要带有命令行菜单功能网络调试功能以及文件系统的相关功能。在这里我只谈ARM平台的引导因为其他架构的CPU我没用过就不吹牛了。一般基于不同的硬件设计会有不同的引导方式 NORFlash Boot 一般ARM处理器的片选0都会接有NORFlash这样在ARM上电以后会从0地址开始执行程序也就是从NORFlash的0地址开始执行。所以把EBOOT烧到NORFlash的0地址开始的地方这样在上电以后EBOOT开始执行可以在NORFlash里面执行也可以自拷贝到SDRAM中执行。最后加载WinCE image并运行。 NANDFlash Boot with EBOOT 由于NORFlash容量小价格贵现在很多ARM处理器支持NandFlash引导。不同厂家的处理器对Nandflash的引导略有区别具体要看datasheet。但是本质就是先从Nandflash中读出一个小的Loader来运行这个Loader再从Nandflash中加载EBOOT到SDRAM中运行最后EBOOT加载WinCE image就是NK.bin。 NANDFlash Boot without EBOOT 如果在NandFlash引导的时候不需要EBOOT也可以不用EBOOT。这样就是系统启动后从Nandflash中加载一个小的Loader小的Loader对硬件系统作基本的初始化然后直接加载WinCE image一般应该是NK.nb0然后运行。 这里来说一下NK.bin与NK.nb0两个不同的WinCE image。 NK.nb0就是一个可以直接运行的WinCE映像文件直接拷贝到SDRAM中就可以运行。 NK.bin被称为Windows CE binary image data format文件格式是一种包含了多个独立纪录(Section)的二进制文件。在加载的时候需要分别加载不同的Section加载到不同的地方。所以NK.bin需要Bootloader进行解释性加载。但是他的Size会比NK.nb0小。可以使用viewbin命令查询NK.bin中的纪录信息。 viewbin –rec nk.bin 前面已经讲过了一般系统会使用到的引导方式下面介绍一下EBOOT。在WinCE中EBOOT一个作用可以加载WinCE image还可以通过网络配合Platform Builder下载WinCE image进行调试。在开发一个新的BSP的时候首先会基于一个相似的平台的BSP进行克隆然后要做的就是要开发和调试EBOOT了EBOOT的架构如图 BLCOMMON相当于EBOOT的一个基本框架主要完成bootloader相关内存的分配解析NK.bin文件并进行效验初始化平台通过网络下载image等功能。 OEM Code主要是基于硬件平台为BLCOMMON提供相应的接口函数帮助完成相应的功能。 Eboot一个小的网络协议栈为网络下载image提供DHCPTFTPUDP等网络服务功能。 Network Driver硬件平台的网络驱动部分支持上层的网络功能。 Bootpart为Flash设备提供分区功能bootloader可以创建一个BinFS分区和一个文件系统分区。还可以用它来创建一个引导分区用来存放引导参数。 Flash Memory硬件平台的Flash驱动。