沁恒 ch32v208(一): ch32v208wbu6 评估板上手报告和win10环境配置
ch32v208系列是沁恒32位risc-v中比较新的一个系列, 基于青稞risc-v4c内核, 最高144mhz主频, 64kb sram,128kb flash, 供电电压2.5/3.3v.
这个型号的特点: 除了特有的硬件堆栈区、快速中断入口, 片上集成了 2mbps低功耗蓝牙ble 5.3, 10m以太网mac phy, usb2.0全速设备 主机/设备接口, can控制器.
10m以太网是带 phy 的, 可以直连网口, 省掉焊接lan8720了
主要参数
qingke v4c processor, up to 144mhz system clock frequency.
single-cycle multiplication and hardware division.
64kb sram, 128kb flash.
supply voltage: 2.5v/3.3v. gpio unit is supplied independently.
low-power modes: sleep/stop/standby.
bluetooth low energy 5.3.
10m ethernet controller (mac phy).
power-on/power-down reset (por/pdr), programmable voltage detector (pvd).
2 amplifiers.
16-channel 12-bit adc, 16-channel touchkey.
5 timers.
usb2.0 full-speed host/device device interface.
4 usarts.
one can interface (2.0b active).
2 iic interfaces, 2 spi interfaces.
53 i/o ports, can be mapped to 16 external interrupts.
crc calculation unit, 96-bit unique id.
serial 2-wire debug interface.
packages: lqfp64m, qfn68, qfn48, qfn28.
相关资料
ch32v208 产品页, 手册和示例下载 https://www.wch.cn/products/ch32v208.html
ch32v208wbu6 评估板
这个板比较大, 尺寸8.6cm * 9.5cm, 上面集成了蓝牙天线, rj45网口, 两个usb-a母口
有电源开关, 开关是用于控制typec口的供电的, 如果通过swd口供电, 这个开关无效
烧录是通过评估板右上角, 编号为4的2x5排针, 排针布局正好和wch-link 的排针布局一致
三颗led, 一颗电源指示, 两颗未连接但是有对应的排针(led1和led2), 可以自己用跳线连到其他pin口方便观察输出
烧录器 wch-link
烧录 ch32v208 可以用 wch-link 或 wch-linke
开发环境
win10下的开发环境比较简单, 使用软件 mounriver, 当前版本v1.84, 可以支持沁恒全系列的risc-v芯片. 下载地址 http://mounriver.com/download
软件集成了代码编辑, 编译环境和烧录工具. 直接安装即可. 基于 eclipse 开发, 需要熟悉一下 eclipse 的快捷键.
注意要使用较新的版本, 旧版本不支持 ch32v208
mounriver的使用说明参考官方专栏, 介绍得较为详细
示例代码
从 ch32v208 产品页 https://www.wch.cn/products/ch32v208.html 可以找到 ch32v208 评估板说明及应用参考例程 ch32v20xevt.zip
下载后, 解压得到的目录结构如下, 其中 pub 下是评估板的说明和电路图, exam 下是按外设区分的各个例程的子目录
|-- pub:
| |-- ch32v20x评估板说明书.pdf:ch32v20x评估板说明及工程创建说明
| |-- ch32v20xsch.pdf:ch32v20x评估板原理图
|-- exam:
| |-- src
| | |-- core:内核系统头文件
| | |-- debug:延时函数、串口调试源文件及头文件
| | |-- ld:ld文件
| | |-- peripheral:基本外设驱动源文件及头文件
| | |-- startup:启动文件。针对用户使用芯片型号包含下列相应的启动文件,同时在ch32v20x.h文件中选择匹配芯片型号定义
| | | |-- startup_ch32v20x_d6.s:适用于ch32v203f6-ch32v203g6-ch32v203k6-ch32v203k8-ch32v203c6-ch32v203c8系列
| | | |-- startup_ch32v20x_d8.s:适用于ch32v203rb系列
| | | |-- startup_ch32v20x_d8w.s:适用于ch32v208系列
| |-- adc adc 例程
| |-- ble ——仅适用于ch32v20x_d8w
| |-- bkp:bkp例程
| |-- can ——仅适用于ch32v20x_d6-ch32v20x_d8w
| |-- crc:crc例程
| |-- dma
| |-- eth ——仅适用于ch32v20x_d8-ch32v20x_d8w
| |-- exti:外部中断线例程
| |-- flash:flash的擦/读/写,以及快速编程
| |-- freertos:freertos移植例程
| |-- gpio:gpio例程
| |-- harmonyos:harmonyos移植例程
| |-- i2c
| |-- int
| |-- iap:iap升级例程-内置hex转bin工具和iap升级工具
| |-- iwdg:独立看门狗例程
| |-- opa:opa4作电压跟随器输出例程
| |-- pwr
| |-- rcc
| |-- rt-thread:rt-thread移植例程
| |-- rtc:日历例程
| |-- spi
| |-- tencentos:tencentos移植例程
| |-- tim
| |-- touchkey:touchkey检测例程
| |-- usart
| |-- usb
| |-- wwdg:窗口看门狗例程
下面以最简单的gpio示例走一遍编译烧录的过程
连线
开发板 ---> wchlink, 注意不要连usb口, 如果已经通过pc的usb口连接了开发板, 就不要连wchlink vcc, 如果连了wchlink vcc, 就不要接usb口
clk -> swclk
dio -> swdio
gnd -> gnd
vdd -> 3v3
txd -> rx (可以不连)
rxd -> tx (可以不连)
开发板本身
连接一个led到 pa0, 用于观察pa0的输出
编译项目
下载的示例代码解压后, 在mounriver中 file -> load -> project, 打开 evt\exam\gpio\gpio_toggle目录下的 gpio_toggle.wvproj
按 shift f7 或通过工具栏按钮编译即可. 编译正常会显示
12:08:14 **** build of configuration obj for project gpio_toggle ****
make -j4 all
text data bss dec hex filename
6908 136 2072 9116 239c gpio_toggle.elf
12:08:19 build finished. 0 errors, 0 warnings. (took 5s.11ms)
示例项目中默认的构建结果为 hex 文件, 编译结束后在 obj 目录下能看到 gpio_toggle.hex
下载/烧录
通过 wch-link 连接开发板之后, 在 mounriver 中通过菜单 flash -> configuration 可以打开下载设置
点击第一个图标 query status 查询芯片状态, 连接成功后底下会显示 0000#07:48:33:283>> query success, 同时会显示红色的 code read-protect status disabled 或绿色的 code read-protect status enabled, 红色的表示读保护关闭, 这时候可以烧录, 如果是绿色表示读保护打开, 需要关闭后才能烧录. 下面 target 中会显示检测到的mcu类型, 写入开始地址 0x08000000, 以及要写入的文件 obj\gpio_toggle.hex
以上无误后, 应用保存, 按 f8 或点击工具栏图标烧录, 烧录过程输出
------------ begin flash process of "obj\gpio_toggle.hex" ------------
12:14:11:930 >> current project vendor is wch, debugger is wch-link
12:14:11:930 >> attempt to open link device and upgrade firmware if necessary...
12:14:11:987 >> link device is ch549. already the latest version v2.8, no need to upgrade
12:14:12:059 >> starting to send chip type...
12:14:12:102 >> send chip type success
12:14:12:102 >> starting to check read-protect status...
12:14:12:103 >> read-protect status currently disabled
12:14:12:103 >> starting to erase all...
12:14:12:242 >> erase all success
12:14:12:244 >> starting to download & verify...
12:14:13:077 >> download & verify success
12:14:13:077 >> starting to reset...
12:14:13:090 >> reset success
12:14:13:090 >> starting to close link...
12:14:13:092 >> close link success
---------------------------------end ---------------------------------
operation finished (took 1s.166ms)
烧录成功后就能看到连接的led开始闪烁
wch cmsis-dap 驱动不识别(黄色感叹号)
当使用过旧版 wch-daplink 或者安装中未正常升级, 在连接daplink模式的 wch-link 后, 设备管理器显示带黄色警告的wch cmsis-dap, 此时在 wch-linkutility里是无法找到wchlink的, 需要先安装驱动. 沁恒并没有单独提供这个驱动的下载, 但是在安装了 mounriver 之后, 其目录下实际上是包含了对应驱动的.
- 在 wch cmsis-dap 上右键更新驱动
选择浏览电脑, 搜索路径设成 mounriver 的安装目录 (默认为 c:\mounriver), 勾选包含子文件夹
下一步, 就会自动安装
wch cmsis-dap 切换为 risc-v 模式的 wch-link
首先电脑要能正确识别 cmsis-dap 模式的 wch-link, 如果驱动未安装, 可以参考上一步. 在 cmsis-dap 模式下, wch-link 的 con 灯是常亮的.
- 打开 wch-linkutility, 点击下方 active wch-link mode 右边的 get, 就能看到当前的模式为 wch-linkdap-winusb
在模式中选择 wch-linkrv, 再点击 set, 就会开始更新固件, 切换到 risc-v 模式
切换完成后, con灯常灭