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快速原型。
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 下载调试工具。
首先,应安装 CH32V307 评估板的驱动程序,打开设备管理器查看USB 端口和外部接口已准备就绪。
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提供了工程操作快捷入口,右侧展示软件整体介绍以及快速使用贴士。
【主界面】MRS基于Eclipse界面风格,针对嵌入式开发,对主菜单、工具栏、页面排版进行了简化与定制。
【工具栏】MRS重新设计了工具栏按钮图标,增加KEIL工程导入、链接脚本文件编辑、全局配置、工程配置、命令行工具、重新编译等功能入口。
【内置芯片工程】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
进入EXAM目录,就有对应的外设教程
进入GPIO_Toggle文件下,双击GPIO_Toggle.wvproj,
打开项目工程如下,main.c在user文件夹下
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 编译项目
开发板数据线连接电脑就可以开始连接调试🛹🛹🛹,首先开始编译,编译成功如下
然后下载,下载成功如下
4. 下载验证
4.1 接线
根据原理图
需要用杜邦线把LED1与PA0连接起来,即可点灯
4.2 演示效果
代码下载后验证,点击串口调试器,设置串口参数确认。
复位运行成功如下打印
SystemClk:96000000 ChipID:30700518 GPIO Toggle TEST
5. 小结
🥳🥳🥳通过对这篇文章我们掌握了沁恒WCH CH32V307V-R1在MounRiver Studio上环境配置教程,接下来会有许多有趣的实验,尝试与Arduino通讯做更加好玩的实验,进而丰富我们的生活。🛹🛹🛹从而实现对外部世界进行感知,充分认识这个有机与无机的环境,🥳🥳🥳科学地合理地进行创作和发挥效益,然后为人类社会发展贡献一点微薄之力。🤣🤣🤣