随笔分类 -  RISC-V MCU开发

分享RISC-V内核MCU开发知识~
摘要:今天分享一个MRS2的实用功能:工程导出为CMake项目,旨在帮助想要使用CMake编译MRS工程的用户。主要适合于在Windows系统上使用IDE软件开发,想要迁移到Linux系统上命令行编译的场景。 功能入口:左侧目录树区域右键工程节点,选择CMake选项中的Export As CMake Pr 阅读全文
posted @ 2026-02-10 10:15 LingTrune 阅读(68) 评论(0) 推荐(0)
摘要:在日常嵌入式开发中,当代码运行现象与预期不符或直接报错时,通过启用MRS2的操作日志并配合用户反馈功能,能提升沟通及问题定位效率。以下是具体操作步骤: 打开代码语法服务模块的日志: 步骤一:选择“Help”菜单下的“Quick Settings”选项 步骤二:在弹出来的对话框中,勾选“Debug”标 阅读全文
posted @ 2026-02-10 10:12 LingTrune 阅读(53) 评论(0) 推荐(0)
摘要:今天和大家分享一个提升开发效率的功能:MRS2 V2.3.0版本新增的静态代码分析!它基于clang-tidy,能在不运行程序的情况下提前发现内存错误、并发风险和性能隐患,让代码质量变得更可靠。 使用方法:要在 MRS2 中使用静态代码分析,只需右键单击要分析的源文件或者工程,然后选择“分析代码(a 阅读全文
posted @ 2026-02-10 10:08 LingTrune 阅读(57) 评论(0) 推荐(0)
摘要:在嵌入式开发中,我们有时会遇到代码的中文注释显示为乱码的现象,尤其是涉及代码合作开发、跨平台工程移植等场景。而MRS2中提供了文件加载时自动识别编码、按指定编码方式保存文件等功能,以下是具体的操作演示: 【文件加载时自动识别编码】 MRS2中开启自动识别文件编码功能的入口为如下图所示,默认为勾选状态 阅读全文
posted @ 2026-01-30 14:48 LingTrune 阅读(36) 评论(0) 推荐(0)
摘要:基于VSCode软件框架的RISC-V IDE MRS2正式上线发布MounRiver Studio Ⅱ(MRS2)为MounRiver Studio的换代版本,从V2.1开始,框架更换至更现代的VSCode,并深度定制开发。在工程管理、代码编辑、编译、调试等方面均兼容之前版本,并在效率和功能等方面进行提升,着力将MRS打造为更加轻量化、智能化、高效化的RISC-V IDE。同时,提供Windows/Linux/macOS 以及国产操作系统版本,用户可前往MRS官网进行下载。 阅读全文
posted @ 2025-01-02 15:07 LingTrune 阅读(4011) 评论(0) 推荐(3)
摘要:【问题描述】 【报错原因】 下载或调试时,目标工程对应芯片的内核(RISC-V/ARM)与当前WCH-Link模式不匹配。 【解决方法】 根据目标工程对应芯片的内核,WCH-Link上电时通过”TX”接”GND”的方法切换到RISC-V或ARM模式。更多WCH-Link详细操作说明可参考《WCH-L 阅读全文
posted @ 2022-05-27 10:05 LingTrune 阅读(177) 评论(0) 推荐(0)
摘要:一、 更新点概述 【新增】 1.TWEN系列开发板工程,支持芯片型号: CH32V103 2.支持CH32F203系列芯片的下载、调试功能 3.支持引用、导出扩展库IQMath 4.支持切换当前工程对应的目标芯片型号 5.支持查看、加载已打开过的解决方案 6.支持调试时选择不重新下载目标代码 7.支 阅读全文
posted @ 2022-02-23 17:06 LingTrune 阅读(363) 评论(0) 推荐(0)
摘要:上一篇文章中,我们一同学习了“如何开启编程后打印FLASH以及RAM占用信息”的功能,但是在实际开发中,尽管我们的程序并未使用到全部的RAM空间,但仍存在IDE中该打印信息提示RAM占用达到100%的情况: 我们可以通过修改该工程的链接脚本文件(.ld)来实现打印实际的RAM区使用占比,以RISC- 阅读全文
posted @ 2021-12-16 14:38 LingTrune 阅读(401) 评论(0) 推荐(0)
摘要:在嵌入式开发中,我们有时需要在编译结束后查看目标芯片FLASH及RAM区使用占比情况,而大部分IDE是默认关闭该功能的,此时我们可以通过以下步骤来手动来开启: 以RISC-V MCU IDE MounRiver Studio(MRS)为例,首先我们选中目标工程,点击工具栏工程属性按钮,打开工程属性配 阅读全文
posted @ 2021-12-15 16:06 LingTrune 阅读(372) 评论(0) 推荐(0)
摘要:在嵌入式开发过程中,有时为了调试代码,我们需要对单个函数或多个函数设置单独的优化等级,下面以RISC-V MCU IDE MounRiver Studio(MRS)为例,介绍两种添加函数优化等级的方法: 1.__attribute__((optimize(“string”))) 适用于为单个函数设置 阅读全文
posted @ 2021-12-13 14:38 LingTrune 阅读(268) 评论(0) 推荐(0)
摘要:在嵌入式开发中,我们经常需要调用一些数学函数,例如pow、acos、asin、sqrt等。这时候我们就需要添加对标准数学库的引用。 以RISC-V IDE MounRiver Studio(MRS)为例,首先我们在目标工程代码合适位置添加#include "math.h",然后点击工具栏工程属性配置 阅读全文
posted @ 2021-11-24 10:24 LingTrune 阅读(436) 评论(0) 推荐(0)
摘要:字符是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。字符集是多个字符的集合,字符集种类繁多,每个字符集包括的字符个数不尽相同。常见的字符集有:ASCII、GB2312、GBK、Unicode、UTF-8、UTF-16等。而不同的集成开发环境,其默认的字符集也不同,当涉及到IDE间 阅读全文
posted @ 2021-11-23 10:34 LingTrune 阅读(177) 评论(0) 推荐(0)
摘要:在嵌入式开发过程中,我们有时会遇到这种情形:在一次调试前,我们已经编译过目标代码,此时,如果我们直接点击调试按钮,则IDE的调试器往往会默认再进行一次编译才开始进入调试流程,比较浪费时间。这时候我们可以设置IDE在调试前不强制编译: 以RISC-V IDE MounRiver Studio(MRS) 阅读全文
posted @ 2021-11-22 10:53 LingTrune 阅读(233) 评论(0) 推荐(0)
摘要:在嵌入式开发中,我们常常需要在其他工程师创建的工程上进行二次开发,而每个人IDE中设置的Tab键功能内容可能不同(按下后插入一个制表符或者以指定空格数进行缩进),由于不同IDE制表符宽度不同,所以我们在选择格式化代码后,经常会出现代码行首缩进不一致等格式问题。因此我们可以通过设置Tab键以指定空格数 阅读全文
posted @ 2021-11-18 10:22 LingTrune 阅读(193) 评论(0) 推荐(0)
摘要:上一篇介绍了部分链接脚本知识,这次我们用MRS(MounRiver Studio)中内置的CH57x系列模板工程来具体实践一下: 1 入口 ENTRY 关键字,确定程序入口在_start处 2 内存布局 内存分配,FLASH只读可执行,起始地址为0x00000000.大小为448K,448K也可以写 阅读全文
posted @ 2021-11-16 14:11 LingTrune 阅读(561) 评论(0) 推荐(0)
摘要:我们在用RISC-V GCC做嵌入式开发的时候,免不了要和启动文件和链接文件等打交道,本篇文章记录了一些链接脚本相关的学习笔记。 1.基础概念 链接脚本的主要作用是描述输入文件中的段应当如何映射到输出文件中,并控制输出文件的内存布局。多数链接脚本都执行类似功能。但是,如果需要,链接脚本也可以使用下面 阅读全文
posted @ 2021-11-06 13:12 LingTrune 阅读(852) 评论(0) 推荐(0)
摘要:软件平台: MounRiver Studio(MRS),硬件平台: CH32V103开发板、ULN2003步进电机驱动板、28BYJ-48步进电机,使用GPIO进行步进电机控制。 1. ULN2003和28BYJ-48简介 ULN2003是高耐压、大电流复合晶体管阵列,由七个硅NPN 复合晶体管组成 阅读全文
posted @ 2021-10-29 13:22 LingTrune 阅读(496) 评论(0) 推荐(0)
摘要:软件平台:MounRiver Studio( MRS);硬件平台: CH32V307开发板 先去码云上将源码克隆下来: https://gitee.com/openharmony/kernel_liteos_m 新建一个CH32V307的工程,将源码直接拖到工程中,就添加进来了,然后去添加头文件路径 阅读全文
posted @ 2021-10-28 15:47 LingTrune 阅读(630) 评论(0) 推荐(0)
摘要:软件平台 MounRiver Studio(MRS),硬件平台CH32V103开发板,以及一张小于32G SD卡。 1、SD卡简介 SD存储卡( Secure Digital Memory Card)是一种基于半导体快闪存储器的新一代高速存储设备。SD存储卡的技术是从MMC卡( MultiMedia 阅读全文
posted @ 2021-10-27 13:56 LingTrune 阅读(470) 评论(0) 推荐(0)
摘要:软件平台 :MounRiver Studio(MRS),硬件平台:CH32V103开发板、DHT11温度传感器。 1、DHT11简介 DHT11是一款有已校准数字信号输出的温湿度传感器。 其精度湿度±5%RH, 温度±2℃,量程湿度5-95%RH,温度-20~+60℃。该传感器包括一个电阻式测湿元件 阅读全文
posted @ 2021-10-26 10:09 LingTrune 阅读(486) 评论(0) 推荐(0)