start.S解析3

1、

(1)CFG_PHY_UBOOT_BASE          33e00000            uboot在DDR中的物理地址 

(2)其实ARM CPU在复位时默认就会进入SVC模式,但是这里还是使用软件将其设置为SVC模式。整个uboot工作是CPU一直处于SVC模式。

2、设置L2、L1cache和MMU

(1)bl        disable_L2cache       //禁止L2  cache

(2)bl        set_L2cache_auxctrl_cycle                             // L2 cache相关初始化

(3)bl        enable_L2cache                                              //使能L2 cache

(4)刷新L1 cache的icache和dcache

(5)关闭MMU

总结:上面这5步都是和CPU的cache和mmu有关的,不用去细看,大概知道就可以。

3、识别并暂存启动介质选择

(1)从哪里启动是SoC的OM5:OM0这6个引脚的高低电平决定的。

(2)实际上在210内部有一个寄存器(地址是0xE0000004),这个寄存器中的值是硬件根据OM引脚的设置而自动设置值的。这个值反映的就是OM引脚的接法(电平高低),也就是真正的启动介质是谁。

(3)我们代码中可以通过读取这个寄存器的值的。

猜你喜欢

转载自blog.csdn.net/weixin_40405692/article/details/84831431
今日推荐