基于ARM9的WinCE5.0 Bootloader设计与实现

需积分: 0 5 下载量 2 浏览量 更新于2024-12-23 收藏 354KB PDF 举报
"这篇文章主要探讨了在基于ARM9架构的系统上设计和实现WinCE 5.0 Bootloader的方法,特别是在触摸屏控制器的背景下。作者张飞、白瑞林和陆林来自江南大学智能控制研究所,他们利用AT91SAM9261处理器,详细阐述了Bootloader的启动代码和主代码的开发过程,以及硬件初始化的关键步骤。测试证明,这个Bootloader成功实现了设计目标,并已在实际的触摸屏控制器中应用。" 在嵌入式系统中,Bootloader是操作系统加载前运行的第一段程序,负责初始化硬件环境,如CPU、内存、外设等,并为操作系统的加载和运行提供适当的环境。WinCE 5.0是一个面向嵌入式设备的操作系统,尤其适用于手持设备和工业控制系统。 在WinCE 5.0 Bootloader的设计中,首先需要理解Bootloader的基本结构。它通常分为两个阶段:第一阶段(Stage1)通常由汇编语言编写,负责最小化地初始化系统,如设置堆栈指针,初始化RAM,以及加载第二阶段的Bootloader到内存中。第二阶段(Stage2)则可以是汇编或C语言编写,执行更复杂的任务,如设备检测、文件系统初始化,以及加载操作系统映像。 针对触摸屏控制器,Bootloader还需要特别关注对触摸屏硬件的支持。这包括触摸屏控制器的初始化,确保其正常工作以便于用户交互。AT91SAM9261是一款高性能的ARM9微处理器,适用于这类应用,因为它集成了丰富的外设接口,如USB、以太网、SPI、I2C等,便于与各种外围设备通信。 文章中提到的Bootloader开发过程涵盖了以下关键步骤: 1. **硬件初始化**:设置处理器时钟,配置中断控制器,初始化内存控制器,以及连接和配置其他必要的外设。 2. **加载WinCE映像**:Bootloader需要找到存储WinCE映像的位置,如Nor Flash或SD卡,并将其加载到内存的适当位置。 3. **设置系统状态**:调整CPU寄存器,设置堆栈,准备操作系统启动所需的环境。 4. **跳转到操作系统**:一旦所有准备工作完成,Bootloader将控制权传递给WinCE操作系统,使OS能够接管系统。 测试结果表明,该Bootloader设计成功满足了设计目标,能够在触摸屏控制器上稳定运行,表明这种设计方法是可行且可靠的。对于那些需要在基于ARM9和WinCE 5.0的平台上开发嵌入式系统的人来说,这样的设计和实现过程具有很高的参考价值。