熊熊出没 发表于 2025-1-6 12:51:27

基于VSCode软件框架的RISC-V IDE MRS2正式上线发布

基于VSCode软件框架的RISC-V IDE MRS2正式上线发布

一、概述

MounRiver Studio Ⅱ(MRS2)为MounRiver Studio的换代版本,从V2.1开始,框架更换至更当代的VSCode,并深度定制开辟。在工程管理、代码编辑、编译、调试等方面均兼容之前版本,并在服从和功能等方面举行提升,着力将MRS打造为更加轻量化、智能化、高效化的RISC-V IDE。同时,提供Windows/Linux/macOS 以及国产操纵体系版本,用户可前往MRS官网举行下载。
https://i-blog.csdnimg.cn/direct/ff34e6e25acb4dc0a17cb4a79928fe21.png#pic_center
二、MRS2亮点



[*]高速化软件启动:针对安装速度、软件框架启动速度举行了专项优化。
[*]主动化工程配置:从模板无需设置直接创建工程、自带默认的编译配置、工具链切换时编译选项联动修改。
[*]及时化全局搜索:搜索效果根据现实文件内容及时刷新。
[*]智能化代码辅助:支持代码导航、补全、诊断、格式化、重构以及代码的及时静态语法分析;
[*]可视化代码分析:支持图表化显示代码中ROM,RAM用量占比、函数及变量占用内存巨细及厘革、输出文件各段数据现实巨细等。
[*]高效化芯片调试:除常用的在线仿真调试外,还支持在线非常追踪调试以及长途调试。
[*]多样化辅助工具:集成HEX/BIN文件处置惩罚、串口调试、ISP下载、二进制文件浏览等多种嵌入式开辟辅助工具。
三、焦点功能介绍

3.1工程创建



[*] 内置芯片模板工程,支持快速创建项目
MRS2内置了沁恒微RISC-V芯片裸机及嵌入式及时操纵体系工程模板,配套提供完整的编译、下载、调试参数文件,无需手动逐一设置,可直接一键式创建项目。
https://i-blog.csdnimg.cn/direct/c3746b38b2e348448b5160f7e8dd5e27.png#pic_center
[*] 自定义工程模板创建、导入、导出功能
MRS2支持将自定义的项目创建为芯片工程模板并导出,再由安装在其他主机上的MRS2导入后,即可在新建工程时使用自定义的芯片工程模板创建项目。
https://i-blog.csdnimg.cn/direct/74ca6066cb7345dcabb66209894569fe.png#pic_center
3.2工程管理



[*] 支持多种工程加载方式,便捷切换目的芯片型号
MRS2兼容旧版MRS创建的工程、解决方案以及WCH EVT工程,可双击.wvproj/.wvsln文件或软件内菜单项加载工程/解决方案。MRS2还支持切换当前目的芯片型号,同时主动设置对应的下载、调试参数。
https://i-blog.csdnimg.cn/direct/9bf34c886ce74360ae208e23a855f2c4.png#pic_center
[*] 内置文件版本管理功能,支持回溯历史版本源码
MRS2在文件保存时会主动按照分钟级的时间跨度举行版本备份,用户可以查看、对比任意备份的文件历史版本,并支持同步两个文件历史版本间的代码差别。
https://i-blog.csdnimg.cn/direct/74ed207c4a6748dcbee4daba85807a5c.png#pic_center
3.3代码编辑



