解析单片机上应用的一款Boot Loader

http://tech.ddvip.com   2008年08月20日    社区交流

内容摘要:在以ARM为代表的嵌入式系统中,操作系统内核运行前的硬件初始化、建立内核镜像等都是由Boot Loader来完成的。在PC机上,最先启动的是主板上的BIOS,BIOS负责对硬件初始化,给操作系统提供硬件的接口函数等等,但在嵌入式操作系统中并没有BIOS,因此整个嵌入式操作系统的加载启动任务就完全由Boot Loader来完成

  BootLoader概述

  BootLoader的概念及功能

  在以ARM为代表的嵌入式系统中,操作系统内核运行前的硬件初始化、建立内核镜像等都是由BootLoader来完成的。在PC机上,最先启动的是主板上的BIOS,BIOS负责对硬件初始化,给操作系统提供硬件的接口函数等等,但在嵌入式操作系统中并没有BIOS,因此整个嵌入式操作系统的加载启动任务就完全由BootLoader来完成。

解析单片机上应用的一款Boot Loader

  图1 BootLoader流程图

  BootLoader通常存放于目标平台的非易失存储介质中,主要用于完成由硬件启动到操作系统启动的过渡,能够在上电后对SDRAM、CACHE、FLASH等硬件部分进行检测,建立内存空间的映射图和内核镜像,建立通讯通道和调试通道等,还能够提供ShellMenu检测设置菜单和相应的检测程序,引导操作系统及应用程序,从而为最终调用操作系统内核准备好正确的环境。

  目前,嵌入式系统中广泛应用的UBoot、vivi、blob、armboot等BootLoader在原有功能的基础上,增加了更多的功能并大大增强了移植性。嵌入式系统中硬件的种类繁多,差距较大,而BootLoader是严重依赖于硬件而实现的。不同的CPU体系需要不同的BootLoader,即便是同一种体系结构,由于其它硬件设备配置的不同,如板卡硬件地址的分配、RAM芯片的型号等,也需要对BootLoader作一定的修改才能使用。因此,开发人员需针对不同的处理器和开发板,对BootLoader进行定制,来实现不同的功能。

  BootLoader的操作模式

  BootLoader通常包括“启动加载(Bootloading)”和“下载(Downloading)”两种模式。这两种操作模式仅对开发人员具有一定的意义。

作者:李娜 许童羽 李征明    责编:豆豆技术应用

正在加载评论...