实验板子:飞凌FET335xD
uboot版本:2011.09
linux内核版本:linux3.2
cpu:Ti的3354
操作系统:linux3.2
文件系统:ubi
Uboot启动流程
理清 uboot 是如何启动的。通过对 uboot 启动流程的梳理,我们就可以掌握一些外设是在哪里被初始化的,这样当我们需要修改这些外设驱动的时候就会心里有数
以335xd所使用的uboot为例,使用的uboot版本为2011-09
从./ok335x/u-boot.lds可以知道,程序入口为_start
入口函数_start定义的文件路径为:./arch/arm/cpu/armv7/start.S
_start函数第一步是reset复位,之后会初始化异常向量表
而reset会依次执行下面的函数
save_boot_params 设置cpuSVC32模式
save_boot_params函数位于arch/arm/cpu/armv7/ti81xx/lowlevel_init.S