×

BootLoader引导程序的详细实验资料说明

消耗积分:0 | 格式:rar | 大小:0.42 MB | 2018-12-14

分享资料个

  完整的系统由x-loader、u-boot、kernel(内核)、rootfs(根文件系统)组成,x-loader是一级引导程序,其作用是初始化CPU,拷贝u-boot到内存,然后把控制权交给u-boot。当OMAP3530上电时,memory controller(内存控制器)还未初始化,这个任务便由完成的x-loader。初始化外部RAM控制器,把u-boot读到外部RAM,之后把控制入口交给。u-boot是二级引导程序,其作用主要是引导内核,提供映像更新,同用户进行交互。系统结构图如下:

  

  1. BootLoader的作用

  在嵌入式系统中,BootLoader的作用与PC机上的BIOS类似,其主要作用:(1)初始化硬件设备;(2)建立内存空间的映射图;(3)完成内核的加载,为内核设置启动参数。通过BootLoader可以完成对系统板上的主要部件如CPU、SDRAM、Flash、串行口等进行初始化,也可以下载文件到系统板上,对Flash进行擦除与编程。当运行操作系统时,它会在操作系统内核运行之前运行,通过它,可以分配内存空间的映射,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统准备好正确的环境。

  通常,BootLoader 是依赖于硬件而实现的,特别是在嵌入式系统中。因此,在嵌入式系统里建立一个通用的 BootLoader 几乎是不可能的,不同的处理器架构都有不同的BootLoader。BootLoader不但依赖于CPU的体系结构,而且依赖于嵌入式系统板级设备的配置。对于2块不同的嵌入式板而言,即使它们使用同一种处理器,要想让运行在一块板子上的BootLoader程序也能运行在另一块板子上,一般也都需要修改BootLoader的源程序。

  正如前面所述,Boot Loader是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境,最后从别处(Flash、以太网、UART)载入内核映像并跳到入口地址。

  但是,仍然可以对 BootLoader 归纳出一些通用的概念来,以指导用户特定的 Boot Loader 设计与实现。通常,它们都能够自动从存储介质上启动,都能够引导操作系统,并且大部分都可以支持串口和以太网接口。因此,正确建立linux的移植的前提条件是具备一个与linux配套、易于使用的Bootloader,它能够正确完成硬件系统的初始化和linux的引导。

  为能够实现正确引导linux系统的运行,以及当编译完内核后,快速的下载内核和文件系统,uboot通过网口下载内核和文件系统。同时,它也具有功能较为完善的命令集,对系统的软硬件资源进行合理的配置与管理。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !