MounRiver Studio2支持在主菜單Project下勾選Show Memory Analysis開啟內存分析功能。開啟該功能后進行工程編譯,無需額外配置工程屬性,就可以直觀地查看各個段鏈接后在內存空間的分配信息,以及符號的排列統計。

隨著編譯后的分析進度完成,編輯器會擴展一個分組區域打開編譯結果分析視圖。
視圖上方以柱形圖顯示各個section節大小,以及餅圖形式展現Flash和RAM的大小和使用量。
- text為代碼節,存儲在Flash中
- data為數據節。初始值在Flash,運行時在RAM
- bss為未初始化數據節,只存儲在RAM中。
對于一般程序,Flash的使用量為.text,.data節大小之和;RAM使用量為.data,.bss節大小之和。
分析視圖的下方為符號表,顯示符號的類型(函數或變量),名稱,地址,大小等詳細屬性。表中默認以地址遞增排序,也可以按需選擇大小排序。
通過符號表,物理內存分布一目了然,此外方便工程師進行一些功能優化:
- 代碼膨脹定位:快速識別占用空間最大的函數
- 庫函數優化:發現大型庫函數,考慮替換或優化實現
- 異常快速定位:通過程序計數器pc值直接定位故障函數,協助調試
- 緩存局部性優化:將頻繁調用的函數集中放置,提高指令緩存命中率;分支預測改善:
變化和狀態欄顯示了同個工程與上一次編譯時的符號狀態和大小變化值。我們通過將例程模塊簡單修改后重新編譯。改動后打印函數后未被調用,打印庫中相關函數都沒有被鏈接,因此代碼體積減小,區域FLASH和RAM大小驟減,庫函數如memset狀態為removed。關聯的符號變化和在表中均能直觀體現。
內存分析下方的符號視圖還提供了上下文菜單。選擇某符號的行后右鍵,支持跳轉到符號在源碼中定義位置。

右鍵符號,同樣支持跳轉到該符號反匯編對應位置,編輯器會打開其所在編譯單元中間文件(.o)的反匯編結果,供用戶快速瀏覽處理優化后的匯編指令。

-
Memory
+關注
關注
1文章
80瀏覽量
30453 -
IDE
+關注
關注
0文章
364瀏覽量
48767 -
嵌入式開發
+關注
關注
18文章
1108瀏覽量
49910 -
編譯
+關注
關注
0文章
689瀏覽量
34972 -
RISC-V
+關注
關注
48文章
2820瀏覽量
52109
發布評論請先 登錄
探索RISC-V在機器人領域的潛力
2025新思科技RISC-V科技日活動圓滿結束
兆松科技發布高性能RISC-V編譯器ZCC 4.0.0版本
RISC-V和ARM有何區別?
RISC-V架構下的編譯器自動向量化
FPGA與RISC-V淺談
RISC-V Day Tokyo|RISC-V平臺集成Imagination GPU解決方案的探索分析
芯來科技亮相RISC-V Day Tokyo 2025
2025中國RISC-V生態大會-運營商分論壇成功舉辦
DC-ROMA RISC-V主板發布:開啟模塊化筆記本新時代
關于RISC-V芯片的應用學習總結
RISC-V MCU技術
基于VSCode軟件框架的RISC-V IDE MRS2正式上線發布
HighTec C/C++編譯器套件全面支持芯來RISC-V IP

RISC-V IDE MRS2使用筆記(二): 編譯后Memory分析
評論