我是靠谱客的博主 明亮宝马,最近开发中收集的这篇文章主要介绍linux usb模拟网卡,开发板作为USB设备模拟网卡(linux usb 网卡)--gadget&&rndis|cdc,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

本文主要讲述了开发板与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所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部