我们根据广州英码科技的核心板设计了一块底板,底板上有网络PHY电路和SD卡电路及电源电路,现在调试中出现了这样一个问题,启动设置为从SD卡启动,启动过程中UBOOT及内核都是正常的,但是到根文件系统时就停下来,试了很多次每次都是这种情况,但是如果设置为从EMMC启动,每次都能完全启动成功,电路原理图也核对了,没有发现什么问题。同样的SD卡插到外购的开发板底板上,启动是正常的,现在不好判断是硬件问题还是软件问题,所以请TI的工程师能否指点一下调试思路?附件中我们自己做的板子SD卡启动的打印信息,每次都是到[ 1.671661] mmc_attach_mmc.5:0这个位置就中断了
Gary Wu:
板子上有无预留JTAG口?
如果有的话,可以使用仿真器,运行starterware内的SD例程进行调试。
Yaoming Qin:
你的log中有:
1.625061] mmc_attach_mmc.4:0[ 1.628265] mmc0: new high speed MMC card at address 0001[ 1.634674] mmcblk0: mmc0:0001 MMC04G 3.54 GiB [ 1.639617] mmcblk0boot0: mmc0:0001 MMC04G partition 1 2.00 MiB[ 1.645935] mmcblk0boot1: mmc0:0001 MMC04G partition 2 2.00 MiB[ 1.653686] mmcblk0: p1 p2[ 1.659332] mmcblk0boot1: unknown partition table[ 1.666107] mmcblk0boot0: unknown partition table[ 1.671661] mmc_attach_mmc.5:0
看上去似乎是你的emmc没有format好。
sun3:
回复 Yaoming Qin:
您好,应该不是emmc没有format好。 直接从EMMC启动时没问题的,LOG中信息显示的SD卡中的文件系统没启动起来,我测试了一下SD卡的时钟线和数据线感觉信号质量不是太好,怀疑可能是信号干扰造成的,但是,有一个问题,没想明白,如果是硬件问题的话,为什么开始时从SD卡读UBOOT及内核都能成功?这个问题感觉比较棘手,请您再帮忙分析分析
Yaoming Qin:
回复 sun3:
沿着你的描述,如果是信号干扰,启动的时候,数据量较少,可能影响不大吧。
另外,启动的时候用的是vfat,而文件系统,用的ext2,不一样的
sun3:
回复 Yaoming Qin:
您好,我的PCB布线中,数据线及时钟线没有等长,并且经过过孔,请问这对信号影响严重吗?另外SD时钟是25M,感觉速率不高,PCB布线应该不是太讲究吧
Jian Zhou:
回复 sun3:
PCB布线是对MMC数据传输有影响的,你可以吧MMC时钟降低一些看看有没有改善
leo chen:
回复 sun3:
这个速度不高,应该和走线关系不大,
你说的信号不好是什么样的一个情况?上面的噪声较大?
sd卡部分的供电有没有测过
sun3:
回复 leo chen:
我示波器量了一下信号,信号质量应该还可以,供电是比较稳定的3.3V,另外我发现了一个问题,不知有没有影响,我们买的开发板底板上面有两路I2C总线,分别接EPPROM和音频电路,通过启动来的打印信息来,启动过程中会与这两部分通信,但是我们自己做的底板没这两部分电路,I2C总线都是悬空的,也没上拉,不知道Z这种情况是否会影响SD卡启动?
Jian Zhou:
回复 sun3:
我觉得是有影响的,如果你硬件没有用到I2C,软件上就不要对这部分有操作,否则I2C上的clock会对外界有干扰