【沁恒WCH CH32V307V-R1在MounRiver Studio上环境配置教程】

简介: 【沁恒WCH CH32V307V-R1在MounRiver Studio上环境配置教程】

1. 前言

  • 作为全新一代开源精简指令集,RISC-V在嵌入式领域备受关注,沁恒微电子基于自研RISC-V架构青稞微处理器,推出高性能、无线型、低功耗等多个系列的RISC-V MCU产品。采用RISC-V架构的MCU已获得越来越多工程师的青睐,并应用到实际产品开发中,RISC-V生态正逐渐起步。???
  • “RISC-VMCU创新应用大赛”以嵌入式应用为导向,以培养RISC-V MCU产业人才为目标,打造RISC-V MCU创新应用平台,助力RISC-V在国内更好的扎根落地,并在应用中快速发展壮大。???
  • 近年来,RISC-V生态获得了空前的繁荣发展,国内外众多科技公司纷纷下场布局、行业应用层出不穷,搭载RISC-V内核的MCU也逐渐走入了工程师的日常开发工作中。 工欲善其事必先利其器,要想实现基于RISC-V MCU的项目开发,与之配套的集成开发环境必不可少。目前市场上可供选择的RISC-V MCU开发工具已初具规模,由MounRiver团队打造的MounRiver? Studio(MRS)便是其中一种,熟悉STM32开发用易上手配置。???


这是使用MounRiver Studio开发的项目,支持在RISC-V核心基础硬件CH32V307评估板上使用带有msh Shell的RTOS快速原型。

1.png


MCU:CH32V307VCT6,主频 144MHz,FLASH和RAM可配置

LED:2个,用户 LEDs, LED1(blue),LED2(red)。

按键:3个,Reset, User 和 Download。

USB:2个,Tpye-C。

网口:1个,内置 10M PHY。

板载 WCH-Link 下载调试工具。

2.png


首先,应安装 CH32V307 评估板的驱动程序,打开设备管理器查看USB 端口和外部接口已准备就绪。


3.png

CH32V307数据手册:https://www.wch.cn/downloads/CH32V20x_30xDS0_PDF.html

CH32V307参考手册:https://www.wch.cn/downloads/CH32FV2x_V3xRM_PDF.html

评估板说明及参考例程:https://www.wch.cn/downloads/CH32V307EVT_ZIP.html

CH343SER.ZIP串口地址

2. 软件配置

2.1 安装MounRiver Studio

MRS是一款针对嵌入式项目(RISC-V/ARM)的集成开发环境,提供了包括编辑器、C编译器、宏汇编、链接器、库管理、仿真调试器和下载器等在内的完整开发资源,工具链方面增加了对WCH RISC-V系列单片机中断硬件自动保存上下文功能的支持。在包含通用RISC-V/ARM项目开发功能的基础上,MRS还集成了跨内核单片机工程转换接口,实现ARM内核项目到RISC-V开发环境的一键迁移。除此之外,该集成开发环境还有如下特点:


●支持RISC-V/ARM两种内核芯片项目开发(编译、烧录、调试)


●支持根据工程对应的芯片内核自动切换RISC-V或ARM工具链


●支持Harmony LiteOS-M、RT-Thread、FreeRTOS等嵌入式操作系统开发


●支持引用外部自定义工具链


●支持轻量化的C库函数printf


●支持32和64位RISC-V 指令集架构,I、M、A、C、F等指令集扩展


●内置WCH、GD等多个厂家系列芯片工程模板,支持多种主流调试下载器


●支持双击项目文件打开、导入工程


●支持自由创建、导入、导出单片机工程模板


●多线程构建,最大程度减少编译时间


●支持软件中英文、深浅色主题界面快速切换


●支持链接脚本文件可视化修改


●支持文件版本管理,一键追溯历史版本


●支持单片机在线编程ISP(In-System Programming)


●支持汇编、C和C++语言(均无代码大小限制)


●支持用户意见在线反馈功能


●支持在线自动检测升级,本地补丁包离线升级


●免费下载使用


MRS最新V1.51版本安装包获取方式:www.mounriver.com 。


【欢迎页】MRS提供了工程操作快捷入口,右侧展示软件整体介绍以及快速使用贴士。


4.png

【主界面】MRS基于Eclipse界面风格,针对嵌入式开发,对主菜单、工具栏、页面排版进行了简化与定制。

5.png


【工具栏】MRS重新设计了工具栏按钮图标,增加KEIL工程导入、链接脚本文件编辑、全局配置、工程配置、命令行工具、重新编译等功能入口。

6.png


【内置芯片工程】MRS内置WCH、GD等厂家RISC-V、ARM等系列MCU的芯片工程模板,同时支持Harmony LiteOS-M、RT-Thread、FreeRTOS等嵌入式操作系统开发。


【工具链】MRS可根据当前工程对应的芯片内核,自动切换RISC-V/ARM工具链,自动加载编译配置。


【调试器】MRS支持GD-Link、JLink、WCH-Link等在线仿真调试器,可自由进行切换。


【代码下载】MRS支持GD、WCH等厂家RISC-V/ARM系列芯片工程的代码下载。


【代码调试】MRS支持GD、WCH等厂家RISC-V/ARM系列芯片工程的代码调试,支持单步执行、重新执行、暂停、全速执行等操作。


3. 点灯项目测试

3.1 打开点灯工程

评估板说明及参考例程:https://www.wch.cn/downloads/CH32V307EVT_ZIP.html

7.png


进入EXAM目录,就有对应的外设教程

8.png

进入GPIO_Toggle文件下,双击GPIO_Toggle.wvproj,

9.png

打开项目工程如下,main.c在user文件夹下

10.png

main.c

