回答

收藏

[评测分享] 【RISC-V 沁恒微-CH585M-R1开发板试用体验】2. 开发环境搭建以及点灯

#板卡评测 #板卡评测 806 人阅读 | 0 人回复 | 2025-06-15

本帖最后由 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)。

然后编写代码:
  1. #include "CH58x_common.h"

  2. int main()
  3. {
  4.     uint8_t len;

  5.     HSECFG_Capacitance(HSECap_18p);
  6.     SetSysClock(CLK_SOURCE_HSE_PLL_62_4MHz);
  7.    
  8.     GPIOA_ModeCfg(GPIO_Pin_0, GPIO_ModeOut_PP_5mA);//LED 0
  9.    
  10.     GPIOA_ModeCfg(GPIO_Pin_1, GPIO_ModeOut_PP_5mA);//LED 1
  11.     while(1)
  12.     {
  13.         GPIOA_SetBits(GPIO_Pin_0);
  14.         GPIOA_ResetBits(GPIO_Pin_1);
  15.         DelayMs(500);
  16.         GPIOA_SetBits(GPIO_Pin_1);
  17.         GPIOA_ResetBits(GPIO_Pin_0);
  18.         DelayMs(500);
  19.     }
  20. }
复制代码


如下图所示:



然后F7编译就完成了。


5. ISP下载
在工具中选择ISP,如下所示:

开发板在上电前, 先按住Download按键不方,然后再上电,再松开Download按键,这样就进入了Boot模式:


在下方选择编译好的HEX文件,然后下载:



注意这个ISP支持多个HEX文件的合并,因此,下方的目标程序文件,使用任意一个,然后选择我们的HEX文件即可。

程序运行效果如下:



好了,以上就是今天的评测。
分享到:
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

5300 积分
55 主题
+ 关注
热门推荐
关闭

站长推荐上一条 /3 下一条