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
/*************************/