下午终于可以实现mini2440当做sd卡用了,记录一下 ,2.6.32.2内核
1.编译内核时,关键设置,如下,编译成模块
2.将生成的g_file_storage.ko考到板子上,加载模块
[root@FriendlyARM /]# cd /lib/modules/2.6.32.2-FriendlyARM/
[root@FriendlyARM 2.6.32.2-FriendlyARM]# ls
g_file_storage.ko modules.dep.bb
[root@FriendlyARM 2.6.32.2-FriendlyARM]# modprobe g_file_storage file=/dev/sdcard stall=0 removable=1
g_file_storage gadget: File-backed Storage Gadget, version: 20 November 2008
g_file_storage gadget: Number of LUNs=1
g_file_storage gadget-lun0: ro=0, file: /dev/sdcard
说明:
首先板子本身要能识别读写sd卡,当然友善的板子已经帮我们搞好可以支持。然后再考虑在pc上对板载sd卡读写。
/dev/sdcard是sd卡的设备文件,插上sd卡板子会自动将/dev/sdcard挂载到/sdcard, 通过一个qtopia插件实现。
/dev/mmcblk0也是sd卡的设备文件,此处modprobe 指定他也行,但是在pc上操作sd卡之后,在板子上 ls /sdcard,看不到目录即时更新
3.用usb线连接上电脑,出现一下信息
[root@FriendlyARM 2.6.32.2-FriendlyARM]# g_file_storage gadget: full speed config #1
并在pc上多出一个盘符
4.在pc上操作sd卡,读写小文件,还可以,但是大文件出现目录太深的错误
修改s3c2410_udc.c
另一处,同一个函数里
修改file_storage.c
重新编译内核和模块......
现在sd卡读写就比较正常了
参考资料
http://wenku.baidu.com/view/ae88b33c0912a216147929eb.html[ 此帖被shift在2011-10-13 15:41重新编辑 ]