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的更多相关文章

  1. 【Xamarin开发 Android 系列 13】 应用打包部署

    原文:[Xamarin开发 Android 系列 13] 应用打包部署 开始倒叙咯................ 先更新大宝部署吧,这个章节比较的Easy,童鞋们不用费脑筋.点解?从界面上填写几个参 ...

  2. 开发快平台(M302I小e开发板系列教程)

    开发快平台(M302I小e开发板系列教程) 开发块平台ESP8266模块相关理解 一. M302I小e开发板源码注释,源码基于:v1.4.0.8-u34.zip 1. user_main.c /*** ...

  3. VSCode高效开发插件

    VSCode 必装的 10 个高效开发插件 https://www.cnblogs.com/parry/p/vscode_top_ten_plugins.html 本文介绍了目前前端开发最受欢迎的开发 ...

  4. 现代前端库开发指南系列(二):使用 webpack 构建一个库

    前言 在前文中,我说过本系列文章的受众是在现代前端体系下能够熟练编写业务代码的同学,因此本文在介绍 webpack 配置时,仅提及构建一个库所特有的配置,其余配置请参考 webpack 官方文档. 输 ...

  5. C#开发BIMFACE系列44 服务端API之计算图纸对比差异项来源自哪个图框

    BIMFACE二次开发系列目录     [已更新最新开发文章,点击查看详细] 在前两篇博客<C#开发BIMFACE系列42 服务端API之图纸对比>.<C#开发BIMFACE系列43 ...

  6. C#开发BIMFACE系列46 服务端API之离线数据包下载及结构详解

    BIMFACE二次开发系列目录     [已更新最新开发文章,点击查看详细] 在前一篇博客<C#开发BIMFACE系列45 服务端API之创建离线数据包>中通过调用接口成功的创建一个离线数 ...

  7. C#开发BIMFACE系列48 Nginx部署并加载离线数据包

    BIMFACE二次开发系列目录     [已更新最新开发文章,点击查看详细] 在前一篇博客<C#开发BIMFACE系列47 IIS部署并加载离线数据包>中详细介绍了IIS部署并访问的完整步 ...

  8. VSCode PHP 开发环境配置 详细教程

    VSCode PHP 开发环境配置 详细教程 这篇文章主要介绍了VScode+PHPstudy配置PHP开发环境的步骤,整理了官方以及优秀第三方的内容,对于学习和工作有一定借鉴意义. 配置过程 第一步 ...

  9. phoenix 开发API系列 目录

    phoenix 开发API系列(一)创建简单的http api phoenix 开发API系列(二)phoenix 各类 api 实现方式 phoenix 开发API系列(三)phoenix api ...

  10. Web程序员开发App系列 - 开发我的第一个App,源码下载

    Web程序员开发App系列 Web程序员开发App系列 - 认识HBuilder Web程序员开发App系列 - 申请苹果开发者账号 Web程序员开发App系列 - 调试Android和iOS手机代码 ...

随机推荐

  1. 0x06_自制操作系统My-OS,IDT,GDT,PIC初始化,实现键盘中断

    把class03改成class04 IDT,GDT,PIC 我来介绍什么是IDT和GDT,PIC,怎么实现键盘中断 GDT全局描述表在16位CPU用不到,到了32位CPU要用. 16位CPU实模式用基 ...

  2. 代码随想录算法训练营day23 | leetcode 669. 修剪二叉搜索树 ● 108.将有序数组转换为二叉搜索树 ● 538.把二叉搜索树转换为累加树

    LeetCode 669. 修剪二叉搜索树 分析1.0 递归遍历树时删除符合条件(不在区间中)的节点-如何遍历如何删除 如果当前节点大于范围,递归左树,反之右树 当前节点不在范围内,删除它,把它的子树 ...

  3. .net 中的几种事务

    在一个MIS系统中,没有用事务那就绝对是有问题的,要么就只有一种情况:你的系统实在是太小了,业务业务逻辑有只要一步执行就可以完成了.因此掌握事务处理的方法是很重要,进我的归类在.net中大致有以下4种 ...

  4. 大道至简的架构设计思想之:封装(C系架构设计法,sishuok)

    一起来看看大道至简的一些基本设计思想,首先我们来看一下什么是封装. 封装:也叫做信息隐藏,或者数据访问保护.放到程序上来讲,就是隐藏类的属性,还有实现细节,仅对外公开一些接口.那么外部,就只能通过这个 ...

  5. LeetCode-689 三个无重叠子数组的最大和

    来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/maximum-sum-of-3-non-overlapping-subarrays 题目描述 ...

  6. pdf.js打开后的pdf文件

    可用pdf.js在h5打开pdf文件.注意,在本地打不开,一定要在部署环境. 方法:<a href="../../pdf/web/viewer.html?file=../../pdf/ ...

  7. NOIP 2022 游记

    2022 NOIP (NOI Plus) 游记 Day-9 - Day-2 一句话总结,原神打的有点小多了.现在想想真的有点后悔(但也不是很手动滑稽,如果多做几个题或者把短板数论和数据结构看看也许这次 ...

  8. 四种语言刷算法之 组合总和 II

    力扣40. 组合总和 II 1.C void back(int* candidates, int candidatesSize, int target,int start,int *path,int ...

  9. HTTP知识点

    HTTP 请求/响应的步骤:(工作原理) 客户端连接到 Web 服务器 一个 HTTP 客户端,通常是浏览器,与 Web 服务器的 HTTP 端口(默认为 80)建立一个 TCP 套接字连接.例如,h ...

  10. 微信开发获取code的时候总是提示 10003 redirect_uri域名与后台配置不一致

    填写的地址不能加 http://