基于VSCode軟件框架的RISC-V IDE MRS2正式上線發布
一、概述
MounRiver Studio Ⅱ(MRS2)為MounRiver Studio的換代版本,從V2.1開始,框架更換至更現代的VSCode,并深度定制開發。在工程管理、代碼編輯、編譯、調試等方面均兼容之前版本,并在效率和功能等方面進行提升,著力將MRS打造為更加輕量化、智能化、高效化的RISC-V IDE。同時,提供Windows/Linux/macOS 以及國產操作系統版本,用戶可前往MRS官網進行下載。
二、MRS2亮點
- 高速化軟件啟動:針對安裝速度、軟件框架啟動速度進行了專項優化。
自動化工程配置:從模板無需設置直接創建工程、自帶默認的編譯配置、工具鏈切換時編譯選項聯動修改。 - 實時化全局搜索:搜索結果根據實際文件內容實時刷新。
智能化代碼輔助:支持代碼導航、補全、診斷、格式化、重構以及代碼的實時靜態語法分析; - 可視化代碼分析:支持圖表化顯示代碼中ROM,RAM用量占比、函數及變量占用內存大小及變化、輸出文件各段數據實際大小等。
- 高效化芯片調試:除常用的在線仿真調試外,還支持在線異常追蹤調試以及遠程調試。
- 多樣化輔助工具:集成HEX/BIN文件處理、串口調試、ISP下載、二進制文件瀏覽等多種嵌入式開發輔助工具。
三、核心功能介紹
3.1工程創建
- 內置芯片模板工程,支持快速創建項目
MRS2內置了沁恒微RISC-V芯片裸機及嵌入式實時操作系統工程模板,配套提供完整的編譯、下載、調試參數文件,無需手動逐一設置,可直接一鍵式創建項目。 - 自定義工程模板創建、導入、導出功能
MRS2支持將自定義的項目創建為芯片工程模板并導出,再由安裝在其他主機上的MRS2導入后,即可在新建工程時使用自定義的芯片工程模板創建項目。
3.2工程管理
- 支持多種工程加載方式,便捷切換目標芯片型號
MRS2兼容舊版MRS創建的工程、解決方案以及WCH EVT工程,可雙擊.wvproj/.wvsln文件或軟件內菜單項加載工程/解決方案。MRS2還支持切換當前目標芯片型號,同時自動設置對應的下載、調試參數。 - 內置文件版本管理功能,支持回溯歷史版本源碼
MRS2在文件保存時會自動按照分鐘級的時間跨度進行版本備份,用戶可以查看、對比任意備份的文件歷史版本,并支持同步兩個文件歷史版本間的代碼差異。
3.3代碼編輯
- 自由添加文件書簽、筆記
MRS2可通過快捷鍵或右鍵菜單添加代碼書簽、筆記,支持快捷鍵方式跳轉、專屬頁面全局管理,該功能不會像代碼注釋一樣修改源碼,修改后不影響源碼編譯結果,有助于審閱、瀏覽代碼時添加備注信息。 - 主動式文件編碼識別,避免中文字符出現亂碼
由于在Windows/Linux/macOS等平臺下,文件的默認編碼方式不同,導致更換平臺加載工程時,包含中文的源碼往往會顯示為亂碼,此時用戶需要手動調整當前編輯器或整個集成開發環境(IDE)的默認文件編碼。而當一個工程中包含多種編碼方式的文件時,大多數只支持設置全局文件編碼的IDE更是無法準確加載每個文件的中文字符。
MRS2支持在打開文件時自動識別其編碼方式,并提供切換瀏覽、保存文件時編碼的快捷按鈕,輕松應對跨平臺瀏覽源碼、加載包含不同編碼文件工程等IDE使用場景。 - 主動式標點轉換,防止符號誤輸入
在編寫代碼過程中,開發者經常面臨在集成開發環境與其他軟件之間不斷切換使用的場景,可能導致部分全角符號被誤輸入到代碼中,尤其是逗號、分號、圓角括號等半角、全角模式下外觀差異不大的標點符號。開發者需要依賴集成開發環境在語法分析、代碼編譯階段的報錯提示,才能逐個修復誤輸入的符號。
而MRS2在支持上述被動檢測符號語法的基礎上,還增加了主動式標點轉換功能,可以將代碼編輯區輸入的逗號、分號、圓角括號等全角字符直接轉換為半角字符,避免了后續手動修改的步驟,提升了代碼開發效率。
3.4智能代碼輔助
- 代碼補全
在MRS2中,可以通過使用代碼補全來更快輸入代碼。只要開始輸入關鍵字、變量名或函數名,MRS2便會提供一系列匹配的建議供你選擇。 - 代碼格式化
在軟件開發過程中,代碼的整潔性和一致性對于提升代碼質量和維護效率至關重要。為此,我們提供了強大的代碼格式化功能,幫助開發者輕松修正代碼的縮進、換行以及重新排列注釋,以確保代碼結構的清晰和易讀。
此外,我們還支持自定義代碼格式模板,允許開發者根據自己的編碼習慣和項目需求,靈活設置代碼的格式規范。有助于保持代碼風格的一致性,從而減少因格式差異而導致的代碼審查沖突和誤解。 - 代碼導航:精準定位,實時更新
在軟件開發過程中,高效地導航代碼是提升開發效率的關鍵。MRS2提供的代碼導航功能,不僅能夠快速跳轉至代碼的聲明、定義和引用位置,而且具備實時更新的能力,確保即使文件經過修改,導航也不會跳轉至過時的位置。 - 代碼重構:全局多次重命名,安全可靠
在軟件開發過程中,全局重命名是一項至關重要的功能,它允許開發者快速且準確地更新代碼中的變量名、函數名等符號,以保持代碼的一致性和可讀性。
MRS2支持跨文件的多次全局重命名,在進行全局重命名時能夠理解代碼中的上下文和作用域,即使存在相同名稱但作用域不同的局部變量,也能被準確地區分和重命名,而且無論涉及的文件數量多少,都能準確且一次性地完成所有相關標識符的更新。
- 代碼分析:代碼質量實時監控(clang-tidy實時分析)
MRS2能夠實時監控代碼,尋找其中可能存在的錯誤。一旦發現任何潛在問題,它會在編輯器中高亮顯示可疑的代碼段,幫助開發者迅速定位并解決問題。 - 代碼診斷:快速修復,高效解決編譯問題
MRS2支持快速修復功能。該功能能夠自動為許多常見的編譯問題提供修復建議,并且可以根據建議自動更新代碼。
另外MRS2能夠智能識別代碼中的點操作符(.)和箭頭操作符(->),并完成兩者的自動轉換,有助于減少因操作符使用不當而導致的編譯錯誤。
3.5代碼編譯
- 可視化編譯分析,輸出段用量占比全展示
在嵌入式開發過程中,開發者經常需要留意編譯輸出文件中芯片FLASH及RAM區的使用情況,防止出現代碼超出芯片容量的情況。而大多數集成開發環境在結束編譯后,對此類信息的提示往往不夠明顯、詳細,無形中增加了開發者在此類頻繁操作上的時間成本和犯錯風險。
MRS2支持在結束編譯后可視化展示輸出段的詳細信息:輸出段空間占比,FLASH/RAM使用情況,各變量、函數所在地址、大小、增刪狀態及所占空間大小變化。所有編譯輸出的關鍵信息一目了然,一定程度上提升了嵌入式項目的開發效率。 - 精準鏈接錯誤跳轉
在嵌入式開發過程中,GCC鏈接階段報錯信息的準確性一直是開發者關注的焦點。傳統的報錯信息往往不夠精確,錯誤跳轉位置指向模糊,導致開發者在排查問題時耗時耗力。
MRS2改善這一情況,優化了錯誤報告機制,實現了精準的鏈接錯誤跳轉功能,以提升開發效率。
(MRS2)
(舊版MRS)
3.6代碼優化
- 快速中斷:
增添了一種全新的中斷服務程序處理模式,該中斷服務程序將原本的 16 個寄存器的壓棧、出棧操作予以減少,轉而由硬件自動進行保存,提高了硬件中斷服務程序的響應時間
(未開啟優化)
(開啟優化)
- 優化程序存儲結構:
增加了highcode段,并將其部署在RAM區運行,且段中的函數將不會被內聯,并對未使用的 highcode 段函數加以優化,降低 RAM和FLASH 的使用量
(未開啟優化)
(開啟優化)
- 自定義壓縮指令:
新增8 條針對 MCU 8/16位數據操作的XW擴展壓縮指令,使用MRS2內置的GCC12.2進行測試。利用 CSIBE Benchmark 進行 CodeSize 的對比實驗,CSIBE套件中最好的優化比例為4.01%。 - 添加mcpy指令
mcpy指令功能與c語言庫函數memcpy相同,使用于內存復制搬運場景,能夠提高在內存區域與數據寬度非對其時內存搬運的速度。 - 兼容軟件浮點庫
對工具鏈中的 lib 庫生成器以及 link 鏈接器的代碼加以修改,針對未涵蓋浮點數的庫源碼進行處理,生成能夠同時兼容 ILP32、ILP32F 這兩種 ABI 的庫,使得所生成的庫能夠在具備硬件浮點擴展和不具備硬件浮點擴展的工程中均能正常使用,降低了開發者對庫的維護工作量。 - 運行庫優化
添加基于定點運算的數學函數庫 IQMATH
添加專有打印函數printf,用以縮減代碼規模
GCC8和GCC12生成的庫,在鏈接時能夠彼此兼容
3.7代碼下載
- 內置專屬下載模塊,支持啟用外部下載工具
MRS2內置了適配WCH-Link系列硬件調試器的代碼下載模塊,支持查詢硬件調試器模式、開啟/禁用芯片代碼保護功能、設置芯片ROM+RAM分配狀態、禁用芯片兩線調試接口、全擦、下載、校驗、復位、啟用SDI打印等功能。同時,MRS2還支持切換為其他硬件調試器,按用戶指定的啟動參數調用外部軟件來完成下載操作。 - 支持遠程下載功能
MRS2還支持遠程下載功能,通過近、遠端MRS2中運行的遠程協助模塊將近端(調試方)編譯生成的目標文件加密發送至遠端(被調試方),再自動調用遠端連接的WCH-Link硬件調試器完成下載操作,并將程序運行結果回顯到近端。 - 集成多種獨立下載工具
除了內置的下載功能模塊,MRS2還集成了WCHISPStudio、WCH-LinkUtility等獨立下載工具,以實現在不同的使用場景、芯片預留接口條件下滿足開發者的代碼下載需求。
3.8代碼調試
- 完整的在線仿真調試功能
MRS2支持單步運行、重新運行、暫停運行等在線仿真調試功能,提供了代碼反匯編、寄存器、外設、調用棧、變量等監控窗口。 - 支持一鍵開啟RISC-V半主機模式(semihosting)
MRS2支持一鍵開啟semihosting功能,無需開發者手動移植相關接口函數,可直接將打印函數輸出的內容顯示到控制臺。配合簡化的printf函數,在減少代碼占用的同時,不再額外需要串口硬件、上位機串口接收軟件,簡化了代碼的調試環境搭建過程。 - 在線異常追蹤調試
在實際的嵌入式產品使用場景中,有部分代碼異常運行現象只會在特定的軟硬件環境下偶現。此時如果采用常規的在線仿真調試手段,需要先復位芯片再進入調試模式,從而導致多次重試都無法復現之前的異常現象,極大降低了此類問題的處理效率。
MRS2針對此類應用場景,特別支持了在線異常追蹤調試方法,通過GDB指令,獲取芯片當前變量、寄存器、Flash、調用棧內容,無需芯片先復位、運行再去監控變量、寄存器等內容,最大程度保留硬件瞬時狀態,利于追蹤代碼問題。
- 支持遠程源碼級、目標代碼級調試
MRS2還支持遠程調試功能,通過近、遠端MRS2中運行的遠程協助模塊將近端(調試方)編譯生成的目標文件、調試指令等加密發送至遠端(被調試方),再自動調用遠端連接的WCH-LinkE硬件調試器與芯片通信,完成各項單步操作,并將單步調試執行結果回顯到近端。MRS2也支持遠程目標代碼級調試:近端用戶將修改后編譯生成的目標文件遠程下載到目標芯片,然后根據遠端回顯的芯片運行時打印信息來調整近端源碼,再重復上述下載、查看回顯信息過程,直到確定最終的代碼內容。
四、開放性
五、下載與更新
- 訪問我們的官方網站:http://www.mounriver.com/download,根據操作系統選擇對應的安裝包進行下載。
- 軟件支持在線、離線更新操作。
六、反饋與建議
審核編輯 黃宇
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
軟件框架
+關注
關注
0文章
22瀏覽量
9873 -
集成開發環境
+關注
關注
0文章
64瀏覽量
17721 -
RISC-V
+關注
關注
45文章
2292瀏覽量
46211
發布評論請先 登錄
相關推薦
RISC-V架構及MRS開發環境回顧
是RISC-V被稱為開放指令集的主要原因。(4)RISC-V目前的應用
沁恒微電子于2020年2月24日發布了首款基于 RISC-V架構,自
發表于 12-16 23:08
如何使用 RISC-V 進行嵌入式開發
RISC-V指令集等因素。 安裝IDE :可以選擇基于Eclipse的Nuclei Studio IDE,它支持RISC-V架構的嵌入式開發
關于RISC-V學習路線圖推薦
:
使用IDE(如VSCode、Eclipse等)或命令行工具搭建RISC-V開發環境。
四、RISC-V編程實踐
編寫簡單的RISC-V
發表于 11-30 15:21
《RISC-V能否復制Linux 的成功?》
是他們可以信任的。”
O\'Connor預測很快就會有開源FPGA,最后還會有SoC。
RISC-V處理器設計浮出水面
基于RISC-V開源硬件的處理器設計與開源軟件有所不同:其框架凍
發表于 11-26 20:20
加入全球 RISC-V Advocate 行列,共筑 RISC-V 的未來 !
加入RISC-VAdvocate行列!我們正在尋找來自世界各地的RISC-V愛好者,通過全球推廣和參與,成為支持RISC-V進步的關鍵參與者。作為一名RISC-VAdvocate,您將
RISC-V Summit China 2024 青稞RISC-V+接口PHY,賦能RISC-V高效落地
沁恒在歷屆峰會上分享RISC-V在MCU領域的創新成果,和大家共同見證了本土RISC-V產業的成長。早在第一屆RISC-V中國峰會上,沁恒就公開了青稞RISC-V系列量產芯片的關鍵技術
RISC-V Summit China 2024 | 青稞RISC-V+接口PHY,賦能RISC-V高效落地
MounRiver Studio IDE(MRS)不僅在工具鏈層面為青稞RISC-V的免表中斷和指令擴展提供支持,還通過一鍵工程創建、多種運行庫、數學庫、本地/遠程調試、免復位問題定位等實用功能,讓
發表于 08-30 17:37
2024 RISC-V 中國峰會:華秋電子助力RISC-V生態!
、生態伙伴、公開課、開發者社區、評測試用等欄目,是為各生態廠商量身定制的硬件開發平臺,通過線上社區+一站式供應鏈服務讓硬件開發變得更簡單。他表示,RISC-V開放平臺已吸引30+廠商入駐,發布硬件產品
發表于 08-26 16:46
risc-v的發展歷史
Foundation),旨在促進RISC-V架構的發展和推廣。該基金會由大量的企業和機構支持,包括英特爾、Nvidia、谷歌、華為、IBM、紅帽、西部數據等。
2015年:RISC-V基金會發布了第一個穩定版
發表于 07-29 17:20
rIsc-v的缺的是什么?
通過軟件模擬或復雜的指令序列來實現一些高級功能,這可能會增加執行時間和功耗。
2. 生態系統支持不足
軟件和工具鏈的可用性:盡管RISC-V社區在快速發展,但與成熟的ARM等架構相比,
發表于 07-29 17:18
昉·星光2 RISC-V單板計算機體驗(一) - 開箱
昉·星光2 RISC-V單板計算機體驗(一) - 開箱 一、開箱 昉·星光2( VisionFive 2 )的包裝盒設計的很有科技感。“擁抱變革, 擁有未來”這句話太適合當下環境了。
評論