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

GPCCON = 0xaaaaa6aa;

GPCDAT = 0x0020;

GPCUP = 0xff7f; // The pull up function is disabled GPC[15:0] ,enable gpc5 for usb_device

GPDCON = 0x00151544;

GPDDAT = 0x0430;

GPDUP = 0x877A;

GPECON = 0xaa2aaaaa;

GPEUP = 0xf7ff; // GPE11 is NC

GPFCON = 0x55aa;

GPFUP = 0xff;  // The pull up function is disabled GPF[7:0]

GPGCON = 1<<8;

GPGDAT = 0;

GPHCON = 0x16faaa;

GPHUP = 0x7ff;  // The pull up function is disabled GPH[10:0]

EXTINT0 = 0x22222222; // EINT[7:0]

EXTINT1 = 0x22222222; // EINT[15:8]

EXTINT2 = 0x22222222; // EINT[23:16]

}

说明:

GPCCON = 0xaaaaa6aa; //根据S3C2440的芯片手册gpc5[11:10]为控制该IO口的寄存器,所以第11,10位为分别为1,0

GPCDAT = 0x0020; // 数据寄存器,1为高电平,所以第5位为1

GPCUP = 0xff7f; //上拉电阻寄存器 第5位设为0

再次编译bootloader,这次WINDOWS终于识别出设备了,至于驱动自己去网上找吧~我用的是CSDN上的驱动.

最后还有一个问题,就是开发板有网卡,还模拟USB为网卡的情况,一定要保证usb虚拟的网卡和WINDOWS上USB网卡在同一个IP段,并且不能和开发板原先的网卡的IP段一样,要不累死你都PING不到~

着是我网卡设置的情况

windows

usb网卡

IP:192.168.2.50 掩码:255.255.255.0 网关:(这个随意,看个人喜好,如果设置网关最好开发板也设置)192.168.2.1

正常网卡

IP:192.168.1.235 掩码:255.255.255.0 网关:192.168.1.1

开发板

usb网卡

IP:192.168.2.70 掩码:255.255.255.0 网关:192.168.2.1

正常网卡

IP:192.168.1.70 掩码:255.255.255.0 网关:192.168.1.1

查看开发板网关

route -n

设置开发板网关

route add default gw 192.168.2.1

这样之后应该就能和WINDOWS PING通了~