[*] 自由添加文件书签、笔记
MRS2可通过快捷键或右键菜单添加代码书签、笔记,支持快捷键方式跳转、专属页面全局管理,该功能不会像代码注释一样修改源码,修改后不影响源码编译效果,有助于审视、浏览代码时添加备注信息。
https://i-blog.csdnimg.cn/direct/4acc9db8354d4b838a0a854b443d8120.png#pic_center
[*] 主动式文件编码识别,避免中笔墨符出现乱码
由于在Windows/Linux/macOS等平台下,文件的默认编码方式不同,导致更换平台加载工程时,包罗中文的源码往往会显示为乱码,此时用户需要手动调整当前编辑器或整个集成开辟情况(IDE)的默认文件编码。而当一个工程中包罗多种编码方式的文件时,大多数只支持设置全局文件编码的IDE更是无法准确加载每个文件的中笔墨符。
MRS2支持在打开文件时主动识别其编码方式,并提供切换浏览、保存文件时编码的快捷按钮,轻松应对跨平台浏览源码、加载包罗不同编码文件工程等IDE使用场景。
https://i-blog.csdnimg.cn/direct/5e5d363d4240487c89a3a347a53dcbf4.png#pic_center
https://i-blog.csdnimg.cn/direct/b01a538d99ba4f55a86816013598eb2d.png#pic_center
[*] 主动式标点转换,防止符号误输入
在编写代码过程中,开辟者常常面临在集成开辟情况与其他软件之间不断切换使用的场景,大概导致部分全角符号被误输入到代码中,尤其是逗号、分号、圆角括号等半角、全角模式下外观差别不大的标点符号。开辟者需要依靠集成开辟情况在语法分析、代码编译阶段的报错提示,才华逐个修复误输入的符号。
而MRS2在支持上述被动检测符号语法的底子上,还增长了主动式标点转换功能,可以将代码编辑区输入的逗号、分号、圆角括号等全角字符直接转换为半角字符,避免了后续手动修改的步骤,提升了代码开辟服从。
https://i-blog.csdnimg.cn/direct/c6ca54e3b0cd4cae8198935ff8c342e6.png#pic_center
3.4智能代码辅助



[*] 代码补全
在MRS2中,可以通过使用代码补全来更快输入代码。只要开始输入关键字、变量名或函数名,MRS2便会提供一系列匹配的建议供你选择。
https://i-blog.csdnimg.cn/direct/ad03e9ad908e4039bf251a7030dcdc74.png#pic_center
[*] 代码格式化
在软件开辟过程中,代码的整洁性和一致性对于提升代码质量和维护服从至关重要。为此,我们提供了强大的代码格式化功能,帮助开辟者轻松修正代码的缩进、换行以及重新分列注释,以确保代码布局的清晰和易读。
别的,我们还支持自定义代码格式模板,答应开辟者根据自己的编码习惯和项目需求,灵活设置代码的格式规范。有助于保持代码风格的一致性,从而减少因格式差别而导致的代码审查辩论和误解。
https://i-blog.csdnimg.cn/direct/25447212cd2a417786af3d78c622bd91.png#pic_center
[*] 代码导航:精准定位,及时更新
在软件开辟过程中,高效地导航代码是提升开辟服从的关键。MRS2提供的代码导航功能,不仅可以或许快速跳转至代码的声明、定义和引用位置,而且具备及时更新的本领,确保纵然文件颠末修改,导航也不会跳转至过时的位置。
https://i-blog.csdnimg.cn/direct/eed8bd8ae2264930b39210dbca148f47.png#pic_centerhttps://i-blog.csdnimg.cn/direct/26d6bd16ad634c6988a63843277b2a7f.png#pic_center
[*] 代码重构:全局多次重定名,安全可靠
在软件开辟过程中,全局重定名是一项至关重要的功能,它答应开辟者快速且准确地更新代码中的变量名、函数名等符号,以保持代码的一致性和可读性。
MRS2支持跨文件的多次全局重定名,在举行全局重定名时可以或许明白代码中的上下文和作用域,纵然存在相同名称但作用域不同的局部变量,也能被准确地域分和重定名,而且无论涉及的文件数目多少,都能准确且一次性地完成所有相干标识符的更新。
https://i-blog.csdnimg.cn/direct/8bf9a4950f004448b11fe05c498d0f2e.png#pic_center


[*] 代码分析:代码质量及时监控(clang-tidy及时分析)
MRS2可以或许及时监控代码,探求此中大概存在的错误。一旦发现任何潜在标题,它会在编辑器中高亮显示可疑的代码段,帮助开辟者迅速定位并解决标题。
https://i-blog.csdnimg.cn/direct/0fae35828015445780db36b48231e0d1.png#pic_center
[*] 代码诊断:快速修复,高效解决编译标题
MRS2支持快速修复功能。该功能可以或许主动为许多常见的编译标题提供修复建议,并且可以根据建议主动更新代码。
另外MRS2可以或许智能识别代码中的点操纵符(.)和箭头操纵符(->),并完成两者的主动转换,有助于减少因操纵符使用不当而导致的编译错误。
https://i-blog.csdnimg.cn/direct/3eca3770e0064266a8ceaf8172a81483.png#pic_center
https://i-blog.csdnimg.cn/direct/eced056bf7024405badff59e7b49c59a.png#pic_center
3.5代码编译



