etec 发表于 2023-11-17 11:16:53

关于STC8H8K64U的XDATA 和 DATA 变量使用出错问题

使用STC8H8K64U的芯片做一个项目,在XDATA 使用空间到500字节以上时,出现了一个比较奇怪的现象,程序中的一个DATA里面的全局变量 ,在调用 XDATA 里面的一个全局变量时,数据值发出错,变成一个随机数值, 2个变量都有初始化,并赋值,变量都是定义为 unsigned long int 类型,运算时应该没有超出范围,然后我用STLINK进行仿真,仿真时数据一切正常。下载到芯片运行时就不行。
   目前做了如下改动后,数据运行正常了

   1:把这两个变量全部放在内部DATA 里面,运行正常
   2:把这两个变量全部放在XDATA 里面,   运行正常

   虽然能用,但是问题还是没有找到

   
   麻烦各位大神看看,这个情况,我是哪里出了问题,关键是仿真一切正常,没办法找到原因,谢谢大家!

神农鼎 发表于 2023-11-17 12:52:45

【存储类型强制指定】:
unsigned char xdatak =0;
unsigned char idatam =0;


另外在KEIL关闭的情况下,用 STC-ISP V6.92F 重新添加下驱动


etec 发表于 2023-11-17 17:22:18

神农鼎 发表于 2023-11-17 12:52
【存储类型强制指定】:
unsigned char xdatak =0;
unsigned char idatam =0;


您好,重新添加了头文件到keil中,变量出错的问题好像没有,这是什么原因啊,能否说明一下,谢谢

神农鼎 发表于 2023-11-17 17:31:35

怀疑是那个双数据指针不兼容,我们这双数据指针是后来发展的,KEIL那个是旧的

etec 发表于 2023-11-17 19:39:25

神农鼎 发表于 2023-11-17 17:31
怀疑是那个双数据指针不兼容,我们这双数据指针是后来发展的,KEIL那个是旧的 ...

好的,感谢您的指导!
页: [1]
查看完整版本: 关于STC8H8K64U的XDATA 和 DATA 变量使用出错问题