BootLoader学习

来源:互联网 发布:pr软件在那里下载 编辑:程序博客网 时间:2024/06/15 15:27

BootLoader概述:

(1)描述:操作系统内核运行前运行地一段小程序。初始化硬件、建立内存空间映射图,为OS的运行准备好正确的环境。

(2)功能:引导系统、加载操作系统

         生命周期:初始化硬件——设置启动参数——跳到Linux内核的首地址——消亡

(3)操作模式:

                           1:启动加载模式:又叫自主模式,BootLoader将预先存储在永久固态介质上的OS镜像加载到RAM中运行。

                            2:下载模式:目标机通过串口、网口或者USB从主机端下载镜像到目标机端点RAM中,然后再被BootLoader写到目标机上的Flash类固态存储设备中。

  BootLoader架构设计(以2440为例,具体6410、210有所不同)

第一阶段:          

 1.1  核心初始化:1.1.1 设置中断向量表 1.1.2 设置处理器为svc模式  1.1.3关闭看门狗  1.1.4 关闭所有中断  1.1.5关闭mmu和cache

 1.2 C语言编程环境设置  1.2.1 设置堆栈  1.2.2 消除bss段

 1.3 LED初始化

 1.4 初始化系统时钟

 1.5 进行内存初始化

 1.6 复制nand flash 中的bl到内存中   1.6.1 简单初始化 nand flash  1.6.2 复制代码到内存  1.6.3 跳转到第2阶段入口 

第二阶段:

 2.1 mmu初始化

 2.2 中断初始化  2.2.1 中断初始化  2.2.2 按键初始化

 2.3 初始化串口  2.3.1 串口初始化  2.3.2移植printf函数

 2.4 网卡初始化  

 2.5 LCD初始化 2.5.1触摸板的初始化 2.5.2 LCD初始化

 2.6 解析执行用户命令 2.6.1 移植tftp命令 2.6.2 移植bootm命令

原创粉丝点击