尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

RT-Thread CH32V208W-R0 BSP 上手指南:RT-Studio 导入、ESP8266 联网与 RTduino 实战

RT-Thread CH32V208W-R0 BSP 上手指南:RT-Studio 导入、ESP8266 联网与 RTduino 实战 操作系统嵌入式物联网嵌入式OSRTOS【免费下载链接】rt-threadRT-Thread is an open source IoT Real-Time Operating System (RTOS). https://rt-thread.github.io/rt-thread/项目地址https://gitcode.com/gh_mirrors/rt/rt-thread点击查看免费下载本篇技术指南以 RT-Thread 开源仓库中 CH32V208W-R0 板级支持包BSP的官方英文上手指南为主体系统讲解如何基于 WCH 沁恒 CH32V208WBU6RISC-V 内核最高主频 144MHz开发板完成「RT-Thread Studio 工程导入 → 驱动开关配置 → ESP8266 AT 模组联网 → RTduino 生态兼容层使用」的完整开发链路。读完本文你将掌握 RT-Studio 环境下导入并编译 BSP 的标准流程、使用图形化配置开关组合片上外设的方法以及通过 AT 组件 UART2 让开发板接入 Wi-Fi 的完整实操方案。1 开发板与 BSP 概况CH32V208W-R0 是 WCH 推出的基于 RISC-V 内核的开发板属于 RT-Thread 仓库bsp/wch/risc-v目录下的官方 BSP 之一同目录还包含 ch32v103r-evt、ch32v307v-r1、ch569w-evt 等兄弟板卡其 BSP 结构与驱动框架可以互相参考。板级支持包的位置为 bsp/wch/risc-v/ch32v208w-r0随板卡发布的说明文档 readme.md中文与 README_EN.md英文共同构成了本指南的主体。根据 readme.md 中的官方描述该开发板基本特性如下项目说明MCUCH32V208WBU6RISC-V 内核主频最高 144MHzFLASH/RAM 容量可配置LED2 个注意板载 LED 默认不与管脚直接连接需自行用杜邦线引出按键3 个Download、Reset、UserUSB2 个网口1 个内置 10M PHY以太网控制器位于芯片内部调试板上无 WCH-Link 下载调试工具需外接编译器已测试 WCH RISC-V GCC 8.2.0在 RT-Thread 驱动框架层面BSP 的硬件抽象由 board/board.c 与 board/board.h 承担rt_hw_board_init()中完成 SysTick 配置SystemCoreClock / RT_TICK_PER_SECOND即 144MHz/1000、串口驱动初始化rt_hw_usart_init()、控制台设备绑定rt_console_set_device(uart1)、PIN 驱动初始化rt_hw_pin_init()并调用rt_components_board_init()完成板级组件初始化。BSP 默认配置存放于 rtconfig.h其中RT_CONSOLE_DEVICE_NAME被定义为uart1即串口 1 作为系统控制台输出。2 准备阶段根据 README_EN.md 的第 1 节动手前需要准备以下三样东西RT-Thread 源码仓库将 RT-Thread 的 GitHub 仓库拉取到本地可使用git clone对网络不友好的环境可通过镜像方式获取。RT-Thread Studio 集成开发环境下载并安装 RT-Thread StudioRT-Thread 官方出品的嵌入式 IDE内置 ENV 配置、编译、下载与调试工具链。CH32V208W-R0 的 BSP 明确支持 RT-Studio 工程本指南即以 RT-Studio 环境为例展开。ESP8266 模块用于后续联网实操的 Wi-Fi 模组。若你希望绕开 IDE、直接用命令行构建readme.md 也提供了完整的 Env 工具链方案安装/解压 MounRiver Studio 工具链后设置环境变量RTT_EXEC_PATH指向wch-riscv-none-elf-gcc-8/bin依次执行scons --pyconfig-silent、pkgs --update、scons -j4编译完成后会在工程根目录生成rtthread.bin文件还支持scons --targetcmake CLion、scons --targetvsc VSCode 等替代开发方式。初次导入 RT-Studio 前建议先用 Env 方式编译一次以拉取 SDK 依赖pkgs --update。3 导入 BSP 到 RT-Thread Studio3.1 导入工程打开 RT-Thread Studio 后按以下步骤将 BSP 导入工作空间点击菜单File文件→ Import导入在导入向导中选择RT-Thread BSP 到工作空间中Import RT-Thread BSP into the workspace填写工程信息BSP 根目录指向bsp/wch/risc-v/ch32v208w-r0其余信息按照示例填写即可。导入完成后工程根目录下会携带参考文档readme可先按 readme.md 进行基础配置。3.2 选择 newlib 以减小内存占用链接时若添加标准库会带来明显的固件体积与内存增长。为了降低内存占用文档推荐在工程配置中选择newlib相对于完整标准库更精简的 C 运行库实现。具体操作在 RT-Studio 的工程属性/构建设置中找到库选择项切换为 newlib 并保存设置。这是 RISC-V 嵌入式工程中常见的省内存手段尤其适合 FLASH/RAM 受限的 MCU 场景。3.3 编译工程点击编译选项按钮执行构建编译结果窗口显示工程编译通过即代表准备阶段完成。此后每次改动配置驱动开关、软件包开关后重新编译即可生成新的固件。4 使用 RT-Studio 配置 BSP 驱动RT-Thread 的每个 BSP 都预先适配了若干片上外设驱动与板载外设驱动使用 RT-Studio 的 RT-Thread Settings 界面打开对应开关、并按使用环境配置参数即可生效。需要注意由于芯片管脚存在复用功能并非所有片上外设驱动与板载外设驱动可以同时开启必须结合开发板原理图合理选择外设组合。以本 BSP 的驱动菜单 board/Kconfig 为例图形化配置背后映射的开关体系包括On-chip Peripheral Drivers片上外设GPIOBSP_USING_GPIO默认开启并选中RT_USING_PIN对应 main.c 中rt_pin_get(PA.0)的使用方式UART1 ~ UART8BSP_USING_UARTx默认全部关闭需按需打开UART1 为控制台串口ADC1/ADC2 及内部温度、内部 Vref 通道CH16/CH17DAC 双通道软件 I2C 总线 swi2c1/swi2c2含 SCL/SDA 管脚号配置默认如 swi2c1 使用 pin 38/39SPI1 ~ SPI3 及软件 SPI swspi1/swspi2含 SCK/MISO/MOSI 管脚号默认 swspi1 为 25/23/24RTC可选 LSI 或 LSE 时钟源LSI_VALUE默认 40000IWDT 看门狗、CAN1/CAN2、TIM1~TIM10每个定时器可选择作为 clock_timer 时钟源或 PWM 输出PWM 模式下再细分 CH1~CH4 通道。Onboard Peripheral Drivers板载外设目前板上仅提供BSP_USING_ARDUINORTduino 生态兼容开关开启后会自动联动选择 GPIO、ADC、TIM/PWM 等一批依赖驱动详见下文第 6 节。RT-Thread 还拥有丰富的软件包生态AT 设备、网络协议栈、传感器库、图形界面等。在 RT-Studio 的 RT-Thread Settings 中打开对应软件包开关即可将软件包自动加入工程参与编译无需手动移植源码。5 联网实操ESP8266 模组 AT 组件ESP8266 是面向物联网应用的高性价比、高度集成的 Wi-Fi MCU也可单独作为 Wi-Fi 透传模块使用通常支持AT 指令操作方式。RT-Thread 为这类支持 AT 指令的模组提供了统一的抽象层——AT 组件屏蔽了不同模组 AT 指令集的差异向上提供标准网络接口。本节将完整走通「AT 组件 ↔ 串口 ↔ ESP8266」的联网链路。5.1 配置板载 UART 外设使能 UART2AT 组件与 ESP8266 模组之间采用串口通信控制台已占用 UART1因此需要再使能一路串口本 BSP 选用UART2。串口驱动在 BSP 中已默认实现只需在 RT-Studio 的 RT-Thread Settings 中打开Enable UART2开关对应 Kconfig 中的BSP_USING_UART2然后按Ctrl S保存设置串口 2 即被初始化。5.2 使用 RT-Studio 配置 AT 组件点击左侧RT-Thread Settings选项弹出右侧配置菜单在搜索栏输入AT选择AT 设备AT device并启用选择设备类型为ESP8266然后配置以下参数AT 设备对应的串口名称选择刚使能的uart2串口波特率等通信参数按 ESP8266 模组实际配置常见 115200Wi-Fi 名称SSID与密码填写你希望连接的无线路由器凭据。保存设置后AT 设备组件会被加入工程重新编译即生效。5.3 ESP8266 模组接线按文档给出的硬件连接方式接线使用杜邦线开发板管脚模组管脚PA2RXPA3TX开发板引出的电源管脚VCC/GND为模组供电注意 PA2/PA3 正是 UART2 的默认复用引脚这也印证了 5.1 节选择 UART2 的原因——串口编号与管脚复用关系一一对应配置外设时必须结合原理图核对管脚复用。5.4 使能内核调试功能观察初始化过程为了更直观地观察组件初始化与网络连接过程可以在 RT-Thread Settings 中打开**内核调试kernel debug**选项调试完成后可关闭以节省输出开销。重新编译并烧录固件后在串口终端115200-8-1-N中可以看到 RT-Thread 的启动 banner、组件初始化日志以及 AT 设备与 Wi-Fi 的连接过程输出。5.5 Wi-Fi 联网测试由于 5.2 节已在 AT 设备配置中写入了 Wi-Fi 的 SSID 与密码系统启动后 ESP8266 会自动完成连接。在 RT-Thread 的 FinSH/MSH shell 中执行ping www.baidu.com若 shell 输出类似64 bytes from ...的回复数据则说明 ESP8266 模组联网成功RT-Thread 的 lwIP 网络栈已通过 AT 设备获得可用的网络通路。6 RTduino 组件兼容 Arduino 生态RTduino是 RT-Thread 实时操作系统的 Arduino 生态兼容层属于 RT-Thread 社区的子项目、Arduino 开源项目的下游工程目标是兼容 Arduino 社区生态以丰富 RT-Thread 的软件包生态例如数千种分类齐全的 Arduino 库以及社区优秀开源项目并显著降低 RT-Thread 操作系统及适配芯片的学习门槛。6.1 配置 RTduino在 RT-Thread Settings 的**板载设备驱动Onboard Peripheral Drivers**中打开RTduino选项对应 board/Kconfig 中的BSP_USING_ARDUINO。该开关会自动select PKG_USING_RTDUINO并联动打开 GPIO、ADC1、TIM1/TIM3/TIM4 的 PWM 通道、RTDUINO_USING_WIREI2C等依赖项同时imply RTDUINO_USING_SERVO。按Ctrl S保存后RTduino 软件包即被加入工程。6.2 使用 RTduino 编写应用启用 RTduino 后工程中会生成 applications/arduino_main.cpp其中包含 Arduino 开发者熟悉的setup()与loop()入口可以像使用官方 Arduino 开发板一样编写逻辑。仓库中默认的示例代码如下#include Arduino.h void setup(void) { /* put your setup code here, to run once: */ pinMode(LED_BUILTIN, OUTPUT); } void loop(void) { /* put your main code here, to run repeatedly: */ digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN)); delay(100); }工程默认执行一个LED 闪烁功能setup()中将板载 LED 引脚配置为输出loop()中每 100ms 翻转一次 LED 电平。管脚别名映射定义在 applications/arduino_pinout/pins_arduino.h数字引脚D0 ~ D15、模拟引脚A0 ~ A5按顺序映射到芯片管脚LED_BUILTIN定义为D8F_CPU定义为144000000L与 144MHz 主频一致RTduino 串口Serial1复用uart1PA9-TX / PB0-RX管脚布局参考同目录下的ch32v208w-pinout.png引脚图。需要特别提醒ch32v208w-r0 这块板子的板载 LED 默认不与管脚直接连接用户使用 LED 时需要用杜邦线手动将 LED 与控制管脚连接起来之后才能看到闪烁现象。这与 main.c 中通过rt_pin_get(PA.0)驱动 LED0 的方式可互为对照——原生 RT-Thread 方式使用 PIN 设备 APIRTduino 方式则使用pinMode/digitalWrite抽象二者最终都落到同一套 GPIO 驱动上。至此ch32v208w-r0 的基础环境便搭建与测试完毕从 RT-Studio 导入编译、驱动开关组合配置到 ESP8266 联网验证再到 RTduino 生态应用开发整条 RT-Thread BSP 开发链路均可复用到同系列其他 RISC-V 板卡上。7 常见问题与要点速查现象 / 需求处理要点编译通过但控制台无输出确认串口工具参数为 115200-8-1-N且连接的是 UART1 对应管脚AT 组件收不到模组应答检查 PA2/PA3 与模组 RX/TX 是否交叉连接、模组供电是否正常、波特率是否一致外设同时启用冲突核对 board/Kconfig 中各外设默认管脚结合原理图避免复用冲突LED 不亮该板载 LED 未直接连接管脚需用杜邦线手动连接控制引脚希望减小固件体积工程配置中改用 newlib见 3.2 节需要命令行构建使用 Env设置RTT_EXEC_PATH后执行scons --pyconfig-silent pkgs --update scons -j4产物为rtthread.bin详见 readme.md赞分享操作系统嵌入式物联网嵌入式OSRTOS【免费下载链接】rt-threadRT-Thread is an open source IoT Real-Time Operating System (RTOS). https://rt-thread.github.io/rt-thread/项目地址https://gitcode.com/gh_mirrors/rt/rt-thread点击查看免费下载相关推荐RT-Thread 在 CH32V208W-R0RISC-V开发板上的完整上手指南Env 编译、RT-Studio 配置与 ESP8266 联网实战RT Thread 在 CH32V208W R0RISC V开发板上的完整上手指南Env 编译、RT Studio 配置与 ESP8266 联网实战 本篇操作系统嵌入式物联网嵌入式OSRTOSRT-Thread BSP xmc7100d-f144k4160aa 的 Arduino 生态兼容RTduino实战指南RT Thread BSP xmc7100d f144k4160aa 的 Arduino 生态兼容RTduino实战指南 本篇技术指南以 RT Thread操作系统嵌入式物联网嵌入式OSRTOSRT-Thread BSP 实战MIMXRT1060-EVK 开发板快速上手与 RW007 WiFi 联网指南RT Thread BSP 实战MIMXRT1060 EVK 开发板快速上手与 RW007 WiFi 联网指南 本篇技术指南围绕 RT Thread 开源仓库操作系统嵌入式物联网嵌入式OSRTOS上一篇3个理由告诉你为什么CotEditor是macOS用户必备的轻量级文本编辑器下一篇Karrio路线图详解2026年最值得期待的7个新功能创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表