2024年6月11日发(作者:)
T3-Uboot开发笔记及SylixOS启动
1.全志T3Uboot概述
阶段:
全志SoC有一个非常具体的启动过程。首先,它执行一个微小的片上Boot
ROM(BROM),然后检查按钮的FEL模式,然后开始检查各种存储选项的有效的引
导签名在正确的位置。
上电后,SoC开始从BROM所在的地址0xffff0000获取指令。BROM分为两部
分:第一部分(0xffff0000)是FEL模式,第二部分是(位于0xffff4000)。
FEL:FEL是包含在Allwinner设备上的BootROM中的低级子例程。它用于使用USB
的设备的初始编程和恢复。
一般来说,BROM首先检查SD卡(SD/MMC)启动可用性,其次再检查NandFlash
是否可以启动,然后再检查SPINorFlash的启动可用性,如果都无法启动则进
入FEL模式。当程序初始化启动介质成功后,就从固定位置读入bootloader
的Boot0到SRAM,然后跳到SRAM执行。
ader阶段
Bootloader是全志平台上从小系统一直沿用下来的内核加载器,在这里的
主要职责是加载U-Boot到DRAM。Bootloader分为两个部分,分别是Boot0和
Boot1。Boot0:初始化DRAM,加载Boot1到DRAM;Boot1:调频,加载U-Boot
到DRAM;
为什么Bootloader要划分成Boot0和Boot1两个部分?
因为在Bootloader阶段,使用的SRAM大小是32KB,除去C运行环境需要的
栈空间,可用的空间在24KB左右,这点不足以载入整个Bootloader。因此,需
要将Bootloader划分成两个部分,尽可能将繁重的任务放在Boot1执行,这个
情况类似于Linux系统中断执行环境的上半部和下半部。
0执行过程
1的执行过程
Boot1会进行一次系统调频,将CPU的频率调到用户在sys_
target段配置的boot_clock。
1.3.u-boot阶段
概括地说,U-Boot引导内核分为两个阶段,第一阶段负责重定位U-Boot
到最高地址,第二阶段才是真正的引导内核。
1.第一阶段


发布评论