当前位置:   article > 正文

linux usb模拟网卡,开发板作为USB设备模拟网卡(linux usb 网卡)--gadget&&rndis|cdc

rndis gadget

本文主要讲述了开发板与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]

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号