在线时间7 小时
UID3265153
注册时间2016-4-24
NXP金币0
该用户从未签到
注册会员

- 积分
- 77
- 最后登录
- 2016-8-3
|
最近公司做了个板子,uboot的问题,通过添加调试信息。我发现函数卡在了/lib_arm/board.c 的env_relocate函数上了。里面选择执行的是env_relocate_spec()函数。百度了一下,发现这个函数的作用是去重新装载你之前存储的环境变量。 现在就是没明白这个之前存储的环境变量是在什么时候设置的。 因为我现在觉得可能去读取环境变量的时候没有读到,所以卡那了。
继续追踪,在read_dataflash()前面加调试信息,发现根本没有打印出来。是不是什么原因导致了这个函数根本没有执行。
硬件工程师说这一板比上一板多加了个emmc,但是启动的时候设置的好像还是sd卡启动。这个有没有影响。
现在串口调试信息启动到MMC: FSL_USDHC: 0,FSL_USDHC: 1,FSL_USDHC: 2,FSL_USDHC: 3后面就没有了。
所以我现在想知道:1.env_relocate_spec()函数,装载之前存储的环境变量,这个环境变量是在什么时候存储的。
2.这种现象出现可能的原因是什么呢?有没有人遇到过类似的情况。
ps:公司底层跳槽了,我是应用层软工,对底层有一些东西了解的不是很透,源码可以大致看懂。求大神指点一下。
|
|