[*] 可视化编译分析,输出段用量占比全展示
在嵌入式开辟过程中,开辟者常常需要留意编译输出文件中芯片FLASH及RAM区的使用情况,防止出当代码超出芯片容量的情况。而大多数集成开辟情况在结束编译后,对此类信息的提示往往不敷明显、详细,无形中增长了开辟者在此类频繁操纵上的时间成本和犯错风险。
MRS2支持在结束编译后可视化展示输出段的详细信息:输出段空间占比,FLASH/RAM使用情况,各变量、函数所在地址、巨细、增删状态及所占空间巨细厘革。所有编译输出的关键信息一目了然,一定水平上提升了嵌入式项目的开辟服从。
https://i-blog.csdnimg.cn/direct/490dfaf5c73444558ac907e693e0f1e2.png#pic_center
[*] 精准链接错误跳转
在嵌入式开辟过程中,GCC链接阶段报错信息的准确性一直是开辟者关注的焦点。传统的报错信息往往不敷准确,错误跳转位置指向模糊,导致开辟者在排查标题时耗时耗力。
MRS2改善这一情况,优化了错误报告机制,实现了精准的链接错误跳转功能,以提升开辟服从。
https://i-blog.csdnimg.cn/direct/1404c58b880249d2b09a3532ded7a88e.png#pic_center
(MRS2)
https://i-blog.csdnimg.cn/direct/24420ad7dccd43a0aa153b79883332e0.png#pic_center
(旧版MRS)
3.6代码优化



[*]快速中断:
增添了一种全新的中断服务程序处置惩罚模式,该中断服务程序将原本的 16 个寄存器的压栈、出栈操纵予以减少,转而由硬件主动举行保存,提高了硬件中断服务程序的相应时间
https://i-blog.csdnimg.cn/direct/e558c58f7c9945fd9c65130fa350c0ed.png#pic_center
(未开启优化)
https://i-blog.csdnimg.cn/direct/49abb74f91a94ae3bdb3560e49e1b7da.png#pic_center
(开启优化)


[*]优化程序存储布局:
增长了highcode段,并将其部署在RAM区运行,且段中的函数将不会被内联,并对未使用的 highcode 段函数加以优化,降低 RAM和FLASH 的使用量
https://i-blog.csdnimg.cn/direct/d57de7698b5b48068ce5357cdc3275d6.png#pic_center
(未开启优化)
https://i-blog.csdnimg.cn/direct/046c52384e444dbc9b20f2f400bd2917.png#pic_center
(开启优化)


[*] 自定义压缩指令:
新增8 条针对 MCU 8/16位数据操纵的XW扩展压缩指令,使用MRS2内置的GCC12.2举行测试。使用 CSIBE Benchmark 举行 CodeSize 的对比实验,CSIBE套件中最好的优化比例为4.01%。
https://i-blog.csdnimg.cn/direct/76905618512640bcb49129fa5f64fbed.png#pic_center
[*] 添加mcpy指令
mcpy指令功能与c语言库函数memcpy相同,使用于内存复制搬运场景,可以或许提高在内存区域与数据宽度非对其时内存搬运的速度。
[*] 兼容软件浮点库
对工具链中的 lib 库生成器以及 link 链接器的代码加以修改,针对未涵盖浮点数的库源码举行处置惩罚,生成可以或许同时兼容 ILP32、ILP32F 这两种 ABI 的库,使得所生成的库可以或许在具备硬件浮点扩展和不具备硬件浮点扩展的工程中均能正常使用,降低了开辟者对库的维护工作量。
[*] 运行库优化
添加基于定点运算的数学函数库 IQMATH
添加专有打印函数printf,用以缩减代码规模
GCC8和GCC12生成的库,在链接时可以或许相互兼容
3.7代码下载



