介 紹
棧是MCU內部一塊RAM區域,用于存放某些特別的數據,它按照后進先出(LIFO/FILO)的原則,主要是為了程序中函數和中斷服務時保護現場、恢復現場。現在MCU的RAM空間越來越大,許多工程師都不用去關注棧的劃分,但是如果遇到了大項目,就需要關注堆棧大小設置是否合理,如果有問題就很有可能導致Fault。
近期有工程師使用e2 studio調試瑞薩MCU時,需要查看棧的使用情況,通過軟件找了一圈沒有發現,感覺是沒提供這個功能。其實e2 studio是有的,下面介紹stack棧的調試窗調出。
主要內容:
首先需要調出棧的觀察窗口,通過菜單中的窗口>顯示視圖>其他,會調出顯示視圖窗口,選擇Stack Analysis后會添加stack觀察標簽頁。
圖1 stack棧調出菜單及調出窗體
添加后的stack標簽頁提示缺少SNI文件及設置無法打開,如下圖2所示。這是因為stack需要SNI文件,而之前工程是不需要的所以沒有輸出,需要設置輸出stack文件,并且重新編譯整個工程,編譯整個工程按鈕如圖2中紅框所示。
圖2 stack添加到標簽頁后提示
打開stack輸出文件選項,選擇菜單中的項目>C/C++ Project Settings,如下圖3所示,即調出工程設置菜單。
圖3 工程設置選項
在C/C++ 構建>設置>Linker>Miscellaneous中,如下圖4所示,選擇啟用Outputs a stack use information file這個選項,這樣重新編譯整個工程就可以使用了。
圖4 stack設置選項
編譯后的顯示界面如下圖5所示,需要注意的是編譯要選擇構建HardwareDebug即整個工程,不然不會生成SNI文件。
圖5 stack標簽頁正常顯示內容
結 論
通過上面的設置實現了e2 studio stack analysis的使用。
來源:瑞薩MCU小百科(作者:李明)
免責聲明:本文為轉載文章,轉載此文目的在于傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請聯系小編進行處理
審核編輯 黃宇
-
mcu
+關注
關注
146文章
17324瀏覽量
352661 -
RAM
+關注
關注
8文章
1369瀏覽量
115025 -
Studio
+關注
關注
2文章
190瀏覽量
28836 -
STACK
+關注
關注
0文章
13瀏覽量
2822
發布評論請先 登錄
相關推薦
評論