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

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

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

如何對TinyUSB上游倉庫進行移植

科技綠洲 ? 來源:RTThread物聯(lián)網(wǎng)操作系統(tǒng) ? 作者:RTThread物聯(lián)網(wǎng)操作 ? 2022-05-06 11:26 ? 次閱讀

TinyUSB 是一個用于嵌入式系統(tǒng)的開源跨平臺 USB Host/Device 協(xié)議棧,其為了內(nèi)存安全而設(shè)計,沒有動態(tài)分配,同時也是線程安全的,所有中斷事件都會被推遲,然后在非 ISR 任務(wù)函數(shù)中處理,支持多種 MCU。目前 TinyUSB 的源代碼托管在 GitHub 上。

在社區(qū)成員譚豐偉的努力下,通過對 TinyUSB 上游倉庫進行 移植,目前已成為 RT-Thread 軟件包。

支持情況

目前軟件包僅支持 USB Device 協(xié)議棧。同時希望能有更多的社區(qū)伙伴能參與到 MCU 的適配中。

設(shè)備類

CDC

MSC

HID

MCU

STM32: F0, F1, F2, F3, F4, F7, H7, L0, L1, L4

NRF52840

HPM6000 系列

開始使用

啟用軟件包

1、ENV軟件包在 ENV 包管理器中的路徑為:

pYYBAGJ0lPeAdixMAABxyKmsD4w146.png

Keil MDK 中使用時,請選擇 ARM Clang 編譯器,或手動在編譯選項中選中 GNU Extensions。

pYYBAGJ0lQOAJp7xAADrXg621JY080.png

2、RT-Thread Studio在 RT-Thread Studio 中,搜索 TinyUSB 即可將軟件包添加至工程。

pYYBAGJ0lRKAKsnBAABqeI7jx5Y550.png

軟件包配置

這里我們使用 CDC 虛擬串口,以及軟件包提供的示例來進行演示。首先在配置中啟用 USB 設(shè)備,然后依次選中 CDC 和 CDC 設(shè)備的示例,保存關(guān)閉設(shè)置界面,軟件包便會自動下載添加到項目中。

pYYBAGJ0lSaAb7Q-AACdj_PsUkg845.png

在編譯完成后,將程序燒錄至芯片中。將 USB OTG 口連接上電腦后,我們可以在設(shè)備管理器中看到對應(yīng)的端口。

poYBAGJ0lTaABHlkAACmDNh0Wx8380.png

pYYBAGJ0lUCAQOk2AABTgRoHgwk312.png

在 Putty 或 MobaXterm 中分別打開 FinSH 和 CDC 對應(yīng)的端口,在控制臺中輸入 cdc_example ,即可在 CDC 的端口中輸入任意字符(不超過 32 個字符),按下回車后,會顯示剛剛輸入的字符。

pYYBAGJ0lUqAR2AEAABFflKGtfc388.png

用戶手冊

用戶手冊已經(jīng)在 RT-Thread 文檔中心上線(鏈接請復(fù)制至外部瀏覽器打開):https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/packages-manual/tinyusb-docs/introduction

問題反饋

Issue: RT-Thread-packages/tinyusb

審核編輯:彭菁
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • usb
    usb
    +關(guān)注

    關(guān)注

    60

    文章

    7882

    瀏覽量

    263777
  • 軟件包
    +關(guān)注

    關(guān)注

    0

    文章

    99

    瀏覽量

    11567
  • RT-Thread
    +關(guān)注

    關(guān)注

    31

    文章

    1265

    瀏覽量

    39855
