基于MC9328MX1的家庭智能控制终端系统中BOOTLOADER设计*
2011-11-11张正本翟海庆
张正本,翟海庆
(河南机电高等专科学校计算机科学与技术系,河南 新乡 453000)
32位的ARM处理器具有性能高、功耗低等特征,基于32位ARM处理器的嵌入式系统已深入到社会生活的各个领域。MC9328MX1是Motorola公司的产品。其中嵌入了先进的低功耗ARM920T核,运行速度可达 200MHz[1]。UCOS -II是一款源代码开放的嵌入式实时操作系统,其最大的特点是源代码开放,并具有很好的可移植性。BOOTLOADER程序与处理器的体系结构和电路板的硬件设计密切,很难设计一个完全通用的BOOTLOADER程序直接应用于所有的嵌入式系统中,因而BOOTLOADER设计是嵌入式系统设计中的一个关键问题。本文分析BOOTLOADER程序的功能和主要任务,针对一个特定的处理器MC9328MX1,设计了一个BOOTLOADER程序,并应用于家庭智能控制系统中,取得了良好的效果。
1 BOOTLOADER概述
简单地说,BOOTLOADER就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境[2]。一般情况下,BOOTLOADER程序有两种不同的操作模式,自举模式和内核启动装载模式。
自举模式的主要功能是通过串行口或网络接口把映像文件下载到嵌入式系统中,并存放在嵌入式系统的非易失性存储器,如Flash中。映像文件包括BOOTLOADER本身的映像、操作系统映像、应用程序映像等。
内核启动装载模式的主要功能是将嵌入式系统非易失性存储器(如Flash)中的映像文件装载到RAM运行。若是多阶段的 BOOTLOADER程序,需将BOOTLOADER本身的映像也装载到RAM,否则只需要将操作系统和应用程序映像装载到RAM中运行即可。……
