• [国嵌攻略][163][linux-usb软件系统架构]


    软件系统架构

    1.主机端软件架构

    USB设备驱动->USB核心->USB主控制器驱动->USB主控制器

    2.设备端软件架构

    Gadget驱动->Gadget API->UDC驱动->USB控制器

    MassStrorage驱动体验(host 接口)

    可以让主机挂载大容量存储器

    1.主控器驱动配置

    make menuconfig ARCH=arm

    device drivers->usb support->[*]support for host-side usb-><*>ohci hcd support

    2.配置设备驱动

    device drivers->usb support->[*]support for host-side usb->

    usb mass storage support

    3.配置热插拔

    general setup->[*]configure standard kernel features(for small systems)

    ->[*]support for hot-pluggable devices

    4.配置块设备

    device drivers->[*]block devices-><*>low performance usb block driver

    device drivers->scsi device support-><*>scsi device support

    device drivers->scsi device support-><*>scsi disk suppport

    device drivers->scsi device support-><*>scsi generic support

    5.配置文件系统

    file systems->dos/fat/nt filesystems-><*>msdos fs support

    file systems->dos/fat/nt filesystems-><*>vfat(windows-95)fs support

    file systems->dos/fat/nt filesystems->(936)default codepage for fat

    file systems->dos/fat/nt filesystems->(cp936)default iocharset for fat

    file systems->partition types->[*]advance partition selection->

    [*]pc bios(msdos partition tables) support

    file systems->native language support->

    <*>simplified chinese charset(cp936,gb2312)

    file systems->native language support-><*>NLS UTF8

    5.编译内核

    make uImage ARCH=arm CROSS_COMPILE=arm-linux-

    6.挂载块设备

    mount /dev/uba /mnt

    RNDIS驱动体验(salve 接口)

    可以使USB端口模拟成网卡使用

    1.配置控制器驱动

    make menuconfig ARCH=arm

    device drivers->usb support-><*>usb gadget support->

    usb peripheral controller(s3c2410 usb device controller)

    2.配置gadget驱动

    device drivers->usb support-><*>usb gadget support->[M]usb gadget drivers

    device drivers->usb support-><*>usb gadget support->

    [M]ethernet gadget(with cdc ethernet support)->[*]rndis support

    3.编译内核

    make uImage ARCH=arm CROSS_COMPILE=arm-linux-

    4.编译模块

    make modules ARCH=arm CROSS_COMPILE=arm-linux-

    cp drivers/usb/gadget/g_ether.ko .../rootfs

    5.安装模块

    insmod g_ether.ko

    6.启动usb网卡

    ifconfig usb0 192.168.30.1

    7.安装usb网卡驱动

    打开Windows设备管理器->更新驱动程序软件->从计算机的设备驱动程序表中选择->网络适配器->Microsoft Corporation->Remote NDIS Compatible Device

    8.设置usb网卡地址

    9.测试usb网卡

    ping 192.168.30.1

  • 相关阅读:
    [ios][swift]提示框,并自动消失
    [ios][switf]页面跳转
    [ios][swift]UIButton
    [ios][swift]文本框UITextField用法
    html分割线
    html里 调整字间距
    php数字补零的两种方法
    PHP格式化数字和SMARTY格式化数字的方法
    CSS控制文字,超出部分显示省略号
    指定DIV局部刷新的简单实现,很简单,但是网上搜到的大部分都很复杂
  • 原文地址:https://www.cnblogs.com/d442130165/p/5295443.html
Copyright © 2020-2023  润新知