- 作为全新一代开源精简指令集,RISC-V在嵌入式领域备受关注,沁恒微电子基于自研RISC-V架构青稞微处理器,推出高性能、无线型、低功耗等多个系列的RISC-V MCU产品。采用RISC-V架构的MCU已获得越来越多工程师的青睐,并应用到实际产品开发中,RISC-V生态正逐渐起步。
- “RISC-VMCU创新应用大赛”以嵌入式应用为导向,以培养RISC-V MCU产业人才为目标,打造RISC-V MCU创新应用平台,助力RISC-V在国内更好的扎根落地,并在应用中快速发展壮大。
- 首届“RISC-V MCU创新应用大赛”,共有500多名工程师报名参赛,收获了众多基于通用增强型CH32V103、低功耗蓝牙CH573等RISC-V MCU的创意作品。为了进一步培养RISC-V产业人才,助力RISC-V生态建设,现开启第二届“RISC-V MCU 创新应用大赛”。本次大赛推荐基于互联型CH32V307、无线型 CH32V208两款RISC-V MCU进行创意开发。✨✨✨
- 比赛详情官网:https://www.wch.cn/RISC-V-MCU-competition/#/?indexFromSubmit=0
这是使用RT-thread IDE开发的项目,支持在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 端口和外部接口已准备就绪。
本次程序开发采用RT-Thread Studio集成开发环境,安装RT-Thread Studio。
官网地址:https://www.rt-thread.org/studio.html
安装完成如下
点击SDK Manage,选择安装CH307V-R1开发包和下载调试器
点击文件,依次新建RT-Thread项目
选择基于开发板,项目工程名称Blinky,查看对应开发板,点击完成
展开项目,点击applications下的main.c
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.
* SPDX-License-Identifier: Apache-2.0
*******************************************************************************/
#include "ch32v30x.h"
#include
#include
#include "drivers/pin.h"
#include
/* Global typedef */
/* Global define */
#define LED0_PIN 35 //PC3
/* Global Variable */
/*********************************************************************
* @fn main
*
* @brief Main program.
*
* @return none
*/
int main(void)
{
rt_kprintf("MCU: CH32V307\n");
rt_kprintf("SysClk: %dHz\n",SystemCoreClock);
rt_kprintf("www.wch.cn\n");
LED1_BLINK_INIT();
GPIO_ResetBits(GPIOA,GPIO_Pin_0);
while(1)
{
GPIO_SetBits(GPIOA,GPIO_Pin_0);
rt_thread_mdelay(500);
GPIO_ResetBits(GPIOA,GPIO_Pin_0);
rt_thread_mdelay(500);
}
}
/*********************************************************************
* @fn led
*
* @brief gpio operation by pins driver.
*
* @return none
*/
int led(void)
{
rt_uint8_t count;
rt_pin_mode(LED0_PIN, PIN_MODE_OUTPUT);
rt_kprintf("led_SP:%08x\r\n",__get_SP());
for(count = 0 ; count < 10 ;count++)
{
rt_pin_write(LED0_PIN, PIN_LOW);
rt_kprintf("led on, count : %d\r\n", count);
rt_thread_mdelay(500);
rt_pin_write(LED0_PIN, PIN_HIGH);
rt_kprintf("led off\r\n");
rt_thread_mdelay(500);
}
return 0;
}
MSH_CMD_EXPORT(led, led sample by using I/O drivers);
开发板数据线连接电脑就可以开始连接调试
然后下载,设置下载方式,选择rtthread,bin文件(在Debug文件夹下)
有时需要更新Execute
,更新成功
再次点击下载Execute
,下载成功
根据原理图
需要用杜邦线吧LED1与PA0连接起来,即可点灯
通过对这篇文章我们掌握了沁恒WCH CH32V307V-R1在RT-Thread Studio上环境配置教程,接下来会有许多有趣的实验,尝试与Arduino通讯做更加好玩的实验,进而丰富我们的生活。从而实现对外部世界进行感知,充分认识这个有机与无机的环境,科学地合理地进行创作和发挥效益,然后为人类社会发展贡献一点微薄之力。
参考文献: