0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

USB Gadget zero應(yīng)用上機(jī)實(shí)驗(yàn)

麥辣雞腿堡 ? 來(lái)源:嵌入式Linux系統(tǒng)開(kāi)發(fā) ? 作者:嵌入式Linux系統(tǒng)開(kāi) ? 2023-07-13 11:15 ? 次閱讀

2. 上機(jī)實(shí)驗(yàn)

實(shí)驗(yàn)步驟:

  • 先安裝 g_zero 驅(qū)動(dòng)程序:在開(kāi)發(fā)板上執(zhí)行modprobe g_zero
  • 然后連接 OTG 線到 PC
  • 在 Ubuntu 中識(shí)別出設(shè)備
  • 執(zhí)行測(cè)試程序
    • 先編譯:在 Ubuntu 里執(zhí)行如下命令
apt-cache search libusb               # 查找 libusb 開(kāi)發(fā)包
sudo apt install libusb-1.0-0-dev     # 安裝 libusb 開(kāi)發(fā)包
gcc -o zero_app zero_app.c -lusb-1.0  # 編譯
  • 測(cè)試:在 Ubuntu 里執(zhí)行如下命令
$ sudo ./zero_app -l    # 列出設(shè)備的配置值
config 0: bConfigurationValue = 3
config 1: bConfigurationValue = 2

# 測(cè)試loopback功能
$ sudo ./zero_app -s 2                  # 選擇loopback的配置
$ sudo ./zero_app -wstr www.100ask.net  # 寫(xiě)入字符串
current config: 2
in_ep = 0x81, out_ep = 0x1
$ sudo ./zero_app -rstr                # 讀出字符串
current config: 2
in_ep = 0x81, out_ep = 0x1
Read string: www.100ask.net

$ sudo ./zero_app -w 1 2 3 4 5 6 7 8   # 寫(xiě)入8個(gè)字節(jié)
current config: 2
in_ep = 0x81, out_ep = 0x1
sudo ./zero_app -r                     # 讀到8個(gè)字節(jié)
current config: 2
in_ep = 0x81, out_ep = 0x1
transferred != in_ep_maxlen
Read datas:
01 02 03 04 05 06 07 08

#測(cè)試Source/Sink功能
$ sudo ./zero_app -s 3                   # 選擇source/sink的配置         
book@100ask:~/nfs_rootfs/05_libusb_zero$ sudo ./zero_app -r  # 讀數(shù)據(jù)
current config: 3
in_ep = 0x81, out_ep = 0x1
Read datas:
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

