- 配置内核(USB Gadget Support):
-
#make menuconfig
- 编译生成uImage文件和驱动文件(libcomposite.ko与g_mass_storage.ko)驱动位与/drivers/usb/gadget目录下。
#make modules
- 在uboot状态下把dr_mode=host修改为dr_mode=peripheral,即输入以下指令:
#setenv hwconfig "fsl_p1010mux:tdm_can=can;usb1:dr_mode=peripheral,phy_type=utmi"
#saveenv
- 烧入内核并重启实验板,利用tftp工具把libcomposite.ko与g_mass_storage.ko下载到flash中。
- 执行insmod指令,将libcomposite.ko插入到内核中,即执行以下命令。
#insmod libcomposite.ko
- 依次执行以下指令,生成镜像文件模拟u盘,并挂载,实现PC与Flash之间的数据传递。
#mkdir /usbfile
#cd /usbfile
#mkdir files
/* 生成15M二进制镜像文件 */
#dd if=/dev/zero of=/usbfile/disk.img bs=1M count=15
/* 格式化 */
#mkdosfs disk.img
/* 将镜像文件挂载到/usbfile/filesw文件夹 */
#mount -t vfat -o sync /usbfile/disk.img /usbfile/files
/* 命令即可识别NandFlash的 disk.img 文件为PC的一个外部存储空间。*/
#insmod g_mass_storage.ko file=/usbfile/disk.img removable=1 stall=1
- 这时候将实验板通过USB插入到电脑即可识别。
- 如果需要从实验板中读取文件则需要重新挂载,即依次执行:
#umount /usbfile/files
#mount -t vfat -o sync /usbfile/disk.img /usbfile/files