概述
本文主要讲述了开发板与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]
最后
以上就是明亮宝马为你收集整理的linux usb模拟网卡,开发板作为USB设备模拟网卡(linux usb 网卡)--gadget&&rndis|cdc的全部内容,希望文章能够帮你解决linux usb模拟网卡,开发板作为USB设备模拟网卡(linux usb 网卡)--gadget&&rndis|cdc所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复