sudo ./zero_app -w 0 0 0  # 寫(xiě)數(shù)據(jù), 只能寫(xiě)入0, 
                          # 寫(xiě)入其他值將會(huì)導(dǎo)致開(kāi)發(fā)板上的驅(qū)動(dòng)認(rèn)為是錯(cuò)誤然后halt out端點(diǎn)
                          # 然后只能重新執(zhí)行 ”sudo ./zero_app -s 3“ 才能恢復(fù)
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5086

    文章

    19141

    瀏覽量

    305925
  • usb
    usb
    +關(guān)注

    關(guān)注

    60

    文章

    7955

    瀏覽量

    264957
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11314

    瀏覽量

    209772
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何配置USB OTG為Gadget serial device?

    現(xiàn)需要將OKA40i-C板子上的OTG下載口配置為虛擬串口,實(shí)現(xiàn)u***串行通信,利用linux已存在的u***轉(zhuǎn)虛擬串口驅(qū)動(dòng):USB Gadget Drivers (Serial Gadget
    發(fā)表于 01-04 06:47

    基于Linux內(nèi)核的Rockchip USB Gadget UAC開(kāi)發(fā)資料分享

    1、Rockchip USB Gadget UAC開(kāi)發(fā)步驟本文檔提供 Rockchip 平臺(tái)基于 Linux 內(nèi)核的 USB Gadget UAC(
    發(fā)表于 08-10 16:03

    RK3288使用USB GADGET實(shí)現(xiàn)大容量存儲(chǔ)腳本

    (){mount -t configfs none /sys/kernel/configmkdir /sys/kernel/config/usb_gadget/rockchip -m
    發(fā)表于 11-18 16:33

    求助,關(guān)于USB gadget安裝虛擬網(wǎng)口問(wèn)題求解

    1.make linux-menuconfig USB support ----> <*>USB Gadget Support ---->
    發(fā)表于 09-01 06:14

    匯編語(yǔ)言上機(jī)實(shí)驗(yàn)指導(dǎo)書(shū)

    匯編語(yǔ)言上機(jī)實(shí)驗(yàn)指導(dǎo)書(shū)一、概述上機(jī)實(shí)驗(yàn)總學(xué)時(shí)為18學(xué)時(shí),其中綜合性和設(shè)計(jì)性實(shí)驗(yàn)至少為8學(xué)時(shí)。實(shí)驗(yàn)
    發(fā)表于 03-23 16:06 ?21次下載

    Labview之上機(jī)實(shí)驗(yàn)

    Labview之上機(jī)實(shí)驗(yàn)二,很好的Labview資料,快來(lái)下載學(xué)習(xí)吧。
    發(fā)表于 04-19 09:54 ?0次下載

    Labview之上機(jī)實(shí)驗(yàn)之三

    Labview之上機(jī)實(shí)驗(yàn)之三,很好的Labview資料,快來(lái)下載學(xué)習(xí)吧。
    發(fā)表于 04-19 10:23 ?0次下載

    哈工大四系FPGA上機(jī)實(shí)驗(yàn)編程部分

    哈工大四系FPGA上機(jī)實(shí)驗(yàn)編程部分
    發(fā)表于 10-20 15:52 ?16次下載

    微雪電子Zero/Zero W USB轉(zhuǎn)接板簡(jiǎn)介

    樹(shù)莓派Zero/Zero W/Zero WH USB轉(zhuǎn)接板 micro USB轉(zhuǎn)換Type A接口,方便接入計(jì)算機(jī),無(wú)需連接其他線材或
    的頭像 發(fā)表于 01-06 10:50 ?1694次閱讀
    微雪電子<b class='flag-5'>Zero</b>/<b class='flag-5'>Zero</b> W <b class='flag-5'>USB</b>轉(zhuǎn)接板簡(jiǎn)介

    [嵌入式linux]將linux板卡虛擬為USB網(wǎng)卡設(shè)備(Ethernet Gadget

    kernel menuconfig-> Device Drivers ->USB support -> USB Gadget Support 建議最好選成M,作為內(nèi)核驅(qū)動(dòng)模塊,便于
    發(fā)表于 11-02 11:36 ?12次下載
    [嵌入式linux]將linux板卡虛擬為<b class='flag-5'>USB</b>網(wǎng)卡設(shè)備(Ethernet <b class='flag-5'>Gadget</b>)

    AMD Xilinx Linux 2022.1 USB Gadget使用

    有客戶使用Linux中的USB Gadget功能,把MPSoC器件做USB從設(shè)備
    的頭像 發(fā)表于 07-07 14:15 ?716次閱讀

    USB Gadget serial應(yīng)用實(shí)例(上)

    1. 硬件體驗(yàn) 使用 Linux 自帶的 USB Gadget 驅(qū)動(dòng) /drivers/usb/gadget/legacy/serial.c 使用
    的頭像 發(fā)表于 07-13 11:06 ?2886次閱讀
    <b class='flag-5'>USB</b> <b class='flag-5'>Gadget</b> serial應(yīng)用實(shí)例(上)

    USB Gadget zero應(yīng)用實(shí)例程序

    1. 編寫(xiě)程序 1.1 編程思路 涉及的程序如下圖所示: PC 端基于 libusb 編寫(xiě)應(yīng)用程序,開(kāi)發(fā)板端直接使用 Linux 自帶的 USB Gadget 驅(qū)動(dòng) zero.c【/drivers
    的頭像 發(fā)表于 07-13 11:14 ?1103次閱讀
    <b class='flag-5'>USB</b> <b class='flag-5'>Gadget</b> <b class='flag-5'>zero</b>應(yīng)用實(shí)例程序

    從硬件軟件角度理解Gadget框架

    2. 從硬件軟件角度理解 Gadget 框架 USB 傳輸?shù)暮诵氖?endpoint,使用 endpoint 可以收發(fā)數(shù)據(jù)。在 endpoint 之上,就可以模擬 USB 串口、USB
    的頭像 發(fā)表于 07-13 11:32 ?1120次閱讀
    從硬件軟件角度理解<b class='flag-5'>Gadget</b>框架

    USB鼠標(biāo)驅(qū)動(dòng)程序上機(jī)實(shí)驗(yàn)

    上機(jī)實(shí)驗(yàn) 需要重新配置內(nèi)核,去掉內(nèi)核自帶的驅(qū)動(dòng)程序。在內(nèi)核目錄下執(zhí)行"make menuconfig": Device Drivers --- > HID support
    的頭像 發(fā)表于 07-17 17:35 ?699次閱讀