STC32G128K一个全局变量在运行的时候被修改?
最近在用STC32G128K做一个小项目。定义了一个全局变量,在运行后会被修改。在初始化后,只要程序一运行这个变量值就不知道被什么给修改了。在其它地方全部禁用了。而且KEIL优化设置为0,看了一下编译也不存在内存越界。现在不知道怎么解决了。Program Size: data=9.0 edata+hdata=1280 xdata=822 const=823 code=25175
请各位帮忙分析一下还有什么可能导致这个问题。谢谢。
这要上代码看的...或者你自己看看 map文件 一般是指针越界 闯的祸. 大概率是数组越界导致的 调试一下看看
用仿真功能,进去跟踪看下,不猜
硬件SWD仿真 STC32,用 【STC-USB Link1D 】全自动仿真/脱机下载 工具,有视频讲解 - 仿真/编译器/头文件 - 国芯论坛-STC全球32位8051爱好者互助交流社区 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)
最简单的方式:用link1d进行仿真,监控这个地址,就能知道在哪里被修改的了。大概率是数组溢出。 主要还是看自己的程序,可能真的是自己疏忽“修改了”在其他地方操作了此参数
页:
[1]