嵌入式系统引导技术研究
嵌入式系统应用开发不同于PC机,其开发过程同时涉及软硬件,需要将硬件平台的设计、操作系统以及上层应用开发综合考虑;而PC机应用开发建立在已经定制好的硬件和操作系统平台上,开发者只需调用系统提供的接口和服务完成相应的功能。由于应用和成本约束,嵌入式系统的硬件平台需根据应用量身定制,通常所用的MPU、存储器、外围设备等有多种选择余地,而且软件调试技术特殊,使平台的引导设计变得十分复杂。因此,对于嵌入式系统开发者而言,有必要深入分析系统引导过程,将软硬件开发有效地综合,即针对不同的硬件平台和软件运行模式,正确地进行底层上电初始化,进而引导操作系统执行。这个问题的核心在于对系统的引导模式的研究。
嵌入式系统的启动代码一般由两部分构成:引导代码和操作系统执行环境的初始化代码。其中引导代码一般也由两部分构成:第一部分是板级、片级初始化代码,主要功能是通过设置寄存器初始化硬件的工作方式,如设置时钟、中断控制寄存器等,完成内存映射、初始化MMU等;第二部分是装载程序,其功能是将操作系统和应用程序的映像从只读存储器装载或者拷贝到系统的RAM中,并跳转到相应的代码处继续执行。操作系统执行环境
的初始化代码主要由硬件抽象层HAL代码、设备驱动程序初始化代码和操作系统执行体初始代码三部分构成。
本文以摩托罗拉MPC860处理器和具有自主知识产权的操作系统CRTOSII为例,研究嵌入式系统引导程序的设计和实现技术。嵌入式软件的开发涉及调试模式和固化模式两种运行状态。调试模式主要解决如何在目标板上调试正确性未经验证的程序的问题;而固化模式主要解决如何引导已调试成功的程序的问题。相应地,引导代码的设计应针对两种模式分别进行。
1 调试模式的系统引导
1.1 调试模式引导代码的作用
一个完整的嵌入式软件的解决方案大致包括四方面:①硬件平台配置初始化和系统引导代码;②操作系统软件执行环境的初始化代码;③操作系统;④应用程序。
在上述四方面中,引导代码是本研究中力求解决的问题。事实上,板级初始化、操作系统硬件抽象层、设备驱动程序三者整合到一起,就构成了嵌入式系统中BSP(板级支持包)的主体。BSP的代码与具体的目标板硬件设计相关,同时也与应用程序的设计要求相关,针对应用程序提出的不同要求,例如不同设备驱动程序、不同的中断源个数、不同的中断优先级安排、是否启用MMU机制等,BSP部分应作出相应的安排。上述第四部分的应用程序是建立在前三部分正确运行的基础上,并需反复调试。
相关文章
- 2024-03-08压力表校准中测量不确定度实例评定的探讨
- 2023-11-28轻薄型回收金属破碎试验机的设计研究
- 2023-08-09微机控制电子万能试验机在《材料力学》开放性实验中的应用
- 2024-11-21IC卡门禁系统中的无线通信加密技术
- 2023-03-21基于单总线温度传感器的多点测温系统设计
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。