官方标准uboot2013移植2

https://i-blog.csdnimg.cn/blog_migrate/7b956232cdfaeaceb95274d9a10b8d32.png

1.start.S流程分析

1)#define CONFIG_SYS_TEXT_BASE            0x34800000  可以看出我们的uboot的连接地址是在0x34800000位置。

2)save_boot_params是个空函数,里面直接返回的。

3)cpu_init_cp15这个函数功能是设置MMU、cache等。这个版本的uboot中未使用虚拟地址,因此MMU在这里直接关掉。

4)cpu_init_crit,这个函数里只有一句跳转指令,短跳转到lowlevel_init函数。

注意:uboot中有2个lowlevel_init.S文件(文件中还都有lowlevel_init函数),凭一般分析无法断定2个中哪个才是我们想要的。通过分析两个文件所在文件夹下面的Makefile可以判定board/samsung/goni目录下的才是真正包含进来的,arch/arm/cpu/armv7目录下的并没有被包含进来。

还可以通过实践验证的方法来辅助判断。通过查看之前已经编译过的uboot源码目录,看哪个被编程为.o文件了,就知道哪个是真正被使用的了。

5)lowlevel_init函数在board/samsung/goni目录下,主要作用是时钟设置、串口设置、复位状态判断•••这个函数是S5PC100和S5PC110两个CPU共用的。

6)经过浏览,发现lowlevel_init函数中做的有意义的事情有:关看门狗、调用uart_asm_init来初始化串口、并没有做时钟初始化(下面有时钟初始化的函数,但是实际没调用。如果uboot中没有初始化时钟,那么时钟就是iROM中初始化的那种配置)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值