基于ARM11的嵌入式Linux NAND FLASH模拟U盘挂载分析与实现

时间:2013-04-22来源:网络

1.2 Linux NAND FLASH分区原理
NAND FLASH作为存储设备,存储着嵌入式产品从开机到结束的所有代码,所以做好存储设备的分区是至关重要的问题,LINUX操作系统下,分区如图2所示。


其中:.name为分区名称,定义为U_Strorage,.offset为起始地址,这个值需要结合该模块前面的模块的大小和起始地址算出;.size为定义的分区大小,为512 MB。
添加分区后重新编译,可在文件系统的/etc下找到相应盘符,如:mtdblock4。
2.2 配置内核
内核中实现NAND FLASH模拟U盘挂载的驱动是USB中的Gadget实现的,所以在实现这项功能时,首先在编译内核的时候,配置上Gadget功能。具体操作如下:
在内核源代码的根目录下执行#make menuconfig,这时将会看到内核的菜单选项,选择:
device driver-->
[*]usb support-->
*>usb gadget support
*>usb preipheral controller
将usb support功能选中,选择编译该功能进内核,并在usb support功能子目录中选择中usb gadget support和usb preipheral contro ller功能,选择编译进内核,做完这些操作后编译内核。
在shell窗口命令行中输入:
#make zImage
#make modules
在driver/usb/gadget目录下会生成g_file_storage.ko和s3c_udc_otg.ko.讲这两个模块复制到目标板的文件系统中。
注意:当usb gadget support功能非作为模块编译进内核时,编译过模块后需要更新内核。而当usb gadget support功能作为模块编译进内核时,(选择栏应填“M>usb gadget support”,其中“M”代表模块),在编译生成模块后,除了要加载g_file_storage.ko还要加载s3c_udc_otg.ko。

1 2 3

关键词: ARM11 模拟U盘 Linux S3C6410

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版