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

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

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

USB Gadget zero應(yīng)用上機(jī)實驗

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

2. 上機(jī)實驗

實驗步驟:

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

# 測試loopback功能
$ sudo ./zero_app -s 2                  # 選擇loopback的配置
$ sudo ./zero_app -wstr www.100ask.net  # 寫入字符串
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   # 寫入8個字節(jié)
current config: 2
in_ep = 0x81, out_ep = 0x1
sudo ./zero_app -r                     # 讀到8個字節(jié)
current config: 2
in_ep = 0x81, out_ep = 0x1
transferred != in_ep_maxlen
Read datas:
01 02 03 04 05 06 07 08

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

    關(guān)注

    5046

    文章

    18821

    瀏覽量

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

    關(guān)注

    60

    文章

    7779

    瀏覽量

    262429
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11125

    瀏覽量

    207928
收藏 人收藏

    評論

    相關(guān)推薦

    如何配置USB OTG為Gadget serial device?

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

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

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

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

    (){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)口問題求解

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

    匯編語言上機(jī)實驗指導(dǎo)書

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

    Labview之上機(jī)實驗

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

    Labview之上機(jī)實驗之三

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

    哈工大四系FPGA上機(jī)實驗編程部分

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

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

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

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

    kernel menuconfig-> Device Drivers ->USB support -> USB Gadget Support 建議最好選成M,作為內(nèi)核驅(qū)動模塊,便于
    發(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 ?633次閱讀

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

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

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

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

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

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

    USB鼠標(biāo)驅(qū)動程序上機(jī)實驗

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