打印
[i.MX]

请教mx6,linux3.0.35,tf卡能启动uboot但是无法加载内核问题

[复制链接]
2174|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
bigflower|  楼主 | 2015-10-5 10:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教mx6,linux3.0.35,tf卡能启动uboot但是无法加载内核问题

cpu:mcimx6u5dvm10AB
硬件上,我把wp和cd都直接接地了,这次新加工的核心板,以及重新设计一个新项目的的底板
软件烧写了linux到tf卡
可以证明:
烧写的tf卡,使用tf卡启动,新做的核心板和以前的底板也是可以正常启动linux,证明核心板没有问题的。
还有一个现象是,在新做核心板和新的板子上使用emmc启动安卓后,也可以识别tf卡,读写、播放tf卡里面的内容,完全正常。所以可以证明新做的底板应该也是没有问题的。


问题如下:
在新做的核心板和新做的底板上使用tf卡启动,可以启动进入uboot,但是进入uboot后,没法加载内核,手动使用命令:
mmc dev 2
mmc read 0x10800000 0x800 0x2000
报错,read:error

所以问题只是出现在tf启动uboot启动后,无法加载kernel。

原先我自己估计有两种可能性,一是卡座的问题,而是布线的问题,但是这几天我考虑一下,安卓下都可以正常播放视频,应该不是这两个硬件的问题。
如果是uboot软件的问题,那么在以前的板子上也会存在同样的问题的,现在真是糊涂了。
uboot启动打印如下:
U-Boot 2009.08 (May 06 2015 - 14:34:36)
CPU: Freescale i.MX6 family TO1.1 at 792 MHz
Thermal sensor with ratio = 194
Temperature:   38 C, calibration data 0x5cc5485f
mx6q pll1: 792MHz
mx6q pll2: 528MHz
mx6q pll3: 480MHz
mx6q pll8: 50MHz
ipg clock     : 66000000Hz
ipg per clock : 66000000Hz
uart clock    : 80000000Hz
cspi clock    : 60000000Hz
ahb clock     : 132000000Hz
axi clock   : 198000000Hz
emi_slow clock: 99000000Hz
ddr clock     : 396000000Hz
usdhc1 clock  : 198000000Hz
usdhc2 clock  : 198000000Hz
usdhc3 clock  : 198000000Hz
usdhc4 clock  : 198000000Hz
nfc clock     : 24000000Hz
Board: i.MX6DL/Solo-SABRESD: unknown-board Board: 0x61011 [POR ]
Boot Device: SD
I2C:   ready
DRAM:   1 GB
MMC:   FSL_USDHC: 0,FSL_USDHC: 1,FSL_USDHC: 2,FSL_USDHC: 3
*** Warning - bad CRC or MMC, using default environment
In:    serial
Out:   serial
Err:   serial
Found PFUZE100! deviceid=10,revid=21
Net:   got MAC address from IIM: 00:00:00:00:00:00
FEC0 [PRIME]
QHH'S I.MX6SOLO TEST:1.02
Hit any key to stop autoboot:  0

MX6SDL SABRESD U-Boot > mmc dev 2
mmc2 is current device
MX6SDL SABRESD U-Boot > mmcinfo
Device: FSL_USDHC
Manufacturer ID: 2
OEM: 544d
Name: SA08G
Tran Speed: 25000000
Rd Block Len: 512
SD version 3.0
Clock: 50000000
High Capacity: Yes
Capacity: 7746879488 Bytes
Bus Width: 4-bit
Boot Partition for boot: No boot partition available

一种是下面这种错误,直接停下死掉了
MX6SDL SABRESD U-Boot > mmc read 0x10800000 0x800 0x2000
MMC read: dev # 2, block # 2048, count 8192 ...

另一种是直接报错:
MX6SDL SABRESD U-Boot > mmc read 0x10800000 0x800 0x2000
MMC read: dev # 2, block # 2048, count 8192 ... 0 blocks read: ERROR


请问估计是什么问题??
谢谢!!

相关帖子

沙发
bigflower|  楼主 | 2015-10-7 10:48 | 只看该作者
今天又做了测试,使用emmc启动,进入linux后,可以检测到tf卡,并可以读写访问
使用emmc启动uboot后,也是和tf启动进入uboot一样,没法访问tf卡了,奇怪了,只是在uboot下没法访问tf卡。

使用特权

评论回复
板凳
bigflower|  楼主 | 2015-10-7 11:07 | 只看该作者
但是可以从tf卡启动,也可以进入uboot,进入uboot就不能读tf卡数据了

使用特权

评论回复
地板
bigflower|  楼主 | 2015-10-8 09:37 | 只看该作者
个人感觉是,TF卡启动uboot启动后,找不到tf卡了,但是emmc读写没问题的

使用特权

评论回复
5
FSL_TICS_Rita| | 2015-10-8 15:49 | 只看该作者
bigflower 发表于 2015-10-8 09:37
个人感觉是,TF卡启动uboot启动后,找不到tf卡了,但是emmc读写没问题的

楼主你好,这里emmc可以正常启动,说明你板子设计是没有什么问题的。从TF启动有问题,应该是这部分的软件没有设置好,我这边也没有用过TF卡。我可以帮你问一下,看是否有相关的经验。

使用特权

评论回复
6
bigflower|  楼主 | 2015-10-8 18:00 | 只看该作者
谢谢版主的回复!
其实tf卡启动也是没有问题的,只是进入uboot后,没法访问tf卡了,所以没法加载内核,这点我确实比较郁闷,因为我使用emmc启动linux或安卓后,都可以正常访问tf卡。
现在主要怀疑:
1.布线问题,因为同一张tf卡,在以前的板子上测试TF卡启动uboot,kernel,rootfs都是没问题的,这次tf卡的线稍有点长,可能有时序问题,但是也仅仅是影响uboot里面访问tf卡时序,因为tf卡启动uboot没问题,而且在linux和安卓里面访问tf卡都是没有问题的.
不知道版主,遇到过吗??
谢谢!

使用特权

评论回复
7
quray1985| | 2015-10-8 21:17 | 只看该作者
这个问题看起来很麻烦啊,帮楼主顶一下

使用特权

评论回复
8
mini1986| | 2015-10-9 10:55 | 只看该作者
估计是你的bootargs参数没有配置对,你看看mmc dev X,这个地方是不是配置对了......

使用特权

评论回复
9
bigflower|  楼主 | 2015-10-9 16:53 | 只看该作者
谢谢,楼上的回复,bootargs没问题的

使用特权

评论回复
10
FSL_TICS_Rita| | 2015-10-12 17:34 | 只看该作者
楼主你好,你这里应该不是TF卡的问题,也不是内核和软件的问题,有可能是线长,时钟和数据没有同步造成的。
这样,你可以在时钟线上加上个33R或者22R的电阻,把时钟沿斜坡变缓。

使用特权

评论回复
11
bigflower|  楼主 | 2015-10-12 18:13 | 只看该作者
谢谢您的回复,我回去再测试一下

使用特权

评论回复
12
FSL_TICS_Rita| | 2015-10-14 16:49 | 只看该作者
bigflower 发表于 2015-10-12 18:13
谢谢您的回复,我回去再测试一下

不客气的,希望楼主问题能够解决哈,如果解决麻烦帮忙结帖,如果没有欢迎继续在这里讨论哈~~

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

26

主题

124

帖子

2

粉丝