Bootloader设计基础.ppt





《Bootloader设计基础.ppt》由会员分享,可在线阅读,更多相关《Bootloader设计基础.ppt(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 第第10章章 Bootloader 设计基础设计基础说明:由于本课程内容较多,各学校开课的课时不同,讲授的内容也有不同,本课件本着尽可能的多的提供素材,以满足各位老师不同的需要。希望各位老师根据自己的讲授需要,对课件进行剪裁编排,以适合自己的课程要求。10.1 Bootloader 概述 nBootloader,启动引导程序,又叫引导加载程序,功能强大的Bootloader也就直接叫做板级支持包(BSP,BoardSupportPacket)或者固件(Firmware)。近年来,为了方便嵌入式产品的推广,也有些直接将Bootloader叫做BIOS。BIOS是PC机的“基本输入输出系统”,烧
2、录在电脑主板上一块专门的芯片中。一般BIOS由主板厂商或者专门的BIOS生产商提供,不是开源的,用户不能修改其中的代码进行定制。而嵌入式系统的开发则离不开Bootloader的开发,它也是整个系统开发中的难点之一。10.1.1 Bootloader 的作用 nBootloader是在嵌入式操作系统内核运行之前运行的一段小程序,也是系统开机后执行的第一段程序。通过这段小程序,可以初始化硬件设备、建立内存空间,从而将系统的软硬件环境设置成一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。Bootloader是依赖于底层硬件而实现的,因此建立一个通用的嵌入式系统Bootloader几乎是不
3、可能的。10.1.1 Bootloader 的作用 n在PC机中,主板的BIOS和位于硬盘0磁道上的主引导记录(Master Boot Record,MBR)中的引导程序(如LILO或GRUB等),两者一起的作用就相当于Bootloader在嵌入式系统中的作用,即实现整个系统的启动引导,并最终能引导操作系统的运行。10.1.1 Bootloader 的作用n在嵌入式系统中,Bootloader对嵌入式设备中的主要部件如CPU、SDRAM、FLASH、串口等进行了初始化,这样可以使用Bootloader通过串口下载各种文件到设备的SDRAM中或者烧录Flash,然后将操作系统内核读入到内存中来或
4、者直接跳转到内核的入口点,从而实现操作系统的引导。现在有些Bootloader也把对以太网的支持等功能也加进去了,这样一个功能比较强大的Bootloader实际上就已经相当于一个微型的操作系统了。10.1.1 Bootloader 的作用nBootloader从第一条指令跳转后,就开始初始化各种最重要的硬件,比如CPU的工作频率、定时器、中断、看门狗、检测RAM大小和Flash等。一般,硬件初始化的这段程序是用汇编语言编写的,其后就用C语言编写。总体上Bootloader主要完成以下工作:10.1.1 Bootloader 的作用n初始化CPU速度;n初始化内存,包括启用内存库,初始化内存配置
5、寄存器等;n初始化中断控制器,在系统启动时,关闭中断,关闭看门狗;n初始化串行端口(如果在目标上有的话);n启用指令/数据高速缓存;n设置堆栈指针;n设置参数区域并构造参数结构和标记,即引导参数;n执行POST(上电自检)来标识存在的设备并报告有何问题;10.1.1 Bootloader 的作用n为电源管理提供挂起/恢复支持;n传输操作系统内核镜像文件到目标机。也可以将操作系统内核镜像文件事先存放在Flash中,这样就不需要Bootloader和主机传输操作系统内核镜像文件,这通常是在做成产品的情况下使用。而一般在开发过程中,为了调试内核的方便,不将操作系统内核镜像文件固化在Flash中,这就
6、需要主机和目标机进行文件传输;n跳转到内核的开始,在此又分为ROM启动和RAM启动。所谓ROM启动就是用XIP技术直接在Flash中执行操作系统镜像文件;所谓RAM启动就是指把内核镜像从Flash复制到RAM中,然后再将PC指针跳转到RAM中的操作系统启动地址。10.1.1 Bootloader 的作用 在嵌入式Linux软件系统的开发中,一般将软件分为启动引导程序启动引导程序(Bootloader)、操作系统内核操作系统内核(OS Kernel)、根文件系统根文件系统(File System)、图图形窗口系统形窗口系统(GUI)和应用程序应用程序(AP)等几个部分。其中前三部分是一个可运行的
7、嵌入式系统必不可少的,它们在开发的过程中,被分别独立地编译链接或打包为一个二进制目标文件,然后下载(烧录)到嵌入式系统的ROM(一般是Flash)中。后两部分如果有的话,通常也是和根文件系统一起打包后烧录到Flash中。因此,在Bootloader阶段,也提供了对Flash设备的分区格式化的支持,其空间分配通常如图所示。10.1.2 Bootloader 的工作模式的工作模式 对于嵌入式系统的开发人员而言,Bootloader通常包含“启动加载启动加载”和“下载下载”这两种不同的工作模式。当然,这两种工作模式的区别一般仅仅对于开发人员才有意义;而对最终用户来说,Bootloader的作用就是用
8、来加载操作系统,从而启动整个嵌入式系统。10.1.2 Bootloader 的工作模式的工作模式n启动加载(Boot loading)模式 正常启动模式 n下载(Downloading)模式 提供给开发人员或者技术支持人员使用 10.1.3 Bootloader 的启动流程的启动流程 n分为stage1和stage2两个阶段 一般依赖于CPU体系结构的代码,比如设备初始化代码等,都放在stage1中,而且通常都用汇编语言来实现都用汇编语言来实现,以达到短小精悍且启动快的目的;而stage2则通常用C语言来实现,这样可以实现各种复杂的功能(比如串口、以太网接口的支持等)Bootloader的第一
9、阶段 1.硬件设备初始化2.为加载 Bootloader 的 stage2 准备 RAM 空间 3.拷贝 Bootloader的 stage2 到 RAM 空间中4.设置好堆栈 5.跳转到 stage2 的 C 入口点main()函数处Bootloader的第二阶段 1、初始化本阶段要使用到的硬件设备2、检测系统内存映射(memory map)3、将 kernel 映像和根文件系统映像从 flash 上读到 RAM 空间中4、为内核设置启动参数5、调用内核10.2 S3C2410 平台下平台下Linux的的BootloadernVivinU-BOOT10.2 S3C2410 平台下平台下Lin
10、ux的的Bootloader1.vivi1.vivi简介简介 vivi是由韩国mizi公司为ARM处理器系列设计的一个bootloader。它同样支持启动加载模式和下载工作模式。在下载模式下,vivi为用户提供一个命令行人机接口,通过这个人机接口可以使用vivi提供的一些命令。如果嵌入式系统没有键盘和显示,那么可以利用vivi中的串口,将其和宿主机连接起来,利用宿主机中的串口软件(如windows中的超级终端或者Linux中的minicom)来控制。10.2.1 vivi vivi常用的命令 Load,Part,bon,Param,Boot,Flashvivivivi文件结构文件结构 代码包括
11、代码包括archarch,initinit,liblib,driversdrivers和和includeinclude等几个目录,共等几个目录,共200200多条文件多条文件vivivivi的配置和编译的配置和编译#make distclean#make distclean。清除一些早先生成的无用的目标文件。清除一些早先生成的无用的目标文件。#make menuconfig#make menuconfig。然后可以根据菜单中的信息进行配置。然后可以根据菜单中的信息进行配置。make”make”命令开始编译命令开始编译 10.2.1 vivi10.2.1 vivi3.vivi的配置和编译的配置和
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Bootloader 设计 基础

限制150内