zoukankan      html  css  js  c++  java
  • [国嵌攻略][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

  • 相关阅读:
    Leetcode 92. Reverse Linked List II
    Leetcode 206. Reverse Linked List
    Leetcode 763. Partition Labels
    Leetcode 746. Min Cost Climbing Stairs
    Leetcode 759. Employee Free Time
    Leetcode 763. Partition Labels
    搭建数据仓库第09篇:物理建模
    Python进阶篇:Socket多线程
    Python进阶篇:文件系统的操作
    搭建数据仓库第08篇:逻辑建模–5–维度建模核心之一致性维度2
  • 原文地址:https://www.cnblogs.com/d442130165/p/5295443.html
Copyright © 2011-2022 走看看