站点图标 CNX中文站

CherryUSB,用于嵌入式系统的轻量级USB设备和主机协议栈

本文共计602字,预计阅读2分钟

CherryUSB是一种轻量级的开源USB设备/主机协议栈,适用于具有一个或多个USB接口的嵌入式系统。它目前已经能应用于各类驱动程序了,例如CDC、HID、MSC、音频、视频等。

显然CherryUSB协议栈是Boufallo Lab SDK的一部分(例如用于BL702 MCU),而且它已经在WCH CH32V307 RISC-V MCU、意法半导体STM32F4、新塘NUC442 Cortex-M4微控制器,以及EastSoft ES32F3和 MindMotion MM32L3xx这两个从未听说过的Arm Cortex-M3微控制器上进行过移植和测试了。

用于嵌入式系统的CherryUSB USB协议栈

CherryUSB设备协议栈的亮点:

CherryUSB的USB类设备堆栈内核使用的是3045字节的闪存和373字节的RAM,而HID类则需要额外的784字节存储空间和201字节RAM。目前我还不知道这些数据具体是基于哪些芯片的,但至少可以做个简单参考。

CherryUSB主机协议栈的特性:

对了,我目前也还不知晓主机堆栈占用的资源情况。

他们的源代码可以在Github上找到,开源许可协议是Apache 2.0 。他们的Github上还有一个用于生成USB描述符的图形配置工具。他们的文档也是可使用的,不过暂时只有中文版本。此外,我还注意到了他们一些关于RT-Thread RTOS的说明,因此除了介绍中提供的列表之外,该协议栈应该也可以支持其他的微控制器。

分享这篇文章
退出移动版