孙立新
(中国民用航空飞行学院 空中交通管理学院,四川 广汉 618307)
在嵌入式系统的使用过程中,或者在软件开发过程中,系统软件可能经常被损坏。开发人员需要能方便地把嵌入式操作系统、文件系统和用户应用程序下载到特定的硬件平台。目前,通常的做法有:
1)使用专用的仿真器。由于不同的硬件平台都需要不同的仿真器,比如ARM,MIPS等,所以这种方法不仅昂贵,而且也不通用方便。
2)在Bootloader中增加下载的功能。当采用嵌入式Linux、Windows CE等较为复杂的操作系统时,一般需要设计一个独立的Bootloader程序,对系统进行初始化并引导嵌入式操作系统。但由于不同硬件平台的差异,会造成软件开发和移植困难,如果还要实现从U盘或者SD卡上更新目标文件,难度就更大。
所以,笔者针对这两种方法的不便,提出了一种通用的更新机制——基于Bootloader的双系统更新机制。该更新机制是指在嵌入式系统中包含了两个操作系统的映像,一个用于正常工作,而另一个用作软件更新或者存储器分区管理等。
嵌入式软件平台由以下几部分组成:Bootloader、嵌入式操作系统内核(kernel)和文件系统(file system)。其中文件系统是嵌入式系统软件平台占用存储量最大的一部分,也是与用户开发最相关的一部分。它存储了系统配置文件、系统程序、用户应用程序等。文件系统包括根文件系统映像(例如ramdisk.image.Gz)以及其他类型的文件系统(例如jffs2、cramfs等)[1-2],如图1所示。

Bootloader是嵌入式软件中研究较多的领域。
1)Bootloader的开发……p>