ARM学习笔记012之mini2440上电的启动和初始化程序分析(即Bootloader分析)
来源:互联网 发布:四级英语网络培训机构 编辑:程序博客网 时间:2024/05/17 04:09
嵌入式系统中的boot Loader 的实现完全依赖于CPU 的体系结构,因此大多数Boot
Loader 都分为第一阶段和第二阶段两大部分,依赖于CPU 体系结构的代码,比如设备初始
化代码等,通常都放在阶段1 中,而且通常都用汇编语言来实现,以达到短小精悍的目的。
而阶段2 则通常用C 语言来实现,这样可以实现一些复杂的功能,而且代码会具有更好的
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
- ARM学习笔记012之mini2440上电的启动和初始化程序分析(即Bootloader分析)
- 启动程序BootLoader的分析
- Bootloader初始化启动过程分析
- ARM的启动方式和bootloader解析(上)
- mini2440启动代码分析之第一篇(注意名字,不是bootloader)
- mini2440启动代码分析之第七篇(ResetHandler和存储控制寄存器初始化)
- 基于ARM的嵌入式系统Bootloader启动流程分析(S3C44B0X)
- 基于ARM的嵌入式系统Bootloader启动流程分析----- 转!!
- 基于ARM的嵌入式系统Bootloader启动流程分析
- ARM Bootloader启动寻址问题分析
- 有关嵌入式bootloader和上电启动过程的网页
- Bootloader初始化启动过程分析【转】
- ARM上电启动及Uboot代码分析
- mini2440启动代码分析之第四篇(入口程序分析)
- mini2440启动代码分析之第四篇(入口程序分析)
- arm-linux内核start_kernel之前启动分析(1)-接过bootloader的衣钵
- arm-linux内核start_kernel之前启动分析(1)-接过bootloader的衣钵
- ARM芯片的启动程序的分析和总结(csdn)
- Linux shell脚本全面学习
- linux比较全3
- linux比较4
- SparseArray
- Linux操作系统下三种配置环境变量的方法
- ARM学习笔记012之mini2440上电的启动和初始化程序分析(即Bootloader分析)
- 如何在Wildfly上搭建Ibm mq的消息队列
- oracle 坏块处理脚本
- /etc/profile环境变量配置解析
- java工具代码
- Windows下,Nginx的安装和配置
- linux5比较全
- 学习WMI的心得
- hadoop2.2安装配置