VSCode+EIDE开发CH32V系列RISC-V MCU
VSCode+EIDE开发CH32V系列RISC-V MCU
1. VS Code
Visual Studion Code (VS Code),是一款由微软开发且跨平台的免费源代码编辑器。该软件支持语法高亮、代码自动补全(又称 IntelliSense)、代码重构、查看定义功能,并且内置了命令行工具和 Git 版本控制系统。
2. Embedded IDE 简介
Embedded IDE (EIDE)是一款适用于 8051/STM8/Cortex-M/RISC-V 的单片机开发环境。
能够在 vscode 上提供 8051, STM8, Cortex-M, RISC-V 项目的 开发, 编译, 烧录 功能。
3. 在VS Code中安装EIDE插件

4. 工具链配置
eide还需要调用相应的工具链才可完成MCU的工程编译,
如8051 MCU 的工具链SDCC或者Keil C51, RISC-V MCU的工具链RISC-V GCC。
"设置工具链路径" 中选项的图标表明了工具链路径设置的总体状态
- √ :某一个工具链已设置完毕
- x :还没有为任何工具链设置安装路径

工具链可以通过在线的方式安装,有的工具链上github中下载,需要考虑网络情况,如RISC-V官方工具链下载网址。
沁恒RISC-V系列MCU支持官方RISC-V GCC工具链,不过其自研的RISC-V架构青稞系列处理器增加了自定义压缩指令、硬件压栈、免表中断等功能,需要使用其自家的工具链。工具链在MounRiver Studio(MRS) 安装目录下:D:\MounRiver\MounRiver_Studio\toolchain\RISC-V Embedded GCC\bin。
为EIDE配置本地 RISC-V 编译工具链(由MRS提供):

工具链安装目录 是指你的编译器的根目录
示例:
- 如果你的 GCC 编译器位置是:
D:/MounRiver/MounRiver_Studio/toolchain/RISC-V Embedded GCC/bin/riscv-none-embed-gcc.exe - 那么,你需要将
工具链安装目录设置为D:/MounRiver/MounRiver_Studio/toolchain/RISC-V Embedded GCC,因此对于 GCC 来说,这个目录就是bin文件夹所在的目录
详细过程参考eide 使用教程
5. openocd下载配置
通过openocd和wchlink可以对沁恒RISC-V MCU进行程序下载。
在EIDE中需要配置openocd的路径,该工具同样也在MRS的安装目录下:D:\MounRiver\MounRiver_Studio\toolchain\OpenOCD\bin\openocd.exe

6. 新建工程
通过github远程仓库模板新建工程,需要保证能正常访问github

