免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1195 | 回复: 0

嵌入式Linux之我行——Linux-2.6.30.4在2440上的移植之MMC/SD卡驱动 [复制链接]

论坛徽章:
0
发表于 2011-12-23 02:29 |显示全部楼层

1. 添加SD卡设备到系统备初始化列表中。2.6.30.4内核对MMC/SD卡的支持已经非常完善了,而且支持超大容量32GB,所以这里我们只需把 s3c_device_sdi添加到列表中即可,该设备在arch/arm/mach-s3c2440/mach-smdk2440.c platform结构中增加&s3c_device_sdi语句:

2. 修改MMC/SD驱动源码。主要是添加SD卡的中断处理。

#gedit drivers/mmc/host/s3cmci.c

在1335行,添加如下内容:

host->irq_cd = IRQ_EINT18;//注:SD卡中断管脚需根据硬件连接图实际情况修改
s3c2410_gpio_cfgpin(S3C2410_GPG10, S3C2410_GPG10_EINT18);

//这里和嵌入式LINUX之我行的作者开发板的中断管脚不同,所以这里改为EINT18了。

3. 修改内核配置选项。完成后重新编译内核下载到开发板上

Device Drivers --->
    <*> MMC/SD/SDIO card support --->
        --- MMC/SD/SDIO card support
        [ ] MMC debugging
        [ ] Allow unsafe resume (DANGEROUS)
        *** MMC/SD/SDIO Card Drivers ***
        <*> MMC block device driver
        [*] Use bounce buffer for simple hosts
        < > SDIO UART/GPS class support
        < > MMC host test driver
        *** MMC/SD/SDIO Host Controller Drivers ***
        < > Secure Digital Host Controller Interface support
        < > MMC/SD/SDIO over SPI
        <*> Samsung S3C SD/MMC Card Interface support


4. 插入SD卡。当系统启动后插入SD卡就会出现一些信息,还可以看到mmcblk0就是SD设备了
 
 
5. 挂载SD卡。执行mount命令将SD卡挂载到/mnt/mmc/目录下,但是没成功,出错啦
 
 
6. 错误分析处理。首先查看/dev/目录下并没有mmcblk0p1节点所以出错,我们查看/proc/partitions/目录发现SD卡的主设备号是179,次设备号是1,那么我们就创建这个设备的节点,b代表块设备,最后再执行mount命令,没有出错
 
 
7. SD卡成功挂载。查看SD卡中的内容
 
 
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP