欢迎来到天天文库
浏览记录
ID:40561782
大小:71.00 KB
页数:7页
时间:2019-08-04
《nand做闪存2440_Gadget移植步骤》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2440Gadget移植手册Gadget可以将开发板上的存储设备作为U盘挂载到Windows下,该技术主要用于MP3等带有存储文件功能的电子产品和U盘等。1.2.6.22之前的版本默认没有s3c2410_udc的驱动文件(笔者自己的内核代码里没有,而使用较新的内核版本里2.6.32.2带有),所以对于2.6.22需要将找到对应的udc驱动文件。如下操作:l将s3c2410的UDC驱动s3c2410_udc.cs3c2410_udc.h放到source根目录下driver/usb/gadget/下l修改对应的gadgetKconfig文件和Makefil
2、e文件:在Kconfig增加下面内核选项,使其出现在Menuconfig选项内:configUSB_GADGET_S3C2410boolean"S3C2410USBDeviceController"dependsonARCH_S3C2410helpMichaelTangaddfors3c2440processor.configUSB_S3C2410tristatedependsonUSB_GADGET_S3C2410defaultUSB_GADGETselectUSB_GADGET_SELECTEDconfigUSB_S3C2410_DEBUGbool
3、ean"S3C2410udcdebugmessages"dependsonUSB_GADGET_S3C2410l修改Makefile文件,使其可以编译进内核:增加:obj-$(CONFIG_USB_S3C2410)+=s3c2410_udc.o2.将udc驱动编译进内核:DeviceDrivers-à[*]USBSupport-à<*> USBGadgetSupport ---> USBPeripheralController(S3C2410USBDeviceController) ---> S3C2410
4、USBDeviceController [*] S3C2410udcdebugmessages USBGadgetDrivers File-backedStorageGadget由于linux2.6.32将平台相关代码的目录结构进行了调整,所以如果是2.6.22的内核应该将上述头文件改为:删除下面的头文件引用:#include#include#include#include#
5、include#include在893行,删除头文件#include增加下面头文件引用:#include#include#include#include#include#include6、h>#include#include如果上述头文件找不到,去smdk2410相关目录里去找(find命令),然后cp到arch/arm/mach-s3c2440/中。1.修改arch/arm/mach-s3c2440/mach-smdk2440.c文件,增加开发板相关的代码,修改该文件使之可以在系统启动时被加载。增加下面的头文件#include#include#include7、fns.h>#include#include1.增加下面代码用于UDC使能操作,加粗部分要根据自己的开发板的使能引脚进行设置。staticvoidsmdk2410_udc_pullup(enums3c2410_udc_cmd_ecmd){u8*s3c2410_pullup_info[]={"","Pull-upenable","Pull-updisable","UDCreset,incaseof"};printk("smdk2410_udc:%s",s3c2410_pullup_info[cmd])8、;s3c2410_gpio_cfgpin(S3C2410_GPG(12),(1<<24));s
6、h>#include#include如果上述头文件找不到,去smdk2410相关目录里去找(find命令),然后cp到arch/arm/mach-s3c2440/中。1.修改arch/arm/mach-s3c2440/mach-smdk2440.c文件,增加开发板相关的代码,修改该文件使之可以在系统启动时被加载。增加下面的头文件#include#include#include7、fns.h>#include#include1.增加下面代码用于UDC使能操作,加粗部分要根据自己的开发板的使能引脚进行设置。staticvoidsmdk2410_udc_pullup(enums3c2410_udc_cmd_ecmd){u8*s3c2410_pullup_info[]={"","Pull-upenable","Pull-updisable","UDCreset,incaseof"};printk("smdk2410_udc:%s",s3c2410_pullup_info[cmd])8、;s3c2410_gpio_cfgpin(S3C2410_GPG(12),(1<<24));s
7、fns.h>#include#include1.增加下面代码用于UDC使能操作,加粗部分要根据自己的开发板的使能引脚进行设置。staticvoidsmdk2410_udc_pullup(enums3c2410_udc_cmd_ecmd){u8*s3c2410_pullup_info[]={"","Pull-upenable","Pull-updisable","UDCreset,incaseof"};printk("smdk2410_udc:%s",s3c2410_pullup_info[cmd])
8、;s3c2410_gpio_cfgpin(S3C2410_GPG(12),(1<<24));s
此文档下载收益归作者所有