CH32V208是基于RISC-V开源指令集设计,因此开发环境和其他的RISC-V的开发环境类似。
RISC-V系列的MCU开发环境有很多,可以使用VS Code开发,也可以使用IDE,比如Embedded studio、Eclipse(Nuclei Studio、MounRiver Stuido、GNU MCU Eclipse)等,IAR也支持RISC-V。
本文笔者就介绍使用IDE和VS Code两种方式来开发CH32V208。
1 CH32V208概述
CH32V208系列是基于32位RISC-V设计的无线型微控制器,配备了硬件堆栈区、快速中断入口,在标准RISC-V基础上大大提高了中断响应速度。搭载V4C内核,加入内存保护单元,同时降低硬件除法周期。片上集成2Mbps低功耗蓝牙BLE 通讯模块、10M以太网MAC+PHY模块、USB2.0全速设备+主机/设备接口、CAN控制器等。资源非常丰富,如下图是CH32V208的系统框图。

2 基于MounRiver Stuido开发
MounRiver Stuido下载:http://www.mounriver.com/
MounRiver Stuido是一款针对嵌入式项目(RISC-V/ARM)的集成开发环境,提供了包括编辑器、C编译器、宏汇编、链接器、库管理、仿真调试器和下载器等在内的完整开发资源,工具链方面增加了对WCH RISC-V系列单片机中断硬件自动保存上下文功能的支持。
2.1 MounRiver Stuido安装
MounRiver Stuido 有多个系统版本,根据自己的系统下载对应的版本即可。

值得注意的是,安装MounRiver Stuido之前,电脑中要有Java运行时环境(JRE)。
因为MounRiver Stuido是Java写的,不然怎么能跨平台,这也是为什么在安装前需要检查Java环境。如果你安装过JDK,那么跳过此步骤即可。
JDK下载地址:https://www.oracle.com/java/technologies/downloads/
下载后点击JavaSetupxxx.exe即可安装。
打开命令提示符,输入java会有如下显示,则安装成功。

注意:打开命令提示符方法
win+R 输入cmd 即可。
还可以查看Jre版本:
Java -version

接下来就可以安装MounRiver Stuido,安装很简单,这里就不在赘述了。然后打开MounRiver Stuido。

值得注意的是,如果没有正常安装驱动,请手动安装驱动,驱动安装正常,设备管理器如下:

2.2 工程导入
这是既然是快速入门,自然是导入已有的工程,可以到CH官网下载相应的CH32V20xEVT.ZIP。
下载地址:https://www.wch.cn/downloads/CH32V20xEVT_ZIP.html
下载CH32V208开发板例程。

解压CH32V20xEVT.ZIP,里面有以下文件:

EXAM是CH32V20x的软件开发驱动及相应示例。
PUB提供了CH32V20x评估板说明书、评估板原理图。
接下来就可以直接工程了,有两种导入方式:
第一种:在相应的工程路径下直接双击.wvproj 后缀名的工程文件;
第二种:在 MounRiver IDE 中点击 File,点击 Load Project,选择相应路径下.project 文件,点击Confirm 应用即可。
笔者这里选择GPIO的实例。

导入工程后如下:

2.3 编译
接下来就可以编译工程了。

编译选项 1 为增量编译,对选中工程中修改过的部分进行编译;
编译选项 2 为 ReBuild,对选中工程进行全局编译;
编译选项 3 为 All Build,对所有的工程进行全局编译。
这里选择编译选项3。

出现以上信息表示编译成功了。
2.4 下载固件
编译没有错误就可以进行下载了,点击‘Download’即可开始下载。

稍等片刻即可下载完成。

固件下载完成后,复位后,LED就不断开始闪烁了。
值得注意的是,需要将PA0和LED1连接。
2.5 调试程序
点击‘Debug’按钮即可开始调试。

这个就没啥说的了。

2.6 新建模板工程
点击‘File->New-> MounRiver Project’,选择相应的型号即可创建工程。

新建工程后如下:

然后就和前面工程一样了。