我一直在尋找兩個小時的原因。現在我正在使用IAR Embedded Workbench Evaluation 5.30在CC430F6137開發套件板上進行調試。正如我已經聲明瞭一些全局靜態變量,我意識到我無法正確地觀察它。它們顯示爲FF或3F。使用IAR Embedded Workbench 430調試CC430F6137時無法看到靜態變量5.3
我試圖在內存表中查找它們,模式看起來像ff 3f ff 3f ....這種模式持續從0x1C00-0x1CFF;數據顯示在0x1D00 - 0x2BFF。根據CC430F6137的數據表,RAM的0段的範圍爲0x1C00 - 0x23FF,總共爲2KB。第1部分的範圍從0x2400到0x2BFF。
例如,根據觀察窗口,靜態變量位於0x1CED。但是,該值是0x3F。當我使用局部變量複製該靜態變量的值時,它不是0x3F。我的靜態變量位於第0部分的小邊界區域(具有奇怪的模式)。 我的硬件:TI的USB-MSP430調試接口。評估板是EM430F6137F900。
我試過模擬器,沒問題。我還用MSP430F449的靜態變量(TI LPT MSP430調試器)創建了一段簡單的代碼,還可以看到靜態變量。 有沒有人有任何想法爲什麼發生這種情況和可能的解決方案?提前致謝!
此bug已被固定在IAR最新版本的Embedded Workbench的
你使用的是「靜態觀察窗口」嗎? EWB有一個單獨的窗口用於查看靜態數據。 – Clifford
我嘗試了靜態觀察窗以及普通觀察窗。他們都顯示FF或3F。符號存儲器中的對應地址也是FF 3F模式 –
我不知道什麼是錯誤的,但我可以給你一些關於如何找出問題的提示。首先,檢查鏈接器映射文件,確保變量確實放置在有RAM的地方,並確保鏈接器和調試器具有相同的世界視圖。其次,取消選中「run to main」框並單步執行cstartup代碼以驗證它是否正確初始化了內存(它應該清除DATA16_Z段並將DATA16_ID複製到DATA16_I)。 – Lindydancer