查看: 3713|回复: 3

[求助] uboot启动到board.c的env_relocate()的时候卡住了

[复制链接]

该用户从未签到

7

主题

17

帖子

0

注册会员

Rank: 2

积分
77
最后登录
2016-8-3
发表于 2016-4-25 19:30:39 | 显示全部楼层 |阅读模式
最近公司做了个板子,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:公司底层跳槽了,我是应用层软工,对底层有一些东西了解的不是很透,源码可以大致看懂。求大神指点一下。


我知道答案 目前已有3人回答
回复

使用道具 举报

该用户从未签到

7

主题

17

帖子

0

注册会员

Rank: 2

积分
77
最后登录
2016-8-3
 楼主| 发表于 2016-4-25 19:34:21 | 显示全部楼层
还有,emmc型号好像跟官方i.mx6q  emmc型号不太一样,这个有没有影响
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

38

帖子

0

注册会员

Rank: 2

积分
145
最后登录
2016-5-4
发表于 2016-4-26 15:48:38 | 显示全部楼层
环境变量没有设置,你可以先在烧写的时候进入uboot命令,看mmc命令能不能执行
回复 支持 反对

使用道具 举报

该用户从未签到

7

主题

17

帖子

0

注册会员

Rank: 2

积分
77
最后登录
2016-8-3
 楼主| 发表于 2016-4-26 17:19:54 | 显示全部楼层
半仙变化 发表于 2016-4-26 15:48
环境变量没有设置,你可以先在烧写的时候进入uboot命令,看mmc命令能不能执行 ...

我输入mmc list 显示了
FSL_USDHC: 0
FSL_USDHC: 1
FSL_USDHC: 2
FSL_USDHC: 3
是不是说明我mmc命令可以执行

我在程序里面看的时候,mmc初始化也是走完的
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-21 04:24 , Processed in 0.092879 second(s), 24 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表