新闻中心

EEPW首页>嵌入式系统>设计应用> 基于ARM的嵌入式BootLoader设计与启动过程

基于ARM的嵌入式BootLoader设计与启动过程

作者: 时间:2012-05-21 来源:网络 收藏

3.5 呼叫主程序

当系统初始化完成后,就要转入主程序,可由跳转指令来完成。这部分代码为C程序,主要负责内核拷贝、 Ramdisk文件系统加载、设置启动参数和串口通信等功能.程序最终完成内核压缩文件和Ramdisk到RAM的拷贝,后跳转到RAM中Linux Kernel的首地址,并交出控制权,到此Bootloader的任务完成。其中在RAM中的空间分配为0x0c000000

-0x0c008000(内核调度用),0x0c008000-0x0c300000(uCLinux Kernel),0x0c300000

-0x0c800000(uCLinux Ramdisk)。以下程序为uCLinux内核和Ramdisk文件系统拷贝过程,FLASH_UC_KERNEL,FLASH_UC_RAMDISK分别为内核和文件系统在Flash的起始地址,RAM_UC

_ZIMAGE,RAM_UC_RAMDISK分别为RAM中uCLinux内核和文件系统的起始地址,FLASH_LEN_UC_

KERNEL,FLASH_LEN_UC_RAMDISK分别为两者大小,拷贝完后,PC指针指向RAM_UC_ZIMAGE。程序主要部分如下:

/* Copy uClinux Kernel */

pSource = (unsigned int *)FLASH_UC_KERNEL;

pDest = (unsigned int *)RAM_UC_ZIMAGE;

for (loopcnt = 0;loopcnt (FLASH_LEN_UC_KERNEL>>2);loopcnt++)

{ *pDest++ = *pSource ++; }

/* Copy ramdisk */

pSource = (unsigned int *)FLASH_UC_RAMDISK;

pDest = (unsigned int *)RAM_UC_RAMDISK;

for (loopcnt = 0;loopcnt (FLASH_LEN_UC_RAMDISK>>2); loopcnt++)

{ *pDest++ = *pSource ++; }

/* Start Kernel */

fp = (UClinux_Entry)RAM_UC_ZIMAGE;

(*fp)(0);

4 uCLinux操作系统启动过程

本系统采用RAM中启动方式,将Flash中的内核先拷贝到RAM的某一段地址区间,再从该区间的首地址运行 uCLinux内核。当Bootloader完成系统初始化和拷贝完内核和Ramdisk以后,交出控制权,系统开始从RAM中执行uCLinux内核的引导程序Head.s,并将控制权交给它。在uCLinux中,Head.s在uCLinux-dist/linux-2.4.x/arch /armnommu/boot/compressed/head.s

里。Head.s非常关键,它完成了加载内核的大部分工作,主要是调用Misc.c中的解压内核函数 (decompress_kernel)来完成,另外内核的加载还必须知道系统必要的硬件信息,该硬件信息在hardware.h中并被Head.s所引用。最后跳转到调用内核函数(call_kernel),将控制权交给解压后的uCLinux系统[4]。系统启动后将加载Ramdisk文件系统,进入用户shell程序。
5 结束语

本系统采用Bootloader完成操作系统内核和文件系统拷贝到RAM的设计方法,提高了系统的实时性。目前,启动代码已经正常引导uCLinux操作系统,并实现了对轮式移动机器人驱动系统的控制,该嵌入式系统运行稳定,完全实现了设计目的。由于所选处理器的关系,本文的Bootloader是不支持Remap芯片的,但启动装载程序的原理都一样,只要稍作修改就可用于支持Remap和MMU的芯片,而且对于其他操作系统同样适用。

参考文献

1 严国清,熊建设.中BootLoader的实现.[J].数据采集与嵌入式系统.2004,(6):40-43

2 姜京梅,郭树旭.ARM7启动代码设计方法与流程.[J].微计算机信息,2004,(20):78-79

3 费浙平.基于ARM的嵌入式系统开发—系统的初始化过程.[J].单片机与嵌入式系统应用,2003.9,80-83

4 黄克彬,叶梧,冯穗力.基于ARM+uCLinux嵌入式系统启动引导的实现.[J].电子技术应用. http://

www.cvtech.com.cn/tech_detail.asp?newsid=223


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