修改时间 11-15-2020 05:32 PM
1、ZU2板卡使用MIO46-MIO51作为SD卡的接口,设置为BOOT启动,在之前的项目中验证过SD卡启动没有问题;在新的项目中同样的电路发现SD卡启动不了,没有任何打印;但是使用JTAG连接做memory test,DRAM test,程序打印结果却都是正常的;
2、后来测量上电时SDIO信号的波形,CLK时钟在222kHz左右,CMD只有很短的一小段就停止了,见附件,4根DATA线上没有任何数据;对于正常的板卡,CMD信号很长,且DATA线上有数据;请问这可能是什么原因导致的?跟ZU2芯片的焊接不良有关系吗?跟SD卡中的BOOT.bin程序有关系吗?
3、还有一个现象,用VIVADO通过JTAG连接,通过sysmon看到的VCCO_PSIO1为1.8V,实际是3.3V;VCCO_PSIO2实际是1.8V,显示确是3.3V,见附件;不知道跟这个有没有关系;不管是否插上SD卡,这两个电压显示都是错误的;另外,在VIVADO的Block中设置了这两个Bank的电平值,SDIO对应设置的是3.3V;
4、对于其他项目正常的ZU2板卡,插上SD卡后显示是正确的,VCCO_PSIO1为3.3V,VCCO_PSIO2是1.8V。不插SD卡时,显示也是错误的,不知道这个显示错误代表了什么?是什么原因引起的;
修改时间 11-17-2020 04:24 PM
你要确定是哪个SDIO有问题的话,先看一下你bsp中xsdps_g.c中XSdPs_ConfigTable定义了几个SDIO。如果有2个的话,再ff.c中看一下 stat = disk_initialize(pdrv); 的pdrv值是多少,0对应的是你XSdPs_ConfigTable中第一个SDIO,1对应的是第二个SDIO。
如果确定无法正常读写,接下来你可以通过debug的方式,看看具体执行到哪一个环节SD卡出现异常,方便进一步定位问题点。
如果这个现象是这一批板子都必现的问题,那么可以尝试降低SD卡时钟频率,看看是否有效。
修改时间 11-16-2020 09:57 AM
memory test和DRAM test测试的是内存,和SD卡应该没有什么关系。
你可以在裸核下用example design看看能否读写SD卡。
也可以尝试用JTAG启动U-BOOT,然后测试下看看能否找到你的SD卡。
修改时间 11-16-2020 02:09 PM
你现在bsp的设置里使能xilffs这个库,然后在bsp驱动列表找到对应的example了。
修改时间 11-17-2020 02:18 PM
你好,我后来新建了一个BSP,不报错了;在*Path为0时测试是成功的,*Path为1时测试是失败的;这里*Path代表什么意思,我的SDIO0连接的是eMMC,SDIO1连接的是SD卡,是不是说明SD卡的测试失败了?接下来要采取什么措施?
修改时间 11-17-2020 04:24 PM
你要确定是哪个SDIO有问题的话,先看一下你bsp中xsdps_g.c中XSdPs_ConfigTable定义了几个SDIO。如果有2个的话,再ff.c中看一下 stat = disk_initialize(pdrv); 的pdrv值是多少,0对应的是你XSdPs_ConfigTable中第一个SDIO,1对应的是第二个SDIO。
如果确定无法正常读写,接下来你可以通过debug的方式,看看具体执行到哪一个环节SD卡出现异常,方便进一步定位问题点。
如果这个现象是这一批板子都必现的问题,那么可以尝试降低SD卡时钟频率,看看是否有效。
修改时间 11-17-2020 08:37 PM
多谢你的及时回复:
1、后来已经确定,逻辑地址为1时对应的是SD卡的地址,确实是测试Fail了;
2、后来发现程序死在了f_open()那里,通过f_open()函数返回失败;
3、在测试时,用示波器测量了SD卡的CLK,CMD,四根Data线,都是有数据的,就是说线路是通的;
4、且跑过测试程序之后,SD卡中的文件被删掉了;
5、这一批板卡中测试了两块都有这个问题,目前就拿到了两块板子;
6、请问你说的降频是怎么操作的,在SD卡启动时能降频吗?接下来还有什么建议能让ZU2从SD卡启动?多谢!
修改时间 11-18-2020 09:42 AM
在vivado的工程中可以配置SD的时钟频率,你可以把这个频率降低,可以尝试20M或者10M。看看能否正常读取SD卡。
另外,你尝试将你的SD卡重新格式化成FAT32再尝试一下。
修改时间 11-18-2020 04:52 PM
多谢你的及时回复,后来排查了一下硬件,靠近ZU2端的电阻由33欧换成47欧之后SD卡有加载,FSBL部分的打印信息有部分显示,但是FSBL部分没有执行成功,具体的打印信息如下,帮忙看下这个是什么意思,有什么建议,多谢!
修改时间 11-18-2020 07:03 PM
修改时间 11-19-2020 11:04 AM
抱歉回复晚了。
你可以看一下FSBL的代码,这个错误是因为你BOOT.bin中包含的partition加载的位置不正确。
你检查一下你bif文件,看看是对应的哪个partition不正确,也检查一下其中的lscript.ld地址位置。