【实验目的】
SD卡是嵌入式系统常用的外部扩展存储设备。通过移植SD卡驱动,了解SD驱动的移植。
说明:在本系统移植课程实验中命令行提示符"$"表示是在主机上执行,"#"表示在目标板执行。
【实验环境】
● 主机:Ubuntu 10.10 (64bit);
● 目标机:FS_S5PC100平台;
● 交叉编译工具链:arm-eabi-4.4.0(Android4.0.4自带交叉工具链);
【实验步骤】
1.修改配置文件
修改drivers/mmc/host/Kconfig(396行)
config MMC_S3C
tristate "Samsung S3C SD/MMC Card Interface support"
depends on ARCH_S3C24XX
为:
config MMC_S3C
tristate "Samsung S3C SD/MMC Card Interface support"
dependson ARCH_S3C24XX || ARCH_S5PC100
2.配置内核
$ makemenuconfig
Device Drivers --->
MMC/SD/SDIO card support --->
SDHCI support on Samsung S3C SoC
[*] DMA support on S3C SDHCI
3.编译内核
编译内核并拷贝到tftpboot下。
$ makezImage
$ cp arch/arm/boot/zImage /tftpboot
4.测试
启动目标板并在目标板上完成如下操作:
# mount -t vfat /dev/block/mmcblk0p1 /mnt/sdcard
# ls /mnt/sdcard
可以查看到SD卡内容,即完成实验。