学习u-boot笔记
uboot可以理解为一个比较复制的单片机程序
打补丁:patch -p? <补丁文件 ?为数字,表示忽略第?个参数前的所有参数
例:patch -p1 <../u-boot-1.1.6_jz2440.patch
配置:make 100ask24xo_config
编译u-boot: make
u-boot最终的目的:启动内核
1、从flash读出内核,放到SDRAM
2、启动内核
u-boot启动第一阶段(硬件相关初始化):
1、设SVC模式
2、关看门狗
3、屏蔽中断
4、初始化SDRAM
5、设置栈
6、设置时钟
7、代码从flash读到SDRAM
8、清bss段
9、跳转到c代码程序
u-boot启动第二阶段:
一些相关外设的初始化
一些命令的实现
书本学习
Bootloader就是操作系统内核运行之前的一段小程序。通过这段小程序,可以
初始化硬件设备,建立内存空间的映射图,从而将系统的软硬件环境带到一个
合适的状态,以便为最终调用操作系统内核准备好正确的环境。
Bootloader操作模式:
启动模式和下载模式
固态存储设备的典型空间分配结构:
BootLoader、内核的启动参数、内核映像、文件系统
BootLoader启动过程:
BootLoader的stage1的步骤:
1、硬件设备初始化
2、为加载BootLoader的stage2准备RAM空间
3、复制BootLoader的stage2到RAM空间
4、设置堆栈
5、跳转到stage2的C入口点
Bootloader的stage2的步骤:
1、初始化本阶段用到的硬件设备
2、检测系统内存映射
3、将kernel映像和根文件系统映像从flash上读到RAM空间中
4、为内核设置启动参数
5、调用内核
U-Boot (UniversalBootLoader),是遵循GPL条款的开放源码项目。
U-Boot可支持的主要功能:
1、系统引导:支持文件系统的挂在、引导系统内核
2、基本辅助功能:强大的操作系统接口功能;...
3、设备驱动:支持丰富的驱动
4、上电自检功能:SDRAM和flash大小自检、SDRAM故障自检、CPU型号
5、特殊功能:XIP内核引导