BootLoader程序框架
Bootloader程序一般分为两个阶段
(一)Bootloader的第一阶段(汇编)
a) SVC模式
b) 关闭cache和MMU
c) 初始化系统时钟
d) 初始化内存
e) 初始化TZPC
f) 拷贝u-boot到内存
g) 设置SP
h) 调到C函数board_init_f()
(二)Bootloader的第二阶段(C语言)
初始化本阶段要使用到的硬件设备;
等待一小段时间;
▶ 没有用户输入,则启动linux内核;
▶ 有用户输入,进入一个死循环;
▶接收用户的输入;
▶执行相应的操作;
▶启动内核的过程:
▶ 为内核设置启动参数;▶ 将内核从 flash/SD 卡 /EMMC 拷贝到 SDRAM 中;▶ 调用内核。