TinyUSB 是一個(gè)用于嵌入式系統(tǒng)的開源跨平臺(tái) USB Host/Device 協(xié)議棧,其為了內(nèi)存安全而設(shè)計(jì),沒有動(dòng)態(tài)分配,同時(shí)也是線程安全的,所有中斷事件都會(huì)被推遲,然后在非 ISR 任務(wù)函數(shù)中處理,支持多種 MCU。目前 TinyUSB 的源代碼托管在 GitHub 上。
在社區(qū)成員譚豐偉的努力下,通過對(duì) TinyUSB 上游倉(cāng)庫(kù)進(jìn)行 移植,目前已成為 RT-Thread 軟件包。
支持情況
目前軟件包僅支持 USB Device 協(xié)議棧。同時(shí)希望能有更多的社區(qū)伙伴能參與到 MCU 的適配中。
設(shè)備類
CDC
MSC
HID
MCU
STM32: F0, F1, F2, F3, F4, F7, H7, L0, L1, L4
NRF52840
HPM6000 系列
開始使用
啟用軟件包
1、ENV軟件包在 ENV 包管理器中的路徑為:
在 Keil MDK 中使用時(shí),請(qǐng)選擇 ARM Clang 編譯器,或手動(dòng)在編譯選項(xiàng)中選中 GNU Extensions。
2、RT-Thread Studio在 RT-Thread Studio 中,搜索 TinyUSB 即可將軟件包添加至工程。
軟件包配置
這里我們使用 CDC 虛擬串口,以及軟件包提供的示例來進(jìn)行演示。首先在配置中啟用 USB 設(shè)備,然后依次選中 CDC 和 CDC 設(shè)備的示例,保存關(guān)閉設(shè)置界面,軟件包便會(huì)自動(dòng)下載添加到項(xiàng)目中。
在編譯完成后,將程序燒錄至芯片中。將 USB OTG 口連接上電腦后,我們可以在設(shè)備管理器中看到對(duì)應(yīng)的端口。
在 Putty 或 MobaXterm 中分別打開 FinSH 和 CDC 對(duì)應(yīng)的端口,在控制臺(tái)中輸入 cdc_example ,即可在 CDC 的端口中輸入任意字符(不超過 32 個(gè)字符),按下回車后,會(huì)顯示剛剛輸入的字符。
用戶手冊(cè)
用戶手冊(cè)已經(jīng)在 RT-Thread 文檔中心上線(鏈接請(qǐng)復(fù)制至外部瀏覽器打開):https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/packages-manual/tinyusb-docs/introduction
問題反饋
Issue: RT-Thread-packages/tinyusb
-
usb
+關(guān)注
關(guān)注
60文章
7981瀏覽量
266108 -
軟件包
+關(guān)注
關(guān)注
0文章
104瀏覽量
11657 -
RT-Thread
+關(guān)注
關(guān)注
31文章
1305瀏覽量
40388
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論