我一直在寻找两个小时的原因。现在我正在使用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