/********************************** (C) COPYRIGHT *******************************
* File Name          : main.c
* Author             : WCH
* Version            : V1.0.0
* Date               : 2021/06/06
* Description        : Main program body.
*********************************************************************************
* Copyright (c) 2021 Nanjing Qinheng Microelectronics Co., Ltd.
* Attention: This software (modified or not) and binary are used for 
* microcontroller manufactured by Nanjing Qinheng Microelectronics.
*******************************************************************************/
/*
 *@Note
 GPIO routine:
 PA0 push-pull output.
*/
#include "debug.h"
/* Global define */
/* Global Variable */
/*********************************************************************
 * @fn      GPIO_Toggle_INIT
 *
 * @brief   Initializes GPIOA.0
 *
 * @return  none
 */
void GPIO_Toggle_INIT(void)
{
    GPIO_InitTypeDef GPIO_InitStructure = {0};
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOA, &GPIO_InitStructure);
}
/*********************************************************************
 * @fn      main
 *
 * @brief   Main program.
 *
 * @return  none
 */
int main(void)
{
    u8 i = 0;
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
    SystemCoreClockUpdate();
    Delay_Init();
    USART_Printf_Init(115200);  
    printf("SystemClk:%d\r\n", SystemCoreClock);
    printf( "ChipID:%08x\r\n", DBGMCU_GetCHIPID() );
    printf("GPIO Toggle TEST\r\n");
    GPIO_Toggle_INIT();
    while(1)
    {
        Delay_Ms(250);
        GPIO_WriteBit(GPIOA, GPIO_Pin_0, (i == 0) ? (i = Bit_SET) : (i = Bit_RESET));
    }
}

3.2 编译项目

开发板数据线连接电脑就可以开始连接调试???,首先开始编译,编译成功如下

11.png


然后下载,下载成功如下

12.png


4. 下载验证

4.1 接线

根据原理图

13.png

需要用杜邦线把LED1与PA0连接起来,即可点灯


4.2 演示效果

代码下载后验证,点击串口调试器,设置串口参数确认。

14.png

复位运行成功如下打印


15.png

SystemClk:96000000
ChipID:30700518
GPIO Toggle TEST


5. 小结

???通过对这篇文章我们掌握了沁恒WCH CH32V307V-R1在MounRiver Studio上环境配置教程,接下来会有许多有趣的实验,尝试与Arduino通讯做更加好玩的实验,进而丰富我们的生活。???从而实现对外部世界进行感知,充分认识这个有机与无机的环境,???科学地合理地进行创作和发挥效益,然后为人类社会发展贡献一点微薄之力。???

目录
相关文章
|
IDE Shell 开发工具
【沁恒WCH CH32V307V-R1在RT-Thread Studio上环境配置教程】
【沁恒WCH CH32V307V-R1在RT-Thread Studio上环境配置教程】
503 0
|
消息中间件 存储 大数据
简易教程:ClickHouse 的数据备份与恢复(二)
数据备份是IT运营中不可或缺的重要部分。在“大数据”部署(例如分析数据库)中,它们最具挑战性。本文将探讨备份ClickHouse所涉及的管道,并介绍用于自动化过程的Clickhouse备份工具。
1075 0
|
Shell 数据格式 内存技术
【沁恒WCH CH32V307V-R1与Arduino的串口通讯】
【沁恒WCH CH32V307V-R1与Arduino的串口通讯】
301 0
|
Shell 数据格式 内存技术
【沁恒WCH CH32V307V-R1的单线半双工模式串口通讯】
【沁恒WCH CH32V307V-R1的单线半双工模式串口通讯】
194 0
|
Shell 内存技术
【沁恒WCH CH32V307V-R1开发板输出DAC实验】
【沁恒WCH CH32V307V-R1开发板输出DAC实验】
155 0
|
编解码 Shell 芯片
【沁恒WCH CH32V307V-R1开发板读取板载温度实验】
【沁恒WCH CH32V307V-R1开发板读取板载温度实验】
198 0
|
编解码 Shell 内存技术
【沁恒WCH CH32V307V-R1开发板两路ADC读取实验】
【沁恒WCH CH32V307V-R1开发板两路ADC读取实验】
248 0
|
存储 SQL 大数据
简易教程:ClickHouse 的数据备份与恢复(一)
数据备份是IT运营中不可或缺的重要部分。在“大数据”部署(例如分析数据库)中,它们最具挑战性。本文将探讨备份ClickHouse所涉及的管道,并介绍用于自动化过程的Clickhouse备份工具。
6077 0
|
Ubuntu Linux 网络架构
史上最全面的Buffalo WHR-G300N CH v2 刷OpenWrt教程
Buffalo WHR-G300N CH v2 刷OpenWrt、有两种办法、一种是Windows下刷、一种是在linux下使用tftp刷、Buffalo WHR-G300N-CH v2的openwrt固件在这个地址下载: http://downloads.
4852 0
|
12天前
|
关系型数据库 MySQL 数据库
ClickHouse(07)ClickHouse数据库引擎解析
ClickHouse支持多种数据库引擎,包括Atomic(默认)、MySQL、MaterializeMySQL、Lazy、PostgreSQL、MaterializedPostgreSQL。Atomic提供非阻塞的表操作和原子的表交换,有UUID标识和延迟删除功能。MySQL引擎允许与远程MySQL服务器交互,支持INSERT和SELECT,不支持RENAME操作。PostgreSQL引擎类似,可与远程PostgreSQL服务进行读写操作。SQLite引擎用于连接SQLite数据库。实验性引擎如MaterializeMySQL和MaterializedPostgreSQL用于实现实时数据同步。
254 5

热门文章

最新文章

http://www.vxiaotou.com