本帖最后由 stm1024 于 2025-6-15 16:49 编辑
今天评测一下沁恒微提供的工具链使用方式,然后在开发环境下以最经典的点灯作为demo,演示开发板最基本的GPIO操作。
1. 集成开发环境:MounRiver Studio Ⅱ
从http://www.mounriver.com/下载MounRiver Studio Ⅱ,这是一个集成开发环境(IDE),以RISC-V内核为主的嵌入式集成开发环境。在该环境下可以实现源代码编写,编译,调试和下载等功能。
既然有II,那肯定就有I,这两个版本的差别还挺大的。MounRiver Studio I是基于Eclipse进行二次开发而成的,但是MounRiver Studio Ⅱ则转向了VSCode,因此对于我这种更倾向使用VSCode开发的人员来说,上手起来会容易很多。
界面如下:
2. ISP下载工具:WCHISPTool
这个工具在安装MounRiver Studio Ⅱ时是集成在里面的,不过也可以单独下载,链接是https://www.wch.cn/downloads/wchisptool_setup_exe.html
这个界面如下:
两个软件也附带有帮助手册,可以看一下,不过总的来说上手还是很容易的,这里就不多介绍了。
3. 新建项目
在MounRiver Studio Ⅱ下新建一个RISC-V工程:
注意要根据开发板选择合适的芯片类型。
4. 示例程序
确定以后,在main.c源码下提供了一个串口程序的代码,这里全删除,我们只研究最简单的功能,也就是GPIO点灯。
首先从EVT.zip中找到开发板的原理图,可以看到LED0/1如下:
此处需要注意,显然LED0/1所连接的GPIO口如果输出GND,那么就可以点亮,从原理图中我们也发现PA0,PA1上有LED功能,但是这两者并没有通过导线连接起来,实际上我们还得自己将其连接起来(当然也可以选择连接其他的GPIO口的Pin)。
然后编写代码: - #include "CH58x_common.h"
- int main()
- {
- uint8_t len;
- HSECFG_Capacitance(HSECap_18p);
- SetSysClock(CLK_SOURCE_HSE_PLL_62_4MHz);
-
- GPIOA_ModeCfg(GPIO_Pin_0, GPIO_ModeOut_PP_5mA);//LED 0
-
- GPIOA_ModeCfg(GPIO_Pin_1, GPIO_ModeOut_PP_5mA);//LED 1
- while(1)
- {
- GPIOA_SetBits(GPIO_Pin_0);
- GPIOA_ResetBits(GPIO_Pin_1);
- DelayMs(500);
- GPIOA_SetBits(GPIO_Pin_1);
- GPIOA_ResetBits(GPIO_Pin_0);
- DelayMs(500);
- }
- }
复制代码
如下图所示:
然后F7编译就完成了。
5. ISP下载 在工具中选择ISP,如下所示:
开发板在上电前, 先按住Download按键不方,然后再上电,再松开Download按键,这样就进入了Boot模式:
注意这个ISP支持多个HEX文件的合并,因此,下方的目标程序文件,使用任意一个,然后选择我们的HEX文件即可。
程序运行效果如下:
|