手持式移动设备嵌入式WinCE开发(4.1).ppt
《手持式移动设备嵌入式WinCE开发(4.1).ppt》由会员分享,可在线阅读,更多相关《手持式移动设备嵌入式WinCE开发(4.1).ppt(42页珍藏版)》请在三一办公上搜索。
1、手持式移动设备嵌入式WinCE开发,4,WinCE映像文件下载,第,章,本章目标,理解BootLoader在映像文件下载过程中的作用,掌握BootLoader烧写方法和原理,掌握通过PB下载内核映像的方法,4.1 BootLoader概述,BootLoader 就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,可以完成初始化硬件设备、建立内存空间的映射图、和内核镜像建立通讯通道和 调试通道等等工作。(ARM2410的BootLoader分为Nboot和eboot)BootLoader 是严重依赖于硬件,必须专门定制。Bootloader实现的功能都无外乎两个:启动内核镜像和下载内核镜
2、像 启动加载(Bootloading)模式:即Bootloader自动加载系统的过程,整个过程并没有开发者和用户的介入。在正常条件下,必须保证这种启动方式的有效,特别是在嵌入式产品发布的时侯,BootLoader必须直接工作在这种模式下以保证系统的正常运行。,4.1 BootLoader概述,下载(Downloading)模式:在这种模式下,目标机上的Boot Loader 将通过串口连接或网络连接等通信手段从主机(Host)下载内核等文件。从主机下载的文件通常首先被 BootLoader保存到目标机的 RAM 中,然后再被 BootLoader 写到目标机上的 FLASH 类固态存储设备中。
3、BootLoader 的这种模式通常在第一次安装内核与根文件系统时被使用;此外,以 后的系统更新也会使用 BootLoader 的这种工作模式。工作于这种模式下的 Boot Loader 通常都会向它的终端用户提供一个简单的命令行接口,并可以执行简单的交互。,4.1 BootLoader概述,ARM2410上的 WinCE 系统和其他 RTOS 不同,它具有两级 Bootloader 来引导内核镜像。在 Bootloader 阶段,比起其他系统 Bootloader 来讲要复杂的多。,4.2 烧写Bootloader,WinCE 所需的 Bootloader 有多个镜像文件组成,分别为:241
4、0loader.Bin NBOOT,烧写至 Block0。Tocblock1 TOC,烧写至 Block1。Eboot.nb0 EBOOT,烧写至 Block2。Logo.bin 启动时的 LOGO 镜像,烧写至 Block10,可省略。Nboot的烧写 Nboot(NandFlash Bootloader)是2410板子上WinCE 的第一级Bootloader,位于 Nand Flash 的Block0。主要负责初始化 Flash,读取 TOC等等工作,最后将 Eboot 内容拷贝到 RAM 中,把 CPU 执行权交给 Eboot 接管。Nboot将Eboot加载到2410的RAM,Ebo
5、ot将NK.bin(内核镜像文件)加载到2410.,4.2 烧写Bootloader,使用 SJF 来把 Nboot 部分 Bootloader 烧写在第 0 个 block 中。使用方法如下:首先,修改 BIOS 中计算机并口的选项,设置并口为“378”模式。在平台和 PC 之间连接好 JTAG(并口)下载线,并开始安装 Giveio(JTAG口)驱动。在WinXP下安装Giveio 驱动步骤如下:复制giveio.sys到C:WINDOWSsystem32drivers目录下。在控制面板选择“添加硬件”,4.2 烧写Bootloader,4.2 烧写Bootloader,4.2 烧写Boo
6、tloader,4.2 烧写Bootloader,4.2 烧写Bootloader,4.2 烧写Bootloader,4.2 烧写Bootloader,4.2 烧写Bootloader,4.2 烧写Bootloader,接下来就可以进行Nboot的烧写了。烧写的格式是:sjf2410/f:2410loader.bin 烧写TOCTOC(Table Of Content)是整个 Nand Flash 中存储内容的一个列表,这里面储存了有 关启动和系统内核的一些相关存储信息,需要写在 Nand Flash 的 block1 中,由 Nboot 里的函数读取。之后 Nboot 会按照读取的内容进行配
7、置和跳转到不同的地址。TOC的烧写格式sjf2410/f:tocblock1注意TOC是被烧写到block1的。,4.2 烧写Bootloader,EbootEboot(Ethernet Bootloader)是一种高级 Bootloader,可以理解为一个伪的Kernel Image,位于从Nand Flash的Block2(512KB)开始部分空间。它主要负责各个设备的初始化,内存地址映射,文件系统,网络系统驱动和加载内核镜像的相关准备工作,已经是比较复杂的Bootloader了。使用Eboot下载内核,Eboot执行完毕之后可以通过控制台来下载真正的Kernel Image,并跳转到Ke
8、rnel 来执行,这时系统就引导起来了。在执行过程中,Eboot 会根据需要改变TOC中的内容,这样就记录下来当时的状态,例如IP地址,MAC 地址,启动信息等等。,4.2 烧写Bootloader,只有在调试阶段才有使用Eboot的必要,当系统设计完毕之后,可以通过修改Nboot 来直接跳转执行Kernel Image,不再使用Eboot 来控制执行。这时,启动速度会有很大提高。Boot Loader 由两部分组成:OEM 启动代码(OEM startup code)和主代码(main code)。OEM启动代码是最先执行的部分,它的功能是初始化内存寄存器、设置 CPU 频率、初始化高速缓存
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 手持 移动 设备 嵌入式 WinCE 开发 4.1
链接地址:https://www.31ppt.com/p-2339096.html