[*] 内置专部属载模块,支持启用外部下载工具
MRS2内置了适配WCH-Link系列硬件调试器的代码下载模块,支持查询硬件调试器模式、开启/禁用芯片代码掩护功能、设置芯片ROM+RAM分配状态、禁用芯片两线调试接口、全擦、下载、校验、复位、启用SDI打印等功能。同时,MRS2还支持切换为其他硬件调试器,按用户指定的启动参数调用外部软件来完成下载操纵。
https://i-blog.csdnimg.cn/direct/5d968b55b74b4beb8b2ac4d49d0ca2b6.png#pic_center
https://i-blog.csdnimg.cn/direct/a1ef31981a974ff0877801ce9395cb5a.png#pic_center
[*] 支持长途下载功能
MRS2还支持长途下载功能,通过近、远端MRS2中运行的长途协助模块将近端(调试方)编译生成的目的文件加密发送至远端(被调试方),再主动调用远端毗连的WCH-Link硬件调试器完成下载操纵,并将程序运行效果回显到近端。
https://i-blog.csdnimg.cn/direct/39314e4008694291bf2d3d4e090fe29d.png#pic_center
[*] 集成多种独立下载工具
除了内置的下载功能模块,MRS2还集成了WCHISPStudio、WCH-LinkUtility等独立下载工具,以实现在不同的使用场景、芯片预留接口条件下满足开辟者的代码下载需求。
https://i-blog.csdnimg.cn/direct/23c47602649341dc86d37069353cbe63.png#pic_center
https://i-blog.csdnimg.cn/direct/40c1133ac39441f69c2a44f3b18c452f.png#pic_center
3.8代码调试



[*] 完整的在线仿真调试功能
MRS2支持单步运行、重新运行、暂停运行等在线仿真调试功能,提供了代码反汇编、寄存器、外设、调用栈、变量等监控窗口。
https://i-blog.csdnimg.cn/direct/899ee5f7163c4b50a803c72ca7c10c4d.png#pic_center
[*] 支持一键开启RISC-V半主机模式(semihosting)
MRS2支持一键开启semihosting功能,无需开辟者手动移植相干接口函数,可直接将打印函数输出的内容显示到控制台。配合简化的printf函数,在减少代码占用的同时,不再额外需要串口硬件、上位机串口接收软件,简化了代码的调试情况搭建过程。
https://i-blog.csdnimg.cn/direct/d8e5f9cf182b4e1d90738beb0d8697bf.png#pic_center
https://i-blog.csdnimg.cn/direct/7e33bb36b6d642a980bda3b24ff358e8.png#pic_center
[*] 在线非常追踪调试
在现实的嵌入式产物使用场景中,有部分代码非常运行征象只会在特定的软硬件情况下偶现。此时如果接纳通例的在线仿真调试本领,需要先复位芯片再进入调试模式,从而导致多次重试都无法复现之前的非常征象,极大降低了此类标题的处置惩罚服从。
MRS2针对此类应用场景,特别支持了在线非常追踪调试方法,通过GDB指令,获取芯片当前变量、寄存器、Flash、调用栈内容,无需芯片先复位、运行再去监控变量、寄存器等内容,最大水平保留硬件瞬时状态,利于追踪代码标题。
https://i-blog.csdnimg.cn/direct/83866b27cd874812a5431f3bf75315fc.png#pic_center


[*]支持长途源码级、目的代码级调试
MRS2还支持长途调试功能,通过近、远端MRS2中运行的长途协助模块将近端(调试方)编译生成的目的文件、调试指令等加密发送至远端(被调试方),再主动调用远端毗连的WCH-LinkE硬件调试器与芯片通讯,完成各项单步操纵,并将单步调试执行效果回显到近端。MRS2也支持长途目的代码级调试:近端用户将修改后编译生成的目的文件长途下载到目的芯片,然后根据远端回显的芯片运行时打印信息来调整近端源码,再重复上述下载、查看回显信息过程,直到确定终极的代码内容。
https://i-blog.csdnimg.cn/direct/337694b4ed0d4a849493772cb4d13b30.png#pic_center
四、开放性



[*]开放式厂商组件
MRS2支持在线更新各类模块组件,如SDK、OpenOCD等。芯片及开辟板厂商可以通过MounRiver组件发布平台,上传组件供其他用户下载使用。
https://i-blog.csdnimg.cn/direct/68a3da23a3ae4b91afbec9495ec343fe.png#pic_center
https://i-blog.csdnimg.cn/direct/e18f29998efd449caf74e977e5dcf98e.png#pic_center
五、下载与更新



[*]访问我们的官方网站:http://www.mounriver.com/download,根据操纵体系选择对应的安装包举行下载。
[*]软件支持在线、离线更新操纵。
https://i-blog.csdnimg.cn/direct/1c8aa6b9566a45f3b5defafefd3b6d48.png#pic_center
六、反馈与建议



[*]MRS2内置反馈与建议通道
[*]MRS2内置用户手册https://i-blog.csdnimg.cn/direct/0d622444b54e4e3b8c98d76692b30d1b.png#pic_center

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 基于VSCode软件框架的RISC-V IDE MRS2正式上线发布