不识别卡或卡通信过程中出错,大部分是由于具体板子或卡的性能差异导致,大多数可由以下途径解决:(1)调整msdc_custom.c里的驱动电流设置,建议从4mA,8mA,12mA,16mA逐个均尝试,以发现规律staticconstmsdc_io_ctrl_structmsdc_io_ctrl_sd_custom={MSDC_ODC_8MA,//drivingcapacityofCMD/BSandSCLKMSDC_ODC_8MA,//drivingcapacityofdatalinesMSDC_ODC_SLEW_FAST,//slewrateofCMD/BSandSCLKMSDC_ODC_SLEW_FAST//slewrateofdatalines};(2)调整DAT/CMD线上的内部上拉电阻,具体参考datasheet,不同chip肯能不一样,也可能不是如下这个寄存器。举例MT6252的是2-->47K,3-->23.5K,逐个均尝试,以发现规律。(具体请参考datasheet,调整内部上拉的阻值这是个思路)voidMSDC_Initialize(void){..........BitFieldWrite32((kal_uint32*)MSDC_CFG,(kal_uint32)3,MSDC_CFG_PRCFG1);BitFieldWrite32((kal_uint32*)MSDC_CFG,(kal_uint32)3,MSDC_CFG_PRCFG2);
THE END