找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 4469|回复: 6
打印 上一主题 下一主题

KEIL编译提示OVERFLOWED溢出的解决方法

[复制链接]

42

主题

723

帖子

2653

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2653
跳转到指定楼层
1#
发表于 2013-9-7 14:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您!

您需要 登录 才可以下载或查看,没有帐号?注册

x
*** ERROR L107: ADDRESS SPACE OVERFLOW: d5 j/ H2 v$ z6 N/ b# p
    SPACE:   XDATA   
1 K1 `: N5 W9 n! W. T    SEGMENT: ?XD?_ZSYS_ADC_CALIB_GET?ADC
) o% g* K$ I) u3 q; I    LENGTH:  0008H7 e* m  T* M5 V2 e! v
*** ERROR L107: ADDRESS SPACE OVERFLOW/ B$ {+ j- M+ S) ^( j% L: j
    SPACE:   XDATA     N2 g" I* J+ O3 d1 K2 Y# k5 r0 j
    SEGMENT: ?XD?_VSEARCHMAPBYIEEEADDR?Z_USERSTACKAPI
. _/ n7 t4 |' P7 W    LENGTH:  0007H$ B/ _5 f5 g0 t: m7 @
*** ERROR L107: ADDRESS SPACE OVERFLOW
2 A  S% F) l! ]    SPACE:   XDATA   5 o9 N  }3 Q& o6 @
    SEGMENT: ?XD?_VUSERADDRINDICATION?Z_USERSTACKAPI8 s* r# w/ a+ A7 f% G$ S
    LENGTH:  0006H
2 V9 D/ Y' k7 T3 o4 g) ^$ [5 Q4 u7 ]) a+ s
..........
, D! V" C' ^" O' b: i2 D0 p' M' b/ @, I& f- E& q& d" Q
Program Size: data=18.7 xdata=8244 code=88233
3 g& S& w/ r; Y# |9 JTarget not created3 M* Z  h  r; ?) G+ x" p7 n+ R

9 a% \3 |( d& a. ~5 _9 x9 t' \% J) r3 r6 L7 g
百度之后发现,并不是溢出的问题
' H6 g" Z# ?6 f1 N# m1 q1 U; a" |5 n6 R
原来不是data空间溢出的问题,而是我有些子程序定义了没调用,导致keil无法合理分配空间,从而溢出。  
  R9 F& u! W: Y  M" F8 j首先,我说了我不能任意使用外部存贮空间,所以决不能让编译器将一些临时变量放入idata or xdata。) T2 A' O- l  J% m
7 }; L7 h6 G7 M! B& b* h3 f
其次,data 空间可以达到256,见错误提示,data空间只使用了18.7而决无错误。这就有疑问了,那么我的错误出现在哪里呢?& b% }8 Y* q  s

  X: e) ~8 c+ U% m这就是Keil的问题了。当编译失败时,它不能给出完整正确的报告。所以它给出的:
0 t9 v8 |" h" Q0 |% E7 F6 u
; z5 H4 N) H/ OProgram Size: data=18.7 xdata=8244 code=88233
+ c" a# I9 x7 M, q! k  k0 C就是不可信的。实际上我的data空间已经远不止18.7了。(所以下次看是否是真的溢出,可观察这个参数先)4 Q& `: H/ f; n4 c& z" v: R9 S
9 |) c- t1 |$ n7 h$ T
最后找到,我宏定义了一个参数  u( P  c- v1 |9 G, J3 f
/ M8 \- G' d$ B, N" O3 L
#define    USER_SIZE_NWK_RRECT                    2
+ _7 M9 G1 I! ~# M' P8 A' q5 ]4 {
跟踪它; a) Y: f- G' W; _: Y6 f

6 P; h4 G& b% x6 q# M% u+ P/ z# ^; r    #if (USER_SIZE_NWK_RRECT)
: C7 W9 ?& a2 Q1 D        NS_RRECT     MEMORY_RRECT[USER_SIZE_NWK_RRECT];+ t! @+ ]. {* s
然后再跟踪 MEMORY_RRECT,发现这个参数没有被调用 , 将2改成0即可解决错误提示. t  W" h5 x! p; ]
0 l5 k3 X1 E9 x1 Z* Y  y
结论就出来了:1 q6 J. r& ^$ ^4 v

, P$ {* O( T0 J( ?( r/ a1、Keil的错误报告不完整。- M) G  |2 {$ B  T
# Y9 b) ~' z( [/ P8 g) `( t
2、在Keil里最好不要留下定义而未使用的变量或函数,编译器无法合理的为之分配空间,而导致空间溢出。
) j$ }) O  O  I- `$ R, A4 ^  y$ j  s1 Y2 T4 j8 `
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

3

主题

39

帖子

155

积分

二级会员(20)

Rank: 2Rank: 2

积分
155
2#
发表于 2013-9-22 10:00 | 只看该作者
你确定你的keil是破解的不是试用版的?

42

主题

723

帖子

2653

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2653
3#
 楼主| 发表于 2013-9-22 10:20 | 只看该作者
春雨过天晴 发表于 2013-9-22 10:008 F# b& s$ I. f) a. [6 e
你确定你的keil是破解的不是试用版的?

/ |0 H/ C8 r, W7 t, i破解的,用了挺长时间了,哈哈

3

主题

39

帖子

155

积分

二级会员(20)

Rank: 2Rank: 2

积分
155
4#
发表于 2013-9-22 10:57 | 只看该作者
myl593799546 发表于 2013-9-22 10:20
) t1 P6 x" |, c: a+ I破解的,用了挺长时间了,哈哈
( W. X5 j9 Z* ]$ u
开始没有细看你的分析和结论 以为是那种没破解的限制编译空间呢,后来仔细看了下,学习了。丢人了,快闪!{:soso_e121:}

42

主题

723

帖子

2653

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2653
5#
 楼主| 发表于 2013-9-22 11:26 | 只看该作者
春雨过天晴 发表于 2013-9-22 10:57! ?2 ]% _) {! J) X, N& E4 @" X; S
开始没有细看你的分析和结论 以为是那种没破解的限制编译空间呢,后来仔细看了下,学习了。丢人了,快闪 ...

, Y* k* F/ Q9 F  K* b5 E哈哈,没有没有,互相学习,{:soso_e144:}

2

主题

97

帖子

684

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
684
6#
发表于 2013-11-15 01:33 | 只看该作者
像这样问题,没有调用到的函数,你可以用一个
. a- i0 W' |$ H8 D  p9 Fif(0)" a3 `7 t% ^  M9 q
{
( i6 Y! ^# Z2 F/ f: m* C   放没有调用到函数;0 M/ p8 n, c1 @$ p
}

42

主题

723

帖子

2653

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2653
7#
 楼主| 发表于 2013-11-15 09:20 | 只看该作者
天才小痴 发表于 2013-11-15 01:33
& V" L! L8 n- ^6 e/ ~' T4 Y& a0 i' V% [像这样问题,没有调用到的函数,你可以用一个
* m, m  a: d4 @- Sif(0)( e0 A! P' `: d7 _. x
{

7 c; ~2 Y' Y) Q8 L+ ~3 G恩,你这个方法很好,不过用#if 0应该更好吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2024-11-3 22:15 , Processed in 0.060305 second(s), 31 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表