手持式移动设备嵌入式WinCE开发(4.1).ppt

上传人:文库蛋蛋多 文档编号:2339096 上传时间:2023-02-13 格式:PPT 页数:42 大小:2.41MB
返回 下载 相关 举报
手持式移动设备嵌入式WinCE开发(4.1).ppt_第1页
第1页 / 共42页
手持式移动设备嵌入式WinCE开发(4.1).ppt_第2页
第2页 / 共42页
手持式移动设备嵌入式WinCE开发(4.1).ppt_第3页
第3页 / 共42页
手持式移动设备嵌入式WinCE开发(4.1).ppt_第4页
第4页 / 共42页
手持式移动设备嵌入式WinCE开发(4.1).ppt_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《手持式移动设备嵌入式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 频率、初始化高速缓存

9、等。之后它跳转到主代码中执行。一般OEM启动代码都是用汇编编写。主代码一般用C语言编写,它负责其它所有任务,在执行的同时还能够将执行的相关信息显示在屏幕上。一般添加公司 LOGO 或者其它启动 LOGO 都在此修改。,4.2 烧写Bootloader,主代码主要由几个部分组成:镜像下载代码,通过并口或者网卡来实现从远程计算机下载nk.bin串口调试代码,包含对串口的读写函数,用户调用这些函数。就可以通过串口在远程计算机和本地计算机之间通信。写flash代码,包含写镜像到flash的函数。硬件监控代码。,4.2 烧写Bootloader,4.2 烧写Bootloader,在Eboot中,当所有关

10、于网络和系统的初始化工作都已经完成,并作好了下载内核镜像的准备后,DownloadImage()就开始下载内核镜像,然后执行OEMLaunch()函数,跳转到内核开始地址运行。此后内核就接管了CPU的使用权和控制权,Bootloader退出控制。,4.2 烧写Bootloader,Eboot的烧写格式sjf2410/f:eboot.nb0 Eboot应该被写入block2开发包中提供了一个批处理文件,可以将前面讲到的三个部分的烧写工作一次性完成。烧写LOGO这一部分是可以省略的,它的烧写时间较长。,4.3 运行Eboot,配置超级终端打开超级终端填入连接名填写通讯时使用的接口,我们这里选择CO

11、M1修改波特率为115200bps,数据流控制为“无”开启开发板的电源可以看到如下画面。,4.3 运行Eboot,4.3 运行Eboot,运行的Eboot界面,4.3 运行Eboot,Eboot中各个功能选项的解释为设备启动IP 及子网地址设定;2 为boot 延时的时间设定;3 选择是否设置动态IP 分配,这一级Boot 可以选择IP 分配方式;4 为重置TOC 为缺省设置,各项参数将还原为默认值;5 有两个选择,切换DOWNLOAD NEW 方式和LAUNCH EXIST 方式;6 选择是否将RAM 内的image 写入到Nand Flash 中去,如果是Disable,则系统掉电将不能被

12、保存;7 选择修改MAC 地址,推荐避开主机的MAC 地址;,4.3 运行Eboot,8 选择是否开启Kernel Debug 功能;9 为格式化整片NandFlash 为二进制文件系统,这需要大约几分钟的时间;B 选择是否支持二进制文件系统,如果选择了9,则必须支持二进制文件系统;D 下载内核镜像;R 读取TOC 中实际配置数据;F 为低级格式化NandFlash,选择这一项将擦除flash 上包括Bootloader 的所有内容;L 运行NandFlash 上已有的内核镜像。W 将当前配置好的数据写到TOC 中保存 以上这些功能解释我们将在实验中进一步向大家讲解它的用法。,4.4通过 PB

13、 下载 WinCE 内核,首先确保用可靠的PC-PC直连网线将开发机和设备连接在一起,或者将设备用可靠的 普通网线挂到局域网内。然后打开 Platform Builder 4.2,将已经编译好的 NK.bin 拖拽到 PB 中。,4.4通过 PB 下载 WinCE 内核,在PB中选择菜单中 TargetConfigure Remote Connection,弹出如下对话框,将“Download”、“Kernel”两栏都选择为“Ethernet”,点击“确定”退出。,4.4通过 PB 下载 WinCE 内核,启动实验板,按空格进入控制台,监视超级终端,配置好子网掩码和系统IP,保存选项,再选择“

14、D”选项下载新的内核,然后等待超级终端出现下面信息:Sent BOOTME to 255.255.255.255选择菜单中 TargetConfigure Remote Connection,在 Download 栏中按 Configure。按钮,出现如下对话框。,4.4通过 PB 下载 WinCE 内核,在 Available Devices 框中选择识别出的设备名,点击框中的设备,在 Selected Deveice中选中该设备,之后点“OK”确定。退出远程连接配置对话框。选择菜单中的 Target-Download/Initialize。这时会出现下载进度,如下图所示。,4.4通过 PB

15、 下载 WinCE 内核,4.4通过 PB 下载 WinCE 内核,下载时开发板上的 LED 循环闪烁,指示下载的速度。如果 LED 停止循环闪烁,则表示 下载暂停或终止。下载完毕后目标板上的WinCE系统会自动运行。,4.4通过 PB 下载 WinCE 内核,4.5建立WinCE平台与PC连接,Microsoft ActiveSync允许使用串行或USB电缆、底座或红外线在移动设备和桌面计算机之间建立合作关系。建立合作关系后,如果设备支持调制解调器或网(以太网)卡,就可以使用它们同步数据。通过ActiveSync还可以使用现有计算机连接其他资源。开发时,需要从设备复制或移动文件,或者添加或删

16、除程序,但此过程不会同步任何信息。这种情况下,ActiveSync以来宾身份工作。以来宾身份工作可以建立无信息同步的临时连接。,4.5建立WinCE平台与PC连接,在PC上安装好Microsoft ActiveSync软件。,4.5建立WinCE平台与PC连接,将专用 USB 连接线一端插入硬件平台的 USB Device 插槽中,将另一端插入 PC 上的 USB 插 槽,此时平台的液晶屏上会显示出正在连接的窗口。连接成功时,ActiveSync会弹出新建合作关系的对话框。,4.5建立WinCE平台与PC连接,可以选择“是”来建立合作关系,点击下一步进行详细的设置,这有赖于 WinCE 系统的定 制情况;也可以选择“否”,或者点击“取消”。对于我们提供的平台,如果在定制的时候加入对 ActiveSync 的支持,并且加入了文件同步的特征,当取消这个对话框以后,可以在我的电脑中看到一个 WinCE 设备的图标。,4.5建立WinCE平台与PC连接,至此,我们已经完成了 PC 与设备的连接,通过此连接,我们可以查看设备的各项属性,包 括文件,注册表,进程和线程等等,也可以连机调试应用程序。,总结,本章中的主要内容都有待于上机实验中去熟悉操作和理解。,作业,1.简述BootLoader下载原理?,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号