请教!我的keil4-C251(5.60版)这个提示是啥意思[结贴]
本帖最后由 乐此不疲 于 2022-12-14 17:21 编辑最近比较痴迷STC32G,keilc251软件安装、破解了挺长时间了,此前都是玩一些简单测试,代码少就没有发现问题,昨天玩TFT驱动,发现汉字字模数组稍大就无法编译,如下图。
我对电脑里按软件不熟悉,都是按照百度一步步弄的,不知道为什么这个新安装的keil4的CID号与我电脑里其他盘下原有的keil5-DMK的CID一样了,也不知道啥原因。
现在的问题如果出自注册问题,也请大神指点一下破解方法和技巧,也希望能分享一个好用的注册机。
软件注册如下图:
软件设置如下图:
这是错误提示:
STC32G12K128的EDATA最大4K字节
你这个提示表示EDATA溢出了
将以将大的数组定义到XDATA区域 zhp 发表于 2022-12-13 12:52
STC32G12K128的EDATA最大4K字节
你这个提示表示EDATA溢出了
将以将大的数组定义到XDATA区域 ...
多谢,我以为EDATA可以存放64K呐,我的这个代码是在STC8A移植过来的,原本以为在32G128不会有问题的,看来还是要深入了解芯片的。再谢! 此贴可以结贴了,经过仔细阅读芯片手册了解到按照1楼图2的设置,变量存储区域为edata,按照手册所说edata可以有12k空间,但是这个12k其实是由edata(4k)+扩展空间的xdata(8k)组成的,原本自我的理解是这个12K空间是自动连续使用的,结果每次存储超过4K就报错,于是有了软件4k限制的疑惑,经 @zhp 的指点弄清了STC32G的情况,将数组冠名为xdata后就一切和谐了,只是这里需要注意的是C251中char(int、u8、u16)+xdata、或者(结构体变量名称)+xdata这个书写格式不能变,这一点不同于C51那么随意,另外最好在主函数声明中加入EXTRAM=1;(AUXR-B0=1;使能外部扩展寄存器的操作)这一句,这对STC32G不必要但对其他16位的STC或许就必要了。以上只是个人对芯片的一点儿了解,在此分享给大家也请高手指正并结束此贴。 乐此不疲 发表于 2022-12-14 17:19
此贴可以结贴了,经过仔细阅读芯片手册了解到按照1楼图2的设置,变量存储区域为edata,按照手册所说edata可 ...
感谢分享技术经验~
页:
[1]