ARM Bootloader 实现与功能解析

需积分: 10 0 下载量 161 浏览量 更新于2024-07-30 收藏 121KB PDF 举报
"这篇文档详细介绍了ARM架构下Bootloader的实现过程,特别是针对Cirrus Logic的clps7111~Ep9312系列ARM核心CPU的内置128字节Bootloader功能和烧录操作系统的步骤。Bootloader的主要任务包括设置串行口参数、接收操作系统程序并执行。在实际操作中,需要通过串行口连接ARM目标板与PC,然后通过特定的命令和波特率传输Bootloader和操作系统镜像。" 在嵌入式系统中,Bootloader扮演着至关重要的角色,它是系统启动的第一部分代码,负责初始化硬件环境,如内存控制器、时钟、串行端口等,并为加载操作系统做好准备。在本文档中提到的ARMBootloader,它的功能相对简单但实用,主要包括: 1. **设置串行口参数**:Bootloader会将串行口配置为9600波特率,8位数据,无奇偶校验,无流量控制,这是标准的通信设置,便于后续的数据传输。 2. **发送标识字符**:发送特定的字符信号,例如 `<`,以告知用户或主机系统Bootloader已经准备好接收数据。 3. **接收操作系统程序**:Bootloader接收通过串行口传来的2K字节程序,这通常是操作系统的部分或全部。 4. **发送确认字符**:在接收完成后,发送`>`字符,表明接收成功,准备执行。 5. **执行接收到的程序**:Bootloader跳转到接收到的2K字节程序的入口点,执行操作系统。 烧写操作系统的流程涉及以下步骤: 1. **物理连接**:连接ARM目标板的串行口与PC的串行口,确保RX与TX、GND的对应。 2. **引导Bootloader**:通过串行口启动ARM目标板。 3. **配置串行口参数**:在Windows NT 4.0的控制台中,首先设置串行口为9600波特率进行Bootloader的传输,然后调整为115200波特率用于传输VxWorks操作系统镜像。 4. **传输Bootloader**:使用`copy /b`命令将Bootloader二进制文件发送到串行口。 5. **传输VxWorks镜像**:同样使用`copy /b`命令将VxWorks操作系统镜像发送到串行口。 6. **设置启动源**:断电并重新配置ARM目标板,使其从Flash启动。 7. **重启系统**:重新启动后,系统将进入由Bootloader加载的VxWorks操作系统。 虽然Bootloader通常用汇编语言编写以保证效率,但文档中提到Bootloader也可以采用C和汇编混合编程的方式,提高代码的可读性和可维护性。这种混合编程方法允许开发者利用C语言的高级抽象和便利性,同时在性能关键的部分使用汇编进行优化。 Bootloader的实现和烧录过程对于理解嵌入式系统启动流程至关重要,它为后续操作系统的部署和更新提供了基础。在ARM平台上,Bootloader的定制和优化可以极大地影响系统的启动速度和可靠性。