收藏 人收藏

    評論

    相關(guān)推薦

    ESP32S3 USB CDC TinyUsb TX卡死的原因?怎么解決?

    問題描述: 我使用tinyusb_cdcacm_write_queue()函數(shù)發(fā)送數(shù)據(jù),每150ms調(diào)用一次,每次發(fā)送10256個數(shù)據(jù)。 一開始能正常發(fā)送,大概5分鐘之后
    發(fā)表于 06-05 06:22

    menuconfig的tinyusb msc打開編譯報錯是什么原因?qū)е碌模?/a>

    : esp-idf/espressif__tinyusb/libespressif__tinyusb.a(msc_device.c.obj):(.literal.proc_builtin_scsi+0x10
    發(fā)表于 06-11 08:19

    如何在ESP32S3上使用TinyUSB,配置為Vendor Class設(shè)備?

    您好,請問如何再ESP32S3上使用TinyUSB,配置為Vendor Class設(shè)備,沒找到參考例程
    發(fā)表于 06-17 06:43

    esp32s2用tinyusb編譯不成功的原因?

    esp32s2 用tinyusb編譯不成功 有教程指路嗎 版本是4.4
    發(fā)表于 06-18 06:44

    在STM32F103VB上使用tinyusb完成配置之后沒有反應(yīng)是怎么回事

    嘗試STM32F103VB上使用tinyusb,完成配置之后開始沒有反應(yīng)。調(diào)試后發(fā)現(xiàn)這個上拉電阻的實現(xiàn)需要手動實現(xiàn)控制:dcd_disconnectdcd_connect之后調(diào)試發(fā)現(xiàn)設(shè)備還是無法識別
    發(fā)表于 04-15 16:50

    stm32103VB tinyusb使用異常,無法識別描述符是為什么?

    嘗試STM32F103VB上使用tinyusb,完成配置之后開始沒有反應(yīng)。調(diào)試后發(fā)現(xiàn)這個上拉電阻的實現(xiàn)需要手動實現(xiàn)控制:dcd_disconnectdcd_connect之后調(diào)試發(fā)現(xiàn)設(shè)備還是無法識別
    發(fā)表于 05-30 11:08

    如何使用計算機上的本地倉庫以及GitHub上托管的遠程倉庫

    的名稱。 例如,源倉庫上游倉庫是兩種常見選擇。遠程倉庫的新 URL。 例如:如果您要更新為使用 HTTPS,您的 URL 可能如下所示:如果您要更新為使用 SSH,您的 URL 可能
    發(fā)表于 06-22 16:57

    esp32如何直接通過lvgl主倉庫進行使用的?

    example是直接執(zhí)行了lv_init(),請問這個esp_lcd的工作原理是咋樣的,他是如何直接通過lvgl主倉庫進行使用的?
    發(fā)表于 02-17 08:11

    如何使用Class軟件進行倉庫規(guī)劃仿真研究

    面臨著巨大的挑戰(zhàn)。倉庫的建設(shè)是整個倉儲活動的開端,對今后倉庫活動的有效運行起著至關(guān)重要的作用。所以本文在對港區(qū)及北貨站區(qū)基本運營情況進行調(diào)研的基礎(chǔ)上,運用Class倉儲仿真軟件,針對鄭州航空港機場國內(nèi)貨運站擬建
    發(fā)表于 01-15 14:45 ?9次下載
    如何使用Class軟件<b class='flag-5'>進行</b><b class='flag-5'>倉庫</b>規(guī)劃仿真研究

    基于開源GSYRickText進行的OHOS化移植和開發(fā)

    項目介紹: 本項目是基于開源項目GSYRickText 進行OHOS化的移植和開發(fā)的。 移植版本:v2.0.2 項目名稱:GSYRichText 所屬系列:OHOS的第三方組件適配移植
    發(fā)表于 03-18 15:31 ?3次下載

    TinyUSB針對嵌入式系統(tǒng)的開源USB堆棧

    tinyusb.zip
    發(fā)表于 04-15 10:33 ?3次下載
    <b class='flag-5'>TinyUSB</b>針對嵌入式系統(tǒng)的開源USB堆棧

    wms倉庫管理對企業(yè)的重要性

    一、什么是wms倉庫管理? WMS是倉庫管理系統(tǒng)的縮寫,它提供了一個可視化、智能化的平臺,幫助公司進行倉庫作業(yè)的管理和優(yōu)化。WMS系統(tǒng)可以支持各種類型的
    的頭像 發(fā)表于 05-11 15:53 ?534次閱讀

    TinyUSB基本介紹和移植例程

    TinyUSB是一個用于嵌入式系統(tǒng)的開源的跨平臺USB協(xié)議棧,協(xié)議棧中包含了主機端及設(shè)備端的協(xié)議棧,由于不使用動態(tài)內(nèi)存分配以及采用阻塞所有中斷事件,在非ISR任務(wù)功能中處理中斷事件的設(shè)計方式,所以此協(xié)議棧的內(nèi)存安全性及線程安全性極高。
    的頭像 發(fā)表于 07-14 09:38 ?9556次閱讀
    <b class='flag-5'>TinyUSB</b>基本介紹和<b class='flag-5'>移植</b>例程

    基于MM32F0163D7P的USB接口TinyUSB應(yīng)用:移植和新增設(shè)備(二)

    如果用戶想增加一個device設(shè)備但是在TinyUSB class里面又沒有參考示例,本次我們一起來移植一個CDC+printer復(fù)合設(shè)備。操作步驟還是和上篇一樣,先將TinyUSB 從GitHub上克隆下來,將src 整個文件
    的頭像 發(fā)表于 07-20 17:05 ?1145次閱讀
    基于MM32F0163D7P的USB接口<b class='flag-5'>TinyUSB</b>應(yīng)用:<b class='flag-5'>移植</b>和新增設(shè)備(二)

    Vision-Board 使用TinyUSB驅(qū)動Xbox游戲手柄

    Vision-Board社區(qū)有大佬搞新活了! 如果手上有XBOX手柄的話趕快掏出你的Vision-Board 體驗下: 接下來看看KunYi大佬如何進行添加的Xbox支持的: 準(zhǔn)備工作
    的頭像 發(fā)表于 05-10 15:42 ?452次閱讀
    Vision-Board 使用<b class='flag-5'>TinyUSB</b>驅(qū)動Xbox游戲手柄