linux usb模拟网卡,开发板作为USB设备模拟网卡(linux usb 网卡)--gadgetrndis|cdc相关推荐

  1. 可编程 USB 转串口适配器开发板 SHT3x-DIS 温湿度传感器芯片

    可编程 USB 转串口适配器开发板  SHT3x-DIS 温湿度传感器芯片 可编程USB转 UART/I2C /SMBusS/SPI/CAN/1 -Wire适配器USB2S  的温湿传感器 1.2   ...

  2. 用QEMU模拟ARM开发板,搭建Linux kernel运行环境

    前言 有的时候我们想调试linux kernel或者linux应用程序,但是又没有硬件环境,这个时候可以选择用模拟器的方法,模拟出一个硬件环境. Android emulator Android系统的 ...

  3. 双千兆网口路由器方案开发板香橙派R1 Plus LTS连接USB无线网卡测试说明(OpenWRT 系统)

    说明:使用的OpenWRT 系统是OrangePi官方适配的,如果其他第三方固件,需要自己实测下.支持的无线网卡列表如下.其中 RTL8723BU 和 MT7601U 都是 只支持 Station M ...

  4. 20230210使AIO-3568J开发板在Android12下调通3个USB

    20230210使AIO-3568J开发板在Android12下调通3个USB 2023/2/10 10:00 0.默认编译RK3568的Andorid12的rk3568-evb2-lp4x-v10. ...

  5. 可编程 USB 转串口适配器开发板专用工具 S2STool 介绍

    可编程 USB 转串口适配器开发板专用工具 S2STool 介绍   可编程USB转 UART/I2C /SMBusS/SPI/CAN/1 -Wire适配器USB2S  专用工具 S2STool 介绍 ...

  6. 可编程 USB 转串口适配器开发板 S2S 功能介绍

    可编程 USB 转串口适配器开发板 S2S 功能介绍 USB2S 支持基于 STC 单片机的二次开发,若有需要,可参照原理图和单片机型号手册自行开发具有特殊功能的固件程序. 1.自带固件S2S 功能介 ...

  7. mt7601u linux驱动编译,移植MT7601U AP Linux 驱动至Orangepi-PC2开发板

    简单一下记录移植MT7601U AP Linux 驱动至Orangepi-PC2开发板的过程. 二  环境描述 1.Orangpi-PC2开发板(Linux Orangepi 3.10.65 #12 ...

  8. Linux学习之ARM开发板连接ubuntu18.04LTS及NFS相关配置

    Linux学习之ARM开发板连接ubuntu18.04LTS及NFS相关配置 第一步:在PC机安装Ubuntu18.04LTS 具体安装步骤参见上一篇文章 第二步:安装arm-linux-gcc交叉编 ...

  9. 集多功能为一体的智能WiFi模块Linux多线程处理器openwrt开发板工业4G路由器网口有线转无线WiFi

    集多功能为一体的智能WiFi模块Linux多线程处理器openwrt开发板工业路由器网口有线转无线WiFi双路RS485/RS232串口透传 RMS7688A集多功能为一体的智能WiFi模块,能跑Li ...

  10. imx6板载linux登录时间,大干货!迅为IMX6开发板丨Android丨Ubuntu丨Linux丨三大系统全开源.doc...

    大干货!迅为IMX6开发板丨Android丨Ubuntu丨Linux丨三大系统全开源.doc (5页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.90 ...

最新文章

  1. [译] ASP.NET 生命周期 – ASP.NET 上下文对象(六)
  2. OpenCV实现图像金字塔
  3. 记录一个班级的成绩练习一维数组
  4. 超图iServer重置管理员密码图解
  5. java编码ppt_[2018年最新整理]Java编码规范.ppt
  6. drop by time at xjtlu consultation center
  7. Linux pause函数 详解
  8. labview与单片机正弦信号_LabVIEW小白入门——低通滤波器
  9. 基于51单片机的时钟系统
  10. Java中使用try-with-resource优雅的关闭io流
  11. pyspark 数据写入hive_Pyspark将数据写入hi
  12. ❤️《Vue前端基础框架集合从入门到高级》(小白也可学,建议收藏)❤️
  13. 视频+课件| 视觉引导系列课程-绪论
  14. linux中的rar文件怎么打开方式,linux下怎么解压缩rar文件教程
  15. 2G,3G,4G,5G的不同之处
  16. OpenCV打开摄像头截图
  17. 网络安全培训小白入门课,从buu到红帽的图片隐写
  18. .net学习笔记——学生信息管理系统(一、在SQL server中新建学生信息库)
  19. NoSQL代表: Mongo DB(芒果数据库) NoSQL代表: Mongo DB(芒果数据库)
  20. Redis(四)集群-AKF、CAP

热门文章

  1. 可编程控制器的基本组成部分
  2. MAC电脑新建TXT文档快捷键的设置技巧
  3. 如何利用Python程序读取Excel创建折线图
  4. 解决WPS页码上有小横线问题
  5. 美国计算机一年制,美国一年制硕士
  6. 代收邮件服务器(pop,接收邮件服务器(POP)是?什么是 POP3? POP3 命令包括什么?
  7. iOS越狱之Mac登录iPhone
  8. 写作专用各种表情和符号,使你的文章更加美观有趣!❤️❤️❤️
  9. 人工智能学习资料之2021图灵大会笔记
  10. 论坛mysql表设计_网站论坛如何制作—简单论坛数据库的设计与操作