ti的专家你们好,我们在用dm368 ipnc5.0的方案,现在把mmc1的接口连接出来使用,但是插上SD卡后不能正常使用,修改的地方为board-dm368-ipnc.c文件添加
dm365evm_mmc_configure(); /
davinci_setup_mmc(1, &dm365evm_mmc1_config);
内核启动时能正常检测到两张SD卡,
[ 5.509576] davinci_mmc davinci_mmc.0: Using DMA, 4-bit mode
[ 5.518193] davinci_mmc davinci_mmc.1: Using DMA, 4-bit mode
[ 5.646257] Loading iSCSI transport class v2.0-870.
[ 5.724240] mmc0: new high speed SDHC card at address 59b4
[ 5.741054] mmcblk0: mmc0:59b4 00000 7.47 GiB
[ 5.748626] mmcblk0: p1
[ 5.979491] iscsi: registered transport (tcp)
[ 5.984367] mmc1: new high speed SDHC card at address b368
[ 6.001256] mmcblk1: mmc1:b368 MSD 3.84 GiB
[ 6.012694] mmcblk1: p1
但是当想MMC1的sd卡写数据的时后可以写进一部分数据,然后会报错:
[ 97.200689] end_request: I/O error, dev mmcblk1, sector 31856
[ 97.212933] mmcblk1: error -84 transferring data, sector 31864, nr 256, card status 0x900
[ 97.236211] mmcblk1: error -84 sending stop command, response 0x6000006, card status 0x900
[ 97.262334] end_request: I/O error, dev mmcblk1, sector 31864
最后导致SD卡变为只读文件系统,开始我以为是SD卡的频率太高(我们是飞的线)导致不正常,然后再board-dm368-ipnc.c文件中降低了时钟最高频率,但是情况还是一样,请问这该怎么解决啊?不甚感激!
Chris Meng:
你好,
能否检查一下MMC1相关引脚的pull down是否disable?请参考ARM subsystem guide-》control module->PUPDCTL1.
jin zhu:
回复 Chris Meng:
检查了没问题的,现在的问题是从MMC1的SD卡考数据到MMC0的SD卡没有问题,将MMC0的SD卡中的文件考到MMC1当中就会报错,所以我怀疑是不是接收的EDMA通道出了问题,而且当我运行Appro_avi_save程序的时候,会不停报错:DM365MMAP Error: Error in requesting Master channel = 0xfffffff4
我跟踪了一下这个函数是DM365MMAP模块中的,而且最终是调用的内核中dma.c中的edma_alloc_channel出的错,不知道是不是APPRO的一些设置跟mmc1起了冲突,不知道改如何下手。