笔者在移植3.4.2的过程中发现Linux包含的SD卡驱动不能识别SD卡 。表现为插上拔下SD卡没有没有任何反应。
笔者用的jz2440 对应驱动是linux-3.4.2\drivers\mmc\host\s3cmci.c
我们把驱动作为模块单独拿出来编译:
Device Drivers --->
<*> MMC/SD/SDIO card support --->
<M> Samsung S3C SD/MMC Card Interface support
裁剪完成后生成新的image
然后就可以拿出s3cmci.c分析了
在经过一段时间的的调试后 发现 对应platform 设备驱动在E:\linux-3.4.2\arch\arm\plat-samsung\devs.c
#ifdef CONFIG_PLAT_S3C24XX
static struct resource s3c_sdi_resource[] = {

在移植Linux 3.4.2过程中遇到SD卡无法识别的问题,通过分析驱动源码s3cmci.c和plat-samsung/devs.c,发现Samsung S3C SD/MMC Card Interface支持未生效。解决方法是手动加载s3c_device_sdi平台设备驱动,并编写一个设备驱动加载到内核,成功解决了SD卡挂载失败的状况。
最低0.47元/天 解锁文章
1268





