u-boot简介
1.Bootloader引入
能将操作系统内核复制到内核中运行,无论从本地(如Flash)还是从远端(比如通过网络),这段程序成为Bootloader
2.启动过程
1.引导加载程序
2.Linux内核
3.文件系统
4.用户应用程序
3.Bootloader的两个阶段
1.第一阶段
·硬件设备初始化
·为加载Bootloadr的第二阶段代码准备RAM空间
·复制Bootloader的第二阶段代码到RAM空间中
·设置好栈
·跳转到第二阶段代码的C入口
eg:
主要用汇编实现
·设置SVC MODE
·关看狗
·屏蔽中断
·初始化SDRAM
·设置栈
·时钟
·Flash->SDRAM
·clean BSS
·调用start_armboot //进入第二阶段
2.第二阶段
·初始化本阶段要使用大的硬件设备
·检测系统内存映射
·将内核映像和根文件系统映像从Flash上读到RAM空间中
·为内核设置启动参数
·调用内核
eg:
主要使用C语言来实现