跳到主要内容

CH32 环境配置

CH32的RISC-V工具链极其混乱,推荐使用的有如下两种:

  • 官方MRS自带的riscv-wch-elf: 支持WCH的rv32imafcxw拓展指令集,但是对C++标准实现有残缺,无法使用Eigen等C++库
  • 上游riscv32-unknown-elf:不支持WCH的拓展指令集,但是对C++标准实现完整,需要自行编译。Windows下需要使用MSYS2进行编译,过程较为繁琐。

快速编译可以使用本项目提供的Docker镜像。

CMake配置

需要多配置一个选项:LIBXR_CH32_CONFIG_FILE,指定CH32外设库的配置文件路径,例如:ch32v30x_conf.h

set(LIBXR_SYSTEM FreeRTOS)
set(LIBXR_DRIVER ch)

set(LIBXR_CH32_CONFIG_FILE "ch32v30x_conf.h")

add_subdirectory(libxr)

...

示例工程

CH32V307+FreeRTOS+XRUSB