资讯动态

Zephyr 中的 MuseLab 板卡支持:nanoCH32V317 与 nanoCH57x 的硬件特性、引脚映射、构建烧录与调试实战

发布时间:2026/9/18 16:32:18 来源:尧图企业网站定制
Zephyr 中的 MuseLab 板卡支持nanoCH32V317 与 nanoCH57x 的硬件特性、引脚映射、构建烧录与调试实战【免费下载链接】zephyrPrimary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.项目地址: https://gitcode.com/GitHub_Trending/ze/zephyr本文以 Zephyr 仓库中 MuseLab 板卡支持文档为主线系统讲解两块 RISC-V 开发板——集成 100BASE-TX 以太网 MAC/PHY 的 nanoCH32V317 与支持 BLE/2.4GHz 射频的 nanoCH57x——的硬件规格、Zephyr 特性支持、引脚映射与调试器接线并给出从west build到west flash/west debug的完整可复现流程。读完本文你将掌握如何在 Zephyr 下为这两块板卡构建应用、选择烧录工具minichlink / wlink / wchisp / OpenOCD以及配置 WCH OpenOCD 完成调试。MuseLab 板卡家族概览在 Zephyr 仓库中MuseLab 板卡位于 boards/muselab 目录其文档入口 boards/muselab/index.rst 以 toctree 聚合了两块开发板的完整文档板卡SoC架构核心亮点nanoCH32V317WCH CH32V317WCU6RISC-VQingKe V4F片上 100BASE-TX 以太网 MAC PHY144 MHz 主频nanoCH57xWCH CH570 / CH572RISC-VQingKe V3CBLE / 2.4GHz 射频收发最高 100 MHz两块板卡均由 MuseLab 出品均基于沁恒WCHRISC-V 芯片可在 Zephyr 中以标准的构建 烧录 调试工作流使用。board.yml声明了板卡与 SoC 变体nano_ch32v317 提供ram_64k / ram_96k / ram_128k / ram_192k四个变体见 boards/muselab/nano_ch32v317/board.ymlnano_ch57x 提供ch570与ch572两个 SoC 目标见 boards/muselab/nano_ch57x/board.yml。nanoCH32V317自带以太网 PHY 的 RISC-V 开发板硬件规格MuseLab nanoCH32V317 是基于 RISC-V 架构 CH32V317WCU6 SoC 的开发板详见 boards/muselab/nano_ch32v317/doc/index.rst处理器QingKe V4F 32 位 RISC-V 内核由外部晶振提供时钟运行频率 144 MHz板载外设复位按键reset、启动按键boot、1 颗用户 LED、2 个 USB 端口以及 1 个以太网 RJ45 接口最具特色之处芯片集成了以太网 MAC 与 PHY直接支持 100BASE-TX 以太网无需外接 PHY 芯片即可联网。警告该板没有 USB VBUS 二极管切勿同时从 USB 与外部电源为板卡供电以免损坏器件。Zephyr 支持的特性板卡元数据定义在 boards/muselab/nano_ch32v317/nano_ch32v317.yaml 中identifier: nano_ch32v317 name: MuseLab nanoCH32V317 type: mcu arch: riscv toolchain: - cross-compile - zephyr ram: 32 # 默认 32 KB 片上 SRAM flash: 480 # 480 KB Flash supported: - gpio - i2c - netif:eth # 以太网网络接口 - uart - spi - pwm vendor: muselab默认 defconfignano_ch32v317_defconfig开启CONFIG_GPIO、CONFIG_SERIAL、CONFIG_CONSOLE与CONFIG_UART_CONSOLE保证串口控制台开箱即用。由于 CH32V317 提供多档 RAM 封装board.yml还声明了 64K/96K/128K/192K 四档 RAM 变体对应仓库中的nano_ch32v317_ch32v317_ram_*.dts与配套 defconfig 文件便于在不同封装型号间切换。设备树中的时钟与以太网配置公共设备树 boards/muselab/nano_ch32v317/nano_ch32v317_common.dtsi 揭示了板级的完整初始化细节时钟链外部高速晶振clk_hse以 8 MHz 使能clock-frequency DT_FREQ_M(8)PLL 以 HSE 为时钟源rcc再从 PLL 取时钟——这正是处理器跑到 144 MHz 的时钟来源控制台zephyr,console与zephyr,shell-uart均指向usart1配置 115200 波特率并使用usart1_defaultpinctrl随机数rng节点默认使能以太网mac节点使能phy-connection-type internal表明使用芯片内置 PHYmdio总线上挂载了地址为 0 的ethernet-phy0mac_default/mdio_defaultpinctrl 完成引脚复用LED 与 PWM板载用户 LED 位于 PA0GPIO_ACTIVE_LOW低电平点亮同时 PA0 复用为 TIM2_CH1设备树中预留了pwm-led0别名可通过pwm2通道 0 以 20ms 周期、反极性驱动实现呼吸灯效果PWM_MSEC(20)PWM_POLARITY_INVERTED无需额外接线。构建、烧录与调试应用的构建与烧录方式与 Zephyr 常规流程完全一致。以经典 blinky 为例west build -b nano_ch32v317 samples/basic/blinky west flash烧录工具有三种选择minichlink配置好minichlink后即可按常规方式构建与烧录wlinkWCH 编程器的替代工具wchisp通过 USB 引导加载程序bootloader烧录的备选方案。调试则通过minichlink/openocd完成。由于该板自带以太网 MAC/PHY官方文档还推荐用 DHCP 客户端示例直接验证板载以太网外设west build -b nano_ch32v317 samples/net/dhcpv4_client west flash上电后板卡将尝试通过内置 PHY 从网络中获取 DHCP 地址可据此确认硬件链路与 Zephyr 网络栈是否工作正常。nanoCH57xBLE / 2.4GHz 射频评估板硬件规格MuseLab nanoCH57x 是基于 RISC-V 架构 CH570/CH572 SoC 的评估板详见 boards/muselab/nano_ch57x/doc/index.rst处理器QingKe V3C 32 位 RISC-V 内核最高 100 MHz使用 32 MHz 外部晶振板载资源电源指示灯、复位按键、1 个 USB 端口、1 颗用户 LED无线能力板载 2.4G PCB 天线支持 BLE / 2.4GHz 射频收发。两块 SoC 的 Zephyr 支持声明在 nano_ch57x_ch570.yaml 与 nano_ch57x_ch572.yaml 中均为 12 KB RAM、256 KB Flash支持uart、gpio、comparator。默认 defconfig 开启CONFIG_SERIAL、CONFIG_CONSOLE、CONFIG_UART_CONSOLE见 nano_ch57x_ch570_defconfig。引脚映射表CH570/CH572 的外设可路由到板上不同引脚映射关系通过设备树DTS配置。下表给出各外设的可选引脚与默认引脚节选自 boards/muselab/nano_ch57x/doc/index.rst外设可选引脚默认引脚UART0 RXDPA2, PA3, PA0, PA1, PA6, PA9, PA10, PA11PA2UART0 TXDPA3, PA2, PA1, PA0, PA7, PA8, PA11, PA10PA3IC20 SCLPA8, PA0, PA3, PA5PA8IC20 SDAPA9, PA1, PA2, PA6PA9SPI0 MOSIPA7PA7SPI0 MISOPA6PA6SPI0 SCKPA5, PA3PA5SPI0 SCSPA4, PA2PA4TMR0 - PWM0PA7, PA2, PA4, PA9PA7TMR0 - CAPIN1PA7, PA2, PA4, PA9PA7TMR0 - CAPIN2PA2, PA7, PA9, PA4PA2PWM (1-5)PA7, PA2, PA3, PA4, PA8PA7, PA2, PA3, PA4, PA8KEYSCAN (0-4)PA2, PA3, PA8, PA10, PA11PA2, PA3, PA8, PA10, PA11CMP0 - NPA2PA2CMP0 - PPA3, PA7PA3从源码结构看这些路由由 boards/muselab/nano_ch57x/nano_ch57x-pinctrl.dtsi 中的 pinctrl 节点定义承载实际使用哪个引脚取决于 pinctrl 状态选择。公共设备树 nano_ch57x_common.dtsi 中控制台/串口/Shell 均绑定uart0115200 波特率使用uart_defaultpinctrl用户 LEDled0定义在 GPIOA 第 11 脚GPIO_ACTIVE_HIGH标签为LED文档原文也特别指出 LED 定义可在此 dtsi 中查找。外部编程器接线WCH LinkE官方文档推荐使用外部编程器如 WCH LinkE来方便地烧录与调试接线方式如下WCH LinkE3V3GNDSWDIOSWCLKTXRXnanoCH57x3V3GPA0PA1PA2PA3注意使用前必须在板卡上启用调试接口并关闭代码保护code protection否则无法正常烧录与调试。OpenOCD 配置nanoCH57x 使用 OpenOCD 作为调试后端runner但需要WCH 专用的 OpenOCD例如 jnk0le 维护的 WCH OpenOCD 自由分支。可以通过两种方式让 Zephyr 使用指定的 OpenOCD 可执行文件方式一每次临时指定路径。在west flash或west debug命令中追加参数west flash --openocd path/to/wch-openocd/bin/openocd west debug --openocd path/to/wch-openocd/bin/openocd方式二写入构建配置只需执行一次west config build.cmake-args -- -DOPENOCDpath/to/wch-openocd/bin/openocd方式二通过build.cmake-args将OPENOCD变量固化到构建配置中之后无需再重复指定路径。另外仓库还提供了 openocd.cfg 作为该板卡的 OpenOCD 目标配置文件参考。构建、烧录与调试示例nanoCH57x 的构建目标需带 SoC 后缀nano_ch57x/ch570或nano_ch57x/ch572。blinky 示例west build -b nano_ch57x/ch570 samples/basic/blinky west flash调试同样通过 OpenOCD 进行west debug -b nano_ch57x/ch570 samples/basic/blinky注意调试命令一般不需要重复配置可使用--maybe-skip-config语义复用已有构建目录前提是按上文方式一或方式二正确指定了 WCH OpenOCD 的路径。注意事项与限制综合两块板卡的官方文档与源码使用时有以下几点需要留意电源安全nanoCH32V317 无 USB VBUS 二极管严禁同时使用 USB 与外部电源供电调试接口nanoCH57x 必须启用板卡调试接口且关闭代码保护才能使用 WCH LinkE 烧录调试工具链依赖nanoCH57x 依赖 WCH 专用 OpenOCD普通 OpenOCD 无法识别 CH57x 调试协议nanoCH32V317 除 OpenOCD 外也可使用 minichlink / wlink / wchisp目标命名nano_ch57x 的板卡目标必须携带 SoC 后缀nano_ch57x/ch570、nano_ch57x/ch572而 nano_ch32v317 通过board.yml提供 4 档 RAM 变体构建时按需选择对应 defconfig。参考文档板卡索引boards/muselab/index.rstnanoCH32V317 文档boards/muselab/nano_ch32v317/doc/index.rst板卡元数据nano_ch32v317.yaml公共设备树nano_ch32v317_common.dtsinanoCH57x 文档boards/muselab/nano_ch57x/doc/index.rst板卡元数据nano_ch57x_ch570.yaml公共设备树nano_ch57x_common.dtsiOpenOCD 配置openocd.cfg应用示例samples/basic/blinky、samples/net/dhcpv4_client在 Zephyr 中集成这两块 MuseLab 板卡意味着你可以用统一的west工具链同时驾驭带网口的 RISC-V 以太网节点与支持 BLE/2.4GHz 的射频评估板两类典型物联网场景从硬件接线、引脚复用到烧录调试都有了完整的官方支持路径。【免费下载链接】zephyrPrimary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.项目地址: https://gitcode.com/GitHub_Trending/ze/zephyr创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价