赞
踩
本文主要讲述了开发板与pc之间的一种通信方式,借助LINUX自带的gadget 以及 RNDIS或者cdc驱动与windows 或者LINUX通信.
首先配置内核 , 进入LINUX内核文件夹,输入命令
make menuconfig
对内核做如下配置
选择 Device Drivers -->
[*]USB support -->
USB Gadget Support -->
USB Gadget Drivers
....................................
Ethernet Gadget (with CDC Ethernet support)
[*] RNDIS support
...................................
CDC Composite Device (Ethernet and ACM)
编译内核
make zImage
此时带有gadget 以及RNDIS | CDC 的内核就生成了
虽然内核是生成了,但是居然WINDOWS检测不到设备,查阅开发板的手册之后才知道,USB 从设备还有一个USB_EN信号,高电平的时候USB SLAVE才会使用,所以下一步就得修改BOOTLOADER了
根据我的情况,控制USB_EN的IO口是GPC5
找到初始化IO口的函数.根据S3C2440芯片手册做如下修改(兰色为修改或添加的代码)
void Port_Init(void)
{
GPACON = 0x7fffff;
GPBCON = 0x044555;
GPBUP = 0x7ff; // The pull up function is disabled GPB[10:0]
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。