ARM Bootloader实现详解:硬件初始化与VxWorks加载

2星 需积分: 10 2 下载量 62 浏览量 更新于2024-07-28 收藏 121KB PDF 举报
ARM Bootloader的实现是嵌入式系统开发中的关键环节,特别是在使用ARM微处理器架构时。本文主要介绍了在ARM平台上如何设计和实现Bootloader,这是一种负责引导操作系统到裸机并进行后续加载过程的关键软件组件。ARM处理器如Cirrus Logic的clps7111~Ep9312系列通常内置了128字节的Bootloader,这一特性使得在开发过程中无需提前将操作系统写入Flash,便于调试和升级。 Bootloader的主要功能包括: 1. 设置串行通信接口,如波特率、数据位、奇偶校验和停止位,以便与主机PC进行有效的数据交换。在这个例子中,它首先设置串口为9600bps的8位无校验无停止位模式。 2. 发送特定字符(如<)作为接收Bootloader的信号。 3. 接收2K字节大小的Bootloader程序,这通常是用C和汇编语言混合编程实现的,以确保高效性和低级控制。 4. 发送另一个字符(如>)作为接收结束的标志,然后执行接收到的Bootloader代码。 烧录操作系统的过程包括以下步骤: - 连接目标设备(ARM target)的串行生产口与PC的串行口,确保正确的电气配置。 - 在PC的控制台上,设置串口参数为9600bps进行数据传输。 - 使用`copy`命令将Bootloader和操作系统镜像(如VxWorks)以二进制格式通过串口发送至目标设备。 - 调整串口参数至更高速度(如115200bps),以支持后续操作系统的传输。 - 关闭并重启目标设备,使其从Flash启动,引导进入Bootloader。 - Bootloader在启动后会进行必要的硬件初始化,如内存管理、时钟配置等。 - 接收并验证操作系统映像,将其写入Flash存储器,同时显示进度信息给用户。 由于Bootloader的底层性质,它通常采用汇编语言编写,以充分利用硬件资源并提供高效的执行效率。尽管可读性较差,但在嵌入式系统开发中,这种效率和稳定性是至关重要的。通过理解Bootloader的实现原理,开发者可以更好地管理和优化整个嵌入式系统的工作流程。