ARM学习笔记012之mini2440上电的启动和初始化程序分析(即Bootloader分析)

来源:互联网 发布:四级英语网络培训机构 编辑:程序博客网 时间:2024/05/17 04:09
嵌入式系统中的boot Loader 的实现完全依赖于CPU 的体系结构,因此大多数Boot
Loader 都分为第一阶段和第二阶段两大部分,依赖于CPU 体系结构的代码,比如设备初始
化代码等,通常都放在阶段1 中,而且通常都用汇编语言来实现,以达到短小精悍的目的。
而阶段2 则通常用C 语言来实现,这样可以实现一些复杂的功能,而且代码会具有更好的

可读性和可移植性。

第一阶段包括:

(1)硬件设备的初始化

①初始化GPIO 功能

②设置CPU的速度和时钟频率

③存储控制单元初始化

(2)拷贝Bootloader的程序到RAM空间中

(3)设置好堆栈

(4)跳转到阶段2的C人口地址


第二阶段包括:

(1)初始化本阶段要使用到的硬件设备;

①初始化至少一个串口

②初始化计时器(定时器)

③初始化网络传输等

(2)系统内存映射(memory map);

(3)将kernel 映像和根文件系统映像从Flash 读到RAM 空间中;

即加载内核映象和根文件系统映象

(4)为内核设置启动参数;

(5)调用内核。


详见我的360网盘文件《实验三 Bootloader实验》pdf

原创粉丝点击