分类: LINUX
2013-02-23 15:28:43
添加SD设备到设备初始化列表中:
# gedit arch/arm/plat-s3c24xx/common-smdk.c
在186行:
/* devices we initialise */ |
添加和开发板相关的 SD 卡插拔引发的中断:
# gedit drivers/mmc/host/s3cmci.c
在1335行,添加如下内容:
host->irq_cd = IRQ_EINT16; |
后来发现,系统启动后插入大容量卡时会出现初始化错误的问题,网上找到答案--供电未稳定~~解决方法:
# gedit drivers/mmc/core/sd.c
找到 mmc_sd_init_card() 函数的定义,
在调用 mmc_read_switch(card) 函数前加上10ms的延时,即加入下面的一句:
mdelay(10);
配置:
# make menuconfig
选上以下几项:
Device Drivers ---> |
编译:
# make zImage
下载新内核,启动后插入SD卡:
s3c2440-sdi s3c2440-sdi: running at 0kHz (requested: 0kHz. |
5. 挂载SD卡。执行mount命令将SD卡挂载到/mnt/mmc/目录下,但是没成功,出错啦
6. 错误分析处理。首先查看/dev/目录下并没有mmcblk0p1节点所以出错,我们查看/proc/partitions/目录发现SD卡的主设备号是179,次设备号是1,那么我们就创建这个设备的节点,b代表块设备,最后再执行mount命令,没有出错
7. SD卡成功挂载。查看SD卡中的内容