github中的模板更新并不及时。
模板中的sdk文件夹中的 Core、Debug、Ld、Peripheral、Startup文件夹可能并不是最新的,
建议在官网下载最新的evt,替换对应的文件即可。
7.Debug 配置
通过OpenOCD进行DEBUG调试,可以借用 Cortex-Debug插件,
launch.json 配置如下:
{
"version": "0.2.0",
"configurations": [
{
"cwd": "${workspaceRoot}",
"executable": "./build/Debug/CH32V307_hello_world.elf", //替换对应的elf文件路径
"name": "Debug with OpenOCD",
"request": "launch",
"type": "cortex-debug",
"servertype": "openocd",
"searchDir": [],
"runToEntryPoint": "main",
"showDevDebugOutput": "none",
"device": "CH32V307",
"svdFile": "D:/MounRiver/MounRiver_Studio/template/wizard/WCH/RISC-V/CH32V307/NoneOS/CH32V307xx.svd", //MRS安装目录
"toolchainPrefix": "D:/MounRiver/MounRiver_Studio/toolchain/RISC-V Embedded GCC/bin/riscv-none-embed-gdb.exe", //MRS安装目录
"configFiles": [
"D:/MounRiver/MounRiver_Studio/toolchain/OpenOCD/bin/wch-riscv.cfg" //MRS安装目录
]
}
]
}
VSCode+EIDE开发CH32V系列RISC-V MCU的更多相关文章
- 【Xamarin开发 Android 系列 13】 应用打包部署
原文:[Xamarin开发 Android 系列 13] 应用打包部署 开始倒叙咯................ 先更新大宝部署吧,这个章节比较的Easy,童鞋们不用费脑筋.点解?从界面上填写几个参 ...
- 开发快平台(M302I小e开发板系列教程)
开发快平台(M302I小e开发板系列教程) 开发块平台ESP8266模块相关理解 一. M302I小e开发板源码注释,源码基于:v1.4.0.8-u34.zip 1. user_main.c /*** ...
- VSCode高效开发插件
VSCode 必装的 10 个高效开发插件 https://www.cnblogs.com/parry/p/vscode_top_ten_plugins.html 本文介绍了目前前端开发最受欢迎的开发 ...
- 现代前端库开发指南系列(二):使用 webpack 构建一个库
前言 在前文中,我说过本系列文章的受众是在现代前端体系下能够熟练编写业务代码的同学,因此本文在介绍 webpack 配置时,仅提及构建一个库所特有的配置,其余配置请参考 webpack 官方文档. 输 ...
- C#开发BIMFACE系列44 服务端API之计算图纸对比差异项来源自哪个图框
BIMFACE二次开发系列目录 [已更新最新开发文章,点击查看详细] 在前两篇博客<C#开发BIMFACE系列42 服务端API之图纸对比>.<C#开发BIMFACE系列43 ...
- C#开发BIMFACE系列46 服务端API之离线数据包下载及结构详解
BIMFACE二次开发系列目录 [已更新最新开发文章,点击查看详细] 在前一篇博客<C#开发BIMFACE系列45 服务端API之创建离线数据包>中通过调用接口成功的创建一个离线数 ...
- C#开发BIMFACE系列48 Nginx部署并加载离线数据包
BIMFACE二次开发系列目录 [已更新最新开发文章,点击查看详细] 在前一篇博客<C#开发BIMFACE系列47 IIS部署并加载离线数据包>中详细介绍了IIS部署并访问的完整步 ...
- VSCode PHP 开发环境配置 详细教程
VSCode PHP 开发环境配置 详细教程 这篇文章主要介绍了VScode+PHPstudy配置PHP开发环境的步骤,整理了官方以及优秀第三方的内容,对于学习和工作有一定借鉴意义. 配置过程 第一步 ...
- phoenix 开发API系列 目录
phoenix 开发API系列(一)创建简单的http api phoenix 开发API系列(二)phoenix 各类 api 实现方式 phoenix 开发API系列(三)phoenix api ...
- Web程序员开发App系列 - 开发我的第一个App,源码下载
Web程序员开发App系列 Web程序员开发App系列 - 认识HBuilder Web程序员开发App系列 - 申请苹果开发者账号 Web程序员开发App系列 - 调试Android和iOS手机代码 ...
随机推荐
- 学习ASP.NET Core Blazor编程系列二十七——JWT登录(1)
学习ASP.NET Core Blazor编程系列文章之目录 学习ASP.NET Core Blazor编程系列一--综述 学习ASP.NET Core Blazor编程系列二--第一个Blazor应 ...
- 02#Vue3 Transition 过渡:切换路由组件
复习作用域插槽 组件可以被插入些许节点作为其子节点,插槽<slot>就是一个接口(或桥梁)引导这些节点进入组件.这些节点应该被渲染到组件里的具体哪个位置,就是具名插槽的作用. 就像是给手机 ...
- 基于C++的OpenGL 13 之Mesh
1. 引言 本文基于C++语言,描述OpenGL的Mesh 前置知识可参考: 基于C++的OpenGL 12 之多光源 - 当时明月在曾照彩云归 - 博客园 (cnblogs.com) 笔者这里不过多 ...
- 几种排序(c#实现)
代码: int[] arr = { 2, 3, 4, 6, 1, 5, 4 }; // 冒泡排序:把最小的往前冒 O(n2) //int temp1; //for (int i = 0; i < ...
- Anaconda 使用教程
Anaconda介绍 Anaconda指的是一个开源的Python发行版本,其包含了conda.Python等180多个科学包及其依赖项. 因为包含了大量的科学包,Anaconda 的下载文件比较大( ...
- mybatis中的土鸡杂鱼
mybatis中的土鸡杂鱼 目录 mybatis中的土鸡杂鱼 1.mapper接口为什么要和mapper.xml在同一个路径下? 2.主键生成为什么配置一个字段就可以? 原理 3.为什么默认使用的是预 ...
- rn用Modal实现Drawer
PS:本文仅说明Modal可以用来做Drawer,并不介绍Modal的用法. 今天在开发的时候,想要使用Drawer. RN原生不自带Drawer,react-native-drawer又有bug(没 ...
- react零基础使用react-redux管理状态全过程(单组件)
首先下载react-redux插件 yarn add react-redux 或 npm add react-redux 然后创建一个容器组件Container connect(mapStateTo ...
- Python3 时间戳格式化和减法运算
import datetime import time # 获取当前时间(2023-02-16 16:41:36) now_date = datetime.datetime.now().strftim ...
- 当越来越多的企业放弃使用FTP,该用什么更好的方式替代?
FTP作为第一个完整的文件传输协议,在互联网技术发展史上具有浓墨重彩的意义,它解决了文件传输协议有无的问题,在全世界范围内被广泛使用.但如今,随着网络技术的发展,企业生产类型和生产资料的丰富化,文件传 ...