Bootloader简介

先来简单了解下嵌入式系统构建

一 嵌入式系统(软件)

1 引导加载程序:包括固话在固件(firmware)中的boot程序(可选),和Bootloader
两大部分
2 linux内核:特定于嵌入式平台的定制内核
3 文件系统:包括了系统命令和应用程序

二 Bootloader

一个同时装有Bootloader,内核的启动参数,内核映像,和根文件系统映像的固态
存储设备的典型空间分配结构图

嵌入式系统复位后从地质0x00000000起开始执行,并且将固态存储设备(Flash)安排  (见最下图)
在这个地址上。

移植:
CPU体系结构
嵌入式板级

流程:
stage1:
1 硬件设备初始化(Cpu内部寄存器)
2 为加载Bootloader的stage2准备RAM空间
3 拷贝Bootloader的stage2到RAM空间中
4 设置还堆栈
5 跳转到stage2的C入口点

(C语言程序运行之前,一定要用汇编设置好C程序执行的环境)

stage2:
1 初始化本阶段要使用的硬件设备
2 将内核映像和根文件系统映像从flash上读到RAM中
3 调用内核

内存分布:

 

/*************************/

Author: Daniel.G

QQ: 448146607

邮件: guodaijing.hhr@gmail.com

/*************************/

posted on 2012-10-12 13:55  Daniel.G  阅读(265)  评论(0编辑  收藏  举报