之所以说是使用是因为这个sd卡驱动本来stm32-Uclinux内核中就有,现成的,而我现在使用的stm32的存储空间十分匮乏,能使用这个sd卡驱动,想想凭白无故的多了十几G 空间的SD卡存储,简直对我来说是个福音,这酸爽、嘿嘿!
而要想深入理解linux下的SD卡驱动,还要研究SD驱动的host、card、core层,网上的资料很多,有点难弄清,这里只是简单记录一下我的设置步骤:
1、首先在内核设置(make menuconfig)下 勾选Device Drivers -> MMC/SD/SDIO card support
2、然后在勾选System Type -> STM32 I/O interfaces菜单下的使能SD卡接口和SD卡DMA通道
3、 再在File systems -> DOS/FAT/NT Filesystems下勾选下图选项,因为sd卡里面挂载的是fat文件系统,而要想linux能够识别、读写sd卡则这些选项是必选的
额外两图的选项也要选上,没敢选支持中文编码的项,编译起来内核占用空间大,有条件的可以选上支持中文编码的选项。
5、编译内核,会发现有mmci-pl18x mmci-pl18x: mmc0: MMCI rev 4 cfg 10 at 0x0000000040012c00 irq 49,-1等信息,证明SD卡驱动已经添加进内核了。
6、插入sd卡后,终端会显示
mmc0: host does not support reading read-only switch. assuming write-enable.
mmc0: new SDHC card at address 59b4
mmcblk0: mmc0:59b4 USD00 7.41 GiB
mmcblk0: p1