Bootloader 作用:
Stage1(初始化硬件):
1. 硬件设备初始化。为stage2的执行及随后内核的执行准备好基本的硬件环境
2. 为加载stage2 准备ram空间。为了获得更好的执行速度,通常吧stage2加载到ram中执行
3. 复制stage2的代码到ram中
4. 设置好堆栈
5. 跳转到stage2的c程序入口
Stage2(引导内核):
1. 初始化本阶段要使用的硬件设备
2. 检测系统内存映射
3. 将内核映像和根文件系统映像从flash读到ram中
4. 为内核设置启动参数
5. 调用内核
Bootloader 分为启动加载模式和下载模式
启动加载模式:及bootloader从目标机上的flash中将操作系统加载到ram中,整个过程没有用户的介入。这是bootloader正常的工作模式
下载模式:这种模式下,目标机上的bootloader将通过串口连接或网络连接等手段从主机下载文件,比如下载内核镜像和根文件系统映像等!从主机下载的文件通常首先被bootloader保存到目标机的ram中,然后再被bootloader写到falsh中去
2440开发板启动流程:
1. 上电时,2440把NAND的前4k内容复制到片内内存并执行
2. 这部分代码主要完成以下任务
a. 设置时钟
b. 初始化SDRAM
c. 读NAND到SDRAM
问:把u-boot读到SDRAM哪里去?
答:连接地址。