目录
本例程将在Duckbill鸭嘴兽WIFI-Mini905板上实现SD卡热插拔、自动挂载卸载,挂载成功后可以在sd内读写数据。
准备工作:
wifi音视频开发板一块
1.N32905 SD简介
SD卡是Secure Digital Card卡的简称,直译成汉语就是“安全数字卡”,是由日本松下公司、东芝公司和美国SANDISK公司共同开发研制的全新的存储卡产品。SD卡具有体积小、容量大、抗震防潮、耐高温、性能稳定、永久有效保存数据、无噪音、无寻道错误特点。SD存储卡是一个完全开放的标准(系统),多用于MP3、数码摄像机、数码相机、电子图书、AV器材等等,是现今流行的主流产品存储卡。
N32905支持多种类型的sd卡,如SD/MMC/SDIO/SDHC/micro-SD。
2.硬件设计
SD卡电路采用并行数据传输,大大提高了数据传输率,包含4根数据线DAT0-DAT3,一根时钟线CLK,一根命令线CMD。具体电路如下图1.2.1所示。
图2.1 SD卡电路图
3.软件设计
3.1内核配置
选择Nuvoton W55FA93 SD Card support编译成内核模块。
在/duckbill/N32905/BSP/initramfs/etc/profile_spiramfs里添加加载w55fa93_sdio.ko的命令,默认已经添加。
if [ -f "/usr/w55fa93_sdio.ko" ]; then
insmod /usr/w55fa93_sdio.ko ;
fi
4.烧录运行
WIFI-Mini905开发板与电脑之间连接好usb电源线(也充当下载线)、usb转串口线,将拨码开关S1拨向Rec位,按下自锁开关K1,开发板通电,N32905进入烧录模式。
使用TurboWriter依次烧录 开发板光盘资料\Mini905光盘资料\BIN\基础例程下的loader(SpiLoader_905.bin)、文件系统(TEST_mini905.jffs2.summary)以及刚刚编译生成的内核(Kernel.bin),烧录步骤与例程1一致。
烧录完成后将拨码开关S1拨向Nor位,开发板重新通电,电源指示灯亮,N32905进入正常启动模式,等待系统运行起来。
将一张sd卡插入底板sd卡槽中,系统将会识别sd插入,并将sd卡自动挂载到/mnt/sdcard,就可以读写sd卡了。
当把sd卡拔出时,系统也会识别出sd拔出,并自动卸载掉挂载点,之前的sdcard不见了,串口显示如下。