如何对TinyUSB上游仓库进行移植

描述

TinyUSB 是一个用于嵌入式系统的开源跨平台 USB Host/Device 协议栈,其为了内存安全而设计,没有动态分配,同时也是线程安全的,所有中断事件都会被推迟,然后在非 ISR 任务函数中处理,支持多种 MCU。目前 TinyUSB 的源代码托管在 GitHub 上。

在社区成员谭丰伟的努力下,通过对 TinyUSB 上游仓库进行 移植,目前已成为 RT-Thread 软件包。

支持情况

目前软件包仅支持 USB Device 协议栈。同时希望能有更多的社区伙伴能参与到 MCU 的适配中。

设备类

CDC

MSC

HID

MCU

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

NRF52840

HPM6000 系列

开始使用

启用软件包

1、ENV软件包在 ENV 包管理器中的路径为:

软件包

在 Keil MDK 中使用时,请选择 ARM Clang 编译器,或手动在编译选项中选中 GNU Extensions。

软件包

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

软件包

软件包配置

这里我们使用 CDC 虚拟串口,以及软件包提供的示例来进行演示。首先在配置中启用 USB 设备,然后依次选中 CDC 和 CDC 设备的示例,保存关闭设置界面,软件包便会自动下载添加到项目中。

软件包

在编译完成后,将程序烧录至芯片中。将 USB OTG 口连接上电脑后,我们可以在设备管理器中看到对应的端口。

软件包

软件包

在 Putty 或 MobaXterm 中分别打开 FinSH 和 CDC 对应的端口,在控制台中输入 cdc_example ,即可在 CDC 的端口中输入任意字符(不超过 32 个字符),按下回车后,会显示刚刚输入的字符。

软件包

用户手册

用户手册已经在 RT-Thread 文档中心上线(链接请复制至外部浏览器打开):https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/packages-manual/tinyusb-docs/introduction

问题反馈

Issue: RT-Thread-packages/tinyusb

  审核编辑:彭菁
 
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分