用Keil编译程序时数据段过长怎么办?
程序DATA区空间已超过指定单片机的DATA区空间,可以用keil C编译的时候压缩。优化代码大小步骤 第一步:project >> Option for Target “**” 打开如图 2界面。选择“target”,勾选上“Use MicroLIB”再编译。分析:microLIB是缺省的C库,而且microLIB进行了高度优化。如果不勾选“Use MicroLIB”,keil...
keil编译时出现“Program Size: data=133.0 xdata=0 code=3198”怎么解 ...
在使用Keil进行项目编译时,如果遇到“Program Size: data=133.0 xdata=0 code=3198”的提示,表明程序的数据区超过了默认的128字节限制。为了解决这个问题,可以采取两种方法。首先,确保在项目右键选择“Options for Target”后,将“Target RAM\/ROM”设置为最大模式。这样可以增加可用的RAM和ROM空间。...
keil链接时data字段被超
是256字节,不过仍然只有低128字节可用作直接寻址的RAM,高128字节只有间接寻址时才是访问RAM。data超出了就应当分配到idata中。
keil里data字段被超出怎么办?
89C51只有128字节的RAM,但其中很多地址被特殊寄存器占用了,另外,你的中断、函数调用还要使用的堆栈也要使用RAM,所以你实际使用的RAM也就是80个字节左右,如果函数嵌套多,那么可使用的RAM就更少了。
keil编译地址空间溢出
data区已经被占了211.6字节,剩下一个109字节的块当然塞不进去了……优化优化变量吧,区区10k代码就把256字节用爆,你实在太大手大脚了,呵呵。能用局部变量的就别全局变量,能不用变量的就不用变量,分配数组要量力而行。别把单片机当电脑,单片机的艺术是勤俭持家、杜绝浪费……...
为什么Keil C中idata不能用,是不是要在哪里设置一下?
从编译结果来看,你有好几个函数有实体但没有调用,这样是很浪费RAM的,因为KEIL因此会为这些函数中的局部变量都做了保留,相当于变成了全局变量来保存,如果你不想删除这些函数,那就教你个办法,在程序初始化阶段:i=0;if(i){ ...不需要调用的函数;...} 这样就能把RAM省下来了。记住,嵌入式...
keil编译时出现“Program Size: data=133.0 xdata=0 code=3198”怎么解 ...
只要生成了Hex文件,没有错误,就没问题,这个只是一个提示信息,我也不知道89c52的data有多大,你可以 点击 project--->options for target--->device查看,如果你89c52的data超过了133,你可以考虑把原来定义的数据类型改成xdata
Keil uvision2编译C文件时,为什么提示目标没产生,是已经破解注册版的...
DATA段的大小已经超标了。检查你的程序,减少部分全局变量,或者将一部分全局变量挪到IDATA段。
你好!我在用keil(uvision3)版本编译程序时,出现“错误 C249: 'DATA...
内存不足造成的,变量定义的太多,你可以讲部分不更改值得变量前加code,使其在ROM中,腾出一部分空间。
keil编译报错,(1432): error C249: 'DATA': SEGMENT TOO LARGE
这个错误字面的意思是你的变量太多,塞不进data块里面。你应当将一部分全局变量分配到idata块中。或者看看能否将部分全局变量换为局部变量。