博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux-usb软件系统架构
阅读量:4495 次
发布时间:2019-06-08

本文共 1750 字,大约阅读时间需要 5 分钟。

1.软件系统架构
USB主控制器,芯片里面自带了得。为了让USB主控制器运行,所有有USB主控制器驱动。
USB核心,内核提供好的USB协议之类的。USB设备驱动是针对插到接口的设备去工作的软件。
主机插得是HOST接口
开发板插的是SLAVE接口
Gadget驱动:让USB设备工作成特殊的状态(网卡,串口等)
2.USB-MassStorage驱动体验
在tq2440-kernel中选择Device Drivers -> USB support ->support for host…->OSCI HCD support(usb1.0的协议)
加载上U盘的驱动->USB Mass Storage support(USB设备驱动)
因为U盘比较特殊,我们还需要配置一些其他信息:General setup --->
[*] Configure standard kernel features (for small systems) --->
[*] Support for hot-pluggable devices (NEW)
hot-pluggable热插拔
U盘属于块设备、磁盘设备,选择支持块设备选项:
Device Drivers --->
Block devices --->
<*> Low Performance USB Block driver
同时选择SCCI选项:Device Drivers --->
SCSI device support --->
<*> SCSI device support
<*> SCSI disk support
<*> SCSI generic support
U盘必须还要有文件系统的支持:
File systems --->
DOS/FAT/NT Filesystems --->
   <*> MSDOS fs support 
   <*> VFAT (Windows-95) fs support 
   
(936) Default codepage for FAT 
   
(cp936) Default iocharset for FAT
Partition Types --->
  [*] PC BIOS (MSDOS partition tables) support
Native Language Support --->
 <*> Simplified Chinese charset (CP936, GB2312)
 <*> NLS UTF8
重新编译后,可以把U盘插到开发板中去。
  1. mount /dev/uba /mnt/
出错了,暂时找不到原因。估计和yaffs文件系统有关系:

点击(此处)折叠或打开

  1. yaffs: dev is 188743680 name is "uba"
  2. yaffs: passed flags ""
  3. yaffs: Attempting MTD mount on 180.0, "uba"
  4. yaffs: dev is 188743680 name is "uba"
  5. yaffs: passed flags ""
  6. yaffs: Attempting MTD mount on 180.0, "uba"
  7. mount: mounting /dev/uba on /mnt failed: Invalid argument
3.RNDIS驱动体验
把USB口模拟成网口
Device Drivers ->USB support ->USB gadget support(设备控制器驱动)
USB Gadget Drivers
Ethernet Gadget (with CDC Ethernet support)
这只好后需要重新编译内核的模块
  1. make ARCH=arm CROSS_COMPILE=arm-linux-
  2. make uImage ARCH=arm CROSS_COMPILE=arm-linux-
在开发板中设置usb的网络IP
  1. ifconfig usb0 192.168.1.30
在虚拟机中能PING通。

转载于:https://www.cnblogs.com/ch122633/p/7363287.html

你可能感兴趣的文章
4、Qt Project之串口数据传输
查看>>
Python List reverse()方法
查看>>
Jmeter 正则提取器
查看>>
lua -- 生成协议
查看>>
HLP帮助文件源文件RTF文件的编写
查看>>
2.30模型字符串拷贝
查看>>
XPATH怎么获取TITLE中有中文的标签
查看>>
Tomcat中server.xml参数说明
查看>>
Wget下载终极用法和15个详细的例子
查看>>
JavaScript16进制颜色值和rgb的转换
查看>>
Laravel 输出Hellow World!
查看>>
【bzoj 十连测】[noip2016十连测第九场]Problem B: 小P的单调区间(最长上升子序列+树状数组)...
查看>>
linux--samba
查看>>
django基础之中介模型
查看>>
关于副本机制
查看>>
Oracle之存储过程
查看>>
解决电脑复选框图标不正确方法
查看>>
伪数组怎么转为真正的数组呢~
查看>>
WebGL笔记(六):简单灯光
查看>>
JavaScript利用数组原型,添加方法实现遍历多维数组每一个元素
查看>>