您好:我现在遇到一个想不明白的问题。
我正在使用一个COG12864液晶屏时,为了保存写入的数据,我想开辟单片机内部1KB(=8*128)的RAM充当其缓存。定义方式如下:
#define PAGE 8
#define COLUMN 128
static uint8 COG12864Memory[PAGE][COLUMN];
现象:
第一步:当我 COLUMN 定义为128 时,编译下载后,理论上应该进入调试状态,然后我可以点击运行按钮,进行下一步调试。可是现在,当我下载完后,程序直接自动运行了!现象如下:
并且此时程序并没有真的运行(在main文件中设置的断点,没有被执行)。
接着,我点击了暂停按钮,想看看程序停在了哪里,CCS给出了这样的警告:
第二步:我把COLUMN宏 定义为120 后,程序可以正常进入调试界面,且正常运行。
请问专家,这是什么原因呢? 我查过5529芯片,内存SRAM有8+2KB ,我应该没有超过内存吧!?那又是什么原因导致的程序无法运行呢?(我这里程序代码很简单,没有其他地方占用RAM资源。用到的COG屏幕库文件API,I都在M4中运行过,没问题的,到了5529上就不行了)
