diff --git a/README.md b/README.md index 0676909e..25e7f0b6 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ English

-CherryUSB is a tiny, beautiful and portable USB host and device stack for embedded system with USB IP. +CherryUSB is a tiny and beautiful, high performance and portable USB host and device stack for embedded system with USB IP. ![CherryUSB](CherryUSB.svg) diff --git a/README_zh.md b/README_zh.md index fde84e78..8a5bb45d 100644 --- a/README_zh.md +++ b/README_zh.md @@ -12,7 +12,7 @@ English

-CherryUSB 是一个小而美的、可移植性高的、用于嵌入式系统(带 USB IP)的 USB 主从协议栈。 +CherryUSB 是一个小而美的、可移植性高的、用于嵌入式系统(带 USB IP)的高性能 USB 主从协议栈。 ![CherryUSB](CherryUSB.svg) diff --git a/VERSION b/VERSION index 340d4aef..ce12c2db 100644 --- a/VERSION +++ b/VERSION @@ -1,5 +1,5 @@ VERSION_MAJOR = 1 VERSION_MINOR = 4 -PATCHLEVEL = 2 +PATCHLEVEL = 3 VERSION_TWEAK = 0 EXTRAVERSION = 0 diff --git a/common/usb_version.h b/common/usb_version.h index d207af9d..1d3f93e5 100644 --- a/common/usb_version.h +++ b/common/usb_version.h @@ -15,7 +15,7 @@ #undef CHERRYUSB_VERSION_STR #endif -#define CHERRYUSB_VERSION 0x010402 -#define CHERRYUSB_VERSION_STR "v1.4.2" +#define CHERRYUSB_VERSION 0x010403 +#define CHERRYUSB_VERSION_STR "v1.4.3" #endif \ No newline at end of file diff --git a/docs/source/conf.py b/docs/source/conf.py index 05dc615a..d8ce4e17 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -6,8 +6,8 @@ project = 'CherryUSB' copyright = '2022 ~ 2024, sakumisu' author = 'sakumisu' -release = '1.4.2' -version = '1.4.2' +release = '1.4.3' +version = '1.4.3' # -- General configuration diff --git a/docs/source/quick_start/rtthread.rst b/docs/source/quick_start/rtthread.rst index 062e6eab..4df1633f 100644 --- a/docs/source/quick_start/rtthread.rst +++ b/docs/source/quick_start/rtthread.rst @@ -91,7 +91,7 @@ INIT_APP_EXPORT(usbh_init); * 使用 `scons --target=mdk5` 或者 `scons` 进行编译,如果是mdk,需要使用 AC6 编译器 -* 如果使用的是 GCC ,需要在链接脚本(ld)中添加如下代码: +* 如果使用的是 GCC ,需要在链接脚本(需要放在 flash 位置)中添加如下代码: .. code-block:: C @@ -102,6 +102,30 @@ __usbh_class_info_end__ = .; +举例如下: + +.. code-block:: C + + /* The program code and other data into "FLASH" Rom type memory */ + .text : + { + . = ALIGN(4); + *(.text) /* .text sections (code) */ + *(.text*) /* .text* sections (code) */ + *(.glue_7) /* glue arm to thumb code */ + *(.glue_7t) /* glue thumb to arm code */ + *(.eh_frame) + + KEEP (*(.init)) + KEEP (*(.fini)) + . = ALIGN(4); + __usbh_class_info_start__ = .; + KEEP(*(.usbh_class_info)) + __usbh_class_info_end__ = .; + . = ALIGN(4); + _etext = .; /* define a global symbols at end of code */ + } > FLASH + 借助 STM32CubeMX 生成 USB 初始化 ---------------------------------- diff --git a/docs/source/quick_start/transplant.rst b/docs/source/quick_start/transplant.rst index 0f8e4b92..bde9d830 100644 --- a/docs/source/quick_start/transplant.rst +++ b/docs/source/quick_start/transplant.rst @@ -76,6 +76,8 @@ GCC 举例如下: 协议栈以及 port 中不会对 cache 区域的 ram 进行 clean 或者 invalid,所以需要使用一块非 cache 区域的 ram 来维护。 `USB_NOCACHE_RAM_SECTION` 宏表示将变量指定到非 cache ram上, 因此,用户需要在对应的链接脚本中添加 no cache ram 的 section。默认 `USB_NOCACHE_RAM_SECTION` 定义为 `__attribute__((section(".noncacheable")))`。 +.. note:: 需要注意,光指定 section 是不够的,还需要配置该 section 中的 ram 是真的 nocache,一般需要配置 mpu 属性(arm 的参考 stm32h7 demo)。 + GCC: .. code-block:: C diff --git a/docs/source/version.rst b/docs/source/version.rst index ba7a3170..0f7ab396 100644 --- a/docs/source/version.rst +++ b/docs/source/version.rst @@ -86,4 +86,17 @@ v1.4.2 - host 增加 AOA 驱动 - 兼容 C++ 相关修改 - fsdev 不支持 ISO 和 DWC2 高速 hub 不支持全速低速检查 -- 通用 OHCI 代码更新 \ No newline at end of file +- 通用 OHCI 代码更新 + +v1.4.3 +---------------------- + +- device ep0 处理增加线程模式 +- device audio feedback 宏和demo +- device rndis 增加透传功能(无LWIP) +- host msc 将 scsi 初始化从枚举线程中移出,在mount阶段调用,并增加了testunity 多次尝试,兼容一部分 U 盘 +- rp2040 主从支持 +- nuttx fs,serial,net 组件支持 +- dwc2、ehci、ohci 主机 dcache功能支持 +- t113、MCXA156、CH585 、stm32h7r 支持 +- 修复 v1.4.1 中 altsetting 为0时应该关闭所有端点的问题 \ No newline at end of file diff --git a/idf_component.yml b/idf_component.yml index a500a240..b34f4759 100644 --- a/idf_component.yml +++ b/idf_component.yml @@ -1,4 +1,4 @@ -version: "1.4.2" +version: "1.4.3" description: CherryUSB is a tiny and portable USB Stack (device & host) for embedded system with USB IP tags: - usb