最新嵌入式系统的bootloaderPPT课件.ppt
《最新嵌入式系统的bootloaderPPT课件.ppt》由会员分享,可在线阅读,更多相关《最新嵌入式系统的bootloaderPPT课件.ppt(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、嵌入式系统的bootloaderBootLoader所支持的CPU和嵌入式板每种不同的CPU体系结构都有不同的BootLoader。有些BootLoader也支持多种体系结构的CPU,比如U-Boot就同时支持ARM体系结构和MIPS体系结构。除了依赖于CPU的体系结构外,BootLoader实际上也依赖于具体的嵌入式板级设备的配置。这也就是说,对于两块不同的嵌入式板而言,即使它们是基于同一种CPU而构建的,要想让运行在一块板子上的BootLoader程序也能运行在另一块板子上,通常也都需要修改BootLoader的源程序。BootLoader的主要任务与典型结构框架假定内核映像与根文件系统映
2、像都被加载到RAM中运行。之所以提出这样一个假设前提是因为,在嵌入式系统中内核映像与根文件系统映像也可以直接在ROM或Flash这样的固态存储设备中直接运行。但这种做法无疑是以运行速度的牺牲为代价的。从操作系统的角度看,BootLoader的总目标就是正确地调用内核来执行。由于BootLoader的实现依赖于CPU的体系结构,因此大多数BootLoader都分为stage1和stage2两大部分。依赖于CPU体系结构的代码,比如设备初始化代码等,通常都放在stage1中,而且通常都用汇编语言来实现,以达到短小精悍的目的。而stage2则通常用C语言来实现,这样可以实现给复杂的功能,而且代码会具
3、有更好的可读性和可移植性。BootLoader的stage1通常包括以下步骤(以执行的先后顺序):硬件设备初始化。为加载BootLoader的stage2准备RAM空间。拷贝BootLoader的stage2到RAM空间中。设置好堆栈。跳转到stage2的C入口点。BootLoader的stage2通常包括以下步骤(以执行的先后顺序):初始化本阶段要使用到的硬件设备。检测系统内存映射(memorymap)。将kernel映像和根文件系统映像从flash上读到RAM空间中。为内核设置启动参数。调用内核。BootLoader的stage1这是BootLoader一开始就执行的操作,其目的是为sta
4、ge2的执行以及随后的kernel的执行准备好一些基本的硬件环境。它通常包括以下步骤(以执行的先后顺序):1屏蔽所有的中断。为中断提供服务通常是OS设备驱动程序的责任,因此在BootLoader的执行全过程中可以不必响应任何中断。中断屏蔽可以通过写CPU的中断屏蔽寄存器或状态寄存器(比如ARM的CPSR寄存器)来完成。2设置CPU的速度和时钟频率。3RAM初始化。包括正确地设置系统的内存控制器的功能寄存器以及各内存库控制寄存器等。4初始化LED。典型地,通过GPIO来驱动LED,其目的是表明系统的状态是OK还是Error。如果板子上没有LED,那么也可以通过初始化UART向串口打印BootLo
5、ader的Logo字符信息来完成这一点。5关闭CPU内部指令数据cache。第二的boot loader,可以更加形象得被称为内核加载程序。这个阶段的任务就是加载linux内核,以及可选的初始化内存盘。简单说一下bootloader的移植首先修改makefile里的交叉编译器 设定交叉编译器的路径,对于arm的bootloader选用arm-linux-gcc,运行环境是在linux下主要修改的文件有include/configs/2410.h-配置文件,大部分参数是这里配置的.board/wx/wx20/lowlevel_init.S-内存参数配置 cpu/s3c44b0/serial.c-
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 嵌入式 系统 bootloaderPPT 课件
限制150内