目錄

背景
CherryUSB 文件選擇與編譯
測試代碼
Titan Board 特殊說明
性能測試結果
RA8P1開發板
背景
CherryUSB 在 commit faf9360 正式支持 Renesas RA 系列
硬件:RT-Thread RA8P1 Titan Board(Cortex-M85,1GHz)
軟件:e2studio + GCC(arm-none-eabi-gcc)
之前做過 RZN2L 移植 CherryUSB 和瑞薩 USB IP 性能對比,這次繼續相關測試
CherryUSB 文件選擇與編譯
需要編譯的源文件
先用笨辦法,將整個 CherryUSB 文件夾加入 e2studio 工程(方便后續直接替換),然后排除不需要的文件。實際需要編譯的只有:
分類 | 文件 | 說明 |
Core | core/usbd_core.c | USB 設備 核心棧 |
Class | class/cdc/usbd_cdc_acm.c | CDC ACM 類驅動 |
Port | port/renesas/device/usb_dc_rensas.c | RA USB DCD 驅動 |
Port | port/renesas/device/r_usb_device.c | Renesas FSP USB 設備 HAL |
對應的包含路徑需要添加:
CherryUSB
CherryUSB/common
CherryUSB/core
CherryUSB/port/renesas
CherryUSB/port/renesas/device
排除方法
e2studio 的多選排除編譯功能不太好用(不支持 Shift/Ctrl 多選后批量 Exclude from build)。推薦逐個文件右鍵 → Resource Configuration → Exclude from build。或者直接在 .cproject 中手動編輯排除規則。
排除類別
說明
全部排除再逐個添加
整個 CherryUSB 文件夾 Exclude,再對上述 4 個 .c 文件取消 Exclude
保留 demo
demo/
目錄是模板參考,不需要編譯
osal
當前只做 Device 模式,osal 文件不需要(CherryUSB 設備棧不依賴 OSAL)
usb_config.h 關鍵配置
通過注釋/取消注釋 CONFIG_USB_HS 切換 Full-Speed / High-Speed。
測試代碼
設備端
src/examples/cdc_acm_descriptor.c
— USB 描述符(VID 0x0483, PID 0x5720)
src/examples/cdc_acm_example.c
— CDC ACM 端點處理與初始化
src/hal_entry.c
— 主入口,通過 R_IOPORT_PinWrite(IO_PORT_04_PIN_13) 切換 FS/HS
FS/HS 切換邏輯:
上位機測試腳本
test_cdc_speed.py 增加了命令行參數,不帶參數使用默認 COM,帶參數使用指定 COM:
用法:
Titan Board 特殊說明
調試接口
排除類別
說明
調試器
DAPLink(CMSIS-DAP),無法直接在 e2studio 調試和下載
替代方案
移植 RT-Thread Studio 的
pyocd,編寫 pyocd_flash.bat,運行bat腳本即下載固件
進階
也可將 DAPLink 燒錄為
JLinkOB,使用 JLink 調試
pyocd 燒錄命令:
UART 調試口
Titan Board 的調試串口連接的是 UART8,與官方開發板不同。
USB FS/HS 引腳切換
RA8P1 的 USB 全速和高速使用不同的引腳,官方板使用 2 個 USB 端口(Type-C 各一)。Titan Board 通過 GPIO 4_13 控制模擬開關切換:
模式 | GPIO 4_13 | USB 基址 |
Full-Speed | 0 | R_USB_FS0 _BASE |
High-Speed | 1 | R_USB_HS0 _BASE |
軟件中通過宏 CONFIG_USB_HS 配合切換。
性能測試結果
Full-Speed
High-Speed
結果分析
模式 | OUT (Host→Device) | IN (Device→Host) |
Full-Speed | 0.81 MB/s | 0.41 MB/s |
High-Speed | 6.07 MB/s | 6.26 MB/s |
FS 和 HS 測速結果幾乎一致,說明當前高速模式未發揮應有帶寬。
RA8P1開發板
立即購買

淘寶直達鏈接:https://e.tb.cn/h.RsOop0Vjm3x60cM?tk=pfECgiGVlXx
添加小師弟好友“rtthread2020”
拉你進RT-Thread技術交流群,找到組織!



想要在RT-Thread平臺或社區投放內容?
或想參與相關直播活動及賽事?
RT-Thread已開放對接窗口,
請通過郵件與我們取得聯系,期待合作!
合作郵箱: tongfangyi@rt-thread.com