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

本文详细介绍了嵌入式系统中BootLoader的设计与实现过程。它分为两个阶段:第一阶段涉及硬件初始化、BootLoader程序拷贝到RAM等操作,常用汇编语言实现;第二阶段则包含更多复杂的任务如硬件设备初始化、内存映射、加载内核映象等,通常使用C语言编写。
摘要由CSDN通过智能技术生成
嵌入式系统中的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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汉尼拔勇闯天涯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值