KEIL C 出现ADDRESS SPACE OVERFLOW的解决办法

ERROR L107: ADDRESS SPACE OVERFLOW

用KEIL选用small模式编译一个程序时老时出错,信息如下。

*** ERROR L107:
ADDRESS SPACE OVERFLOW
... ...
Program Size: data=217.6 xdata=0
code=5314
Target not created

芯片我选的是AT89C52,RAM有256呀,怎么会OVERFLOW呢?

但是如果编译模式选用Compact或large时就一切正常。
... ...
Program Size: data=110.6
xdata=111 code=5914
"test" - 0 Error(s), 22 Warning(s).

---------------------------------------------------------------

另外的可能性:

比如全局变量中定义的过多如下所示:

uchar xpos,ypos;

uchar disbac;

uchar coma1,comb1,comc1,coma2,comb2,comc2;

uchar map[35];

uchar buff[35];

局变量是不是用得太多了,另外用的是什么单片机,RAM总共有多大,定义变量的时候

一定要注意变量是定义在那个区域的,系统默认为直接寻址DATA区,但DATA区只有128个字节,很容易用完和溢出的,

51单片机超出128个字节的RAM区定义变量的时候一定要要变里前面加IDATA,

这样表明这个变量是定义在IDATA区的,IDATA区是128到256之间的间接寻址RAM区.

建意你在全局变量和数组前都加在IDATA.

http://www.cnblogs.com/whut-xxxy/archive/2011/07/07/2099982.html

KEIL C 出现ADDRESS SPACE OVERFLOW的解决办法

时间: 2024-07-31 04:58:03

KEIL C 出现ADDRESS SPACE OVERFLOW的解决办法的相关文章

nrf52832 keil程序下载出现jlink cortex-m error 解决办法

nrf52832 keil下载过程中强制退出,导致后续程序烧写失败, sw device 找不到问题 解决办法: 1,nRf go studio 工具 ->nRF5x Programming 选择 nrf51 recover 2,然后erase all 即可重新下载. 原文地址:https://www.cnblogs.com/linfeng110/p/12125627.html

keil mdk 编程时出现黑光标的解决办法

keil5 mdk 编程的时候出现了个黑光标 现在按回车键不能让程序换行了,而是黑光标向下移动一行 针对开发朋友出现的此类问题,在今天的开发中本人也遇到, 解决办法:在键盘上按一下"Insert"键,就切换至竖光标!!!

Eclipse 报 “Exception in thread "main" java.lang.OutOfMemoryError: Java heap space ”错误的解决办法

1.打开Eclipse软件,选择菜单栏run,在二级菜单中选择 Debug Configurations...  项,如下图所示. 2.在弹出的窗口中选择 (x)=Arguments 选项卡,VM arguments 输入框中输入所需要的内存最大占用量,我这里输入的是800兆.最后点击Apply按钮即可. [附]MyEclipse的设置地址在run--->Open Run Dialog--->Arguments

at java.util.Arrays.copyOfRange(Arrays.java:3209)导致的java.lang.OutOfMemoryError: Java heap space 错误的解决办法

手动设置Heap size 修改TOMCAT_HOME/bin/catalina.bat,在"echo "Using CATALINA_BASE: $CATALINA_BASE""上面加入以下行: Java代码 set JAVA_OPTS=%JAVA_OPTS% -server -Xms800m -Xmx800m -XX:MaxNewSize=256m 原文地址:https://www.cnblogs.com/fkeyta/p/9114565.html

MySQL 1366错误解决办法

MySQL 1366错误大致描述如下 SQL Error: 1366: Incorrect string value: "xE8xAFxA6xE7xBBx86…" for column "address" at row 1 解决办法:检查数据库此字段的字符集与整理字符集是否与SQL语句传递数据的字符集相同:不相同则会引发MySQL1366错误. 修改MySQL该字段的字符集与整理规则即可.假设数据表为phplamp, SQL语句的字符集为utf8,出错的字段为add

子div块中设置margin-top时影响父div块位置的解决办法

在css中设置样式时,通常会遇到用子div块margin中设置margin-top时,父div块中就会随着子div的margin-top,也会和子div执行相同的margin-top的位置样式 解决办法1: 若子div块中使用margin-top,则在父div块中添加:overflow:hidden; 解决办法2: 若由于特殊情况不能在父div块中添加:overflow:hidden,那么在子div块中用padding-top代替margin-top;

Keil编译出现“Error: L6406W: No space in execution regions with .ANY selector match Section"的解决办法

情景: 在编译Keil工程时,compile编译能够通过,但在linking过程中,出现一大串"Error: L6406W: No space in execution regions with .ANY selector match Section"的错误. 分析: 这个出现的原因是因为芯片RAM空间不足,无法执行程序.通常RAM的空间会比较小,ROM空间相对较大. 解决办法: 两个思路,一个是扩大RAM,二是减少需要存在RAM里的内容: 1. 尝试修改"Target Op

System and method for critical address space protection in a hypervisor environment

A system and method in one embodiment includes modules for detecting an access attempt to a critical?address?space?(CAS) of a guest operating system (OS) that has implemented?address?space?layout?randomization?in a hypervisor environment, identifying

Unable to handle kernel paging request at virtual address 0x7e005070 解决办法

有点标题党的味道了~ 对于readl() 和 inl() 读取I/O端口报错的探究 给s3c6410的RTC写demo driver的时候遇到这个问题... 如图 这是虚拟内存技术导致的问题,不能直接使用物理地址(不过这里有个疑问,我上次给PC写的CMOS driver貌似用的是物理地址,布吉岛为嘛) 解决办法就是调用ioremap函数转换物理地址,重新映射IO端口到虚拟地址中 Once equipped with ioremap (and iounmap), a device driver c