找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 4466|回复: 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
3 B7 ?. b0 z2 R/ ~, \7 s, @    SPACE:   XDATA   2 ~' H) O# i$ J  m* f
    SEGMENT: ?XD?_ZSYS_ADC_CALIB_GET?ADC# J6 Y/ `" @* F. l+ q/ T# {5 n
    LENGTH:  0008H
/ s6 k% x$ V  ~9 j+ m% X1 b*** ERROR L107: ADDRESS SPACE OVERFLOW
$ {+ m$ M/ j) z4 S& W    SPACE:   XDATA   
3 @: j1 y% i( e# Q6 c    SEGMENT: ?XD?_VSEARCHMAPBYIEEEADDR?Z_USERSTACKAPI8 X$ F$ U, f" ?# s* |5 g
    LENGTH:  0007H  J3 W+ y% z7 E) p
*** ERROR L107: ADDRESS SPACE OVERFLOW0 u) `) ?1 i6 R, h' ^1 y
    SPACE:   XDATA   $ x+ D, W3 |3 m$ K: y+ K( X/ r
    SEGMENT: ?XD?_VUSERADDRINDICATION?Z_USERSTACKAPI
8 v# ^" b6 R: T; |    LENGTH:  0006H
8 A7 h5 ~* H5 K
2 ~" d- S6 q. H! v9 j/ S..........) G* O: _1 {( F  m
* y4 A* M0 n: }( r4 \3 s4 @
Program Size: data=18.7 xdata=8244 code=88233
, N1 n2 x/ [. l5 v. aTarget not created' b1 X, I0 o: C1 K  W5 R9 M) m6 u8 U
- c2 ?$ R7 x! \' n; f

- g% t% k8 Z# e百度之后发现,并不是溢出的问题6 y$ l" A3 ?4 Z
9 |; H  ~5 l& S% Y7 ]/ x% U' A
原来不是data空间溢出的问题,而是我有些子程序定义了没调用,导致keil无法合理分配空间,从而溢出。  
5 u" l  F2 v$ |. x) c; A8 x$ Q首先,我说了我不能任意使用外部存贮空间,所以决不能让编译器将一些临时变量放入idata or xdata。
, E  @. G- g# Z5 v  F  h) Q
) b/ P9 u! {) U: N& [5 |! e5 V8 L其次,data 空间可以达到256,见错误提示,data空间只使用了18.7而决无错误。这就有疑问了,那么我的错误出现在哪里呢?
- F, `# G+ m( f3 B  S" B
0 C) n. M/ q. V! ?8 W这就是Keil的问题了。当编译失败时,它不能给出完整正确的报告。所以它给出的:: P1 `4 g: e0 A, Q* t( }4 J1 @
0 u; z! \( T+ i6 \* [: p, Y
Program Size: data=18.7 xdata=8244 code=882332 {% R& k; t7 i- A' M6 l* u# Q
就是不可信的。实际上我的data空间已经远不止18.7了。(所以下次看是否是真的溢出,可观察这个参数先). F9 _; D, V" }! S- X

1 c1 g# V9 n& ~( h2 E最后找到,我宏定义了一个参数
( w2 |7 V( M) L. \
  ~- M% `- Q- ]5 z; k+ m#define    USER_SIZE_NWK_RRECT                    2
' j- z2 C$ M+ J$ `$ Y
" ~# e& @% h8 k5 ]跟踪它  t: l* y- c. G- {6 k0 G* B
; R7 Z3 `! P! u' M  ], Z" _& _2 `
    #if (USER_SIZE_NWK_RRECT)
! a3 i6 @0 W9 ~1 o0 ~, C9 I        NS_RRECT     MEMORY_RRECT[USER_SIZE_NWK_RRECT];
& h; `! l7 S6 p6 W! U2 j1 e: C然后再跟踪 MEMORY_RRECT,发现这个参数没有被调用 , 将2改成0即可解决错误提示- O5 }% t7 b- O% O& t  t
, B& ?' L# @. [- U& ~
结论就出来了:
% m! B, ]6 y4 M+ Y7 {- f* _) l) J2 R4 x/ J$ U2 D
1、Keil的错误报告不完整。
5 s% g4 h1 c% J3 C
+ t: z8 y  V+ l- t. w% Z! H, [2、在Keil里最好不要留下定义而未使用的变量或函数,编译器无法合理的为之分配空间,而导致空间溢出。7 s: w& c7 q! f9 c1 {' C; A5 K  L
6 V7 F- p; C' a, c
分享到:  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:00
' w, H; i/ c" N8 o你确定你的keil是破解的不是试用版的?

; ?6 }5 Z) n+ ^) p破解的,用了挺长时间了,哈哈

3

主题

39

帖子

155

积分

二级会员(20)

Rank: 2Rank: 2

积分
155
4#
发表于 2013-9-22 10:57 | 只看该作者
myl593799546 发表于 2013-9-22 10:20
4 Z9 J, J% T$ P1 c, c9 t: n; h破解的,用了挺长时间了,哈哈
  \" A: c9 c" s2 G% T) j7 @9 `$ @/ Y
开始没有细看你的分析和结论 以为是那种没破解的限制编译空间呢,后来仔细看了下,学习了。丢人了,快闪!{:soso_e121:}

42

主题

723

帖子

2653

积分

四级会员(40)

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

积分
2653
5#
 楼主| 发表于 2013-9-22 11:26 | 只看该作者
春雨过天晴 发表于 2013-9-22 10:57
( ]$ m5 Z, s/ \% b开始没有细看你的分析和结论 以为是那种没破解的限制编译空间呢,后来仔细看了下,学习了。丢人了,快闪 ...

, i6 |* h# j3 d5 b8 U' s# J" ?7 _哈哈,没有没有,互相学习,{:soso_e144:}

2

主题

97

帖子

684

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
684
6#
发表于 2013-11-15 01:33 | 只看该作者
像这样问题,没有调用到的函数,你可以用一个
# t6 o8 J9 E* a# R6 S" Y. N/ lif(0)8 O' G" f2 G1 U6 j( Z$ D8 O
{. p9 B9 X5 ~8 T6 Z% f/ X
   放没有调用到函数;
7 O% ^2 I' h0 h! s9 g! W) a9 |}

42

主题

723

帖子

2653

积分

四级会员(40)

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

积分
2653
7#
 楼主| 发表于 2013-11-15 09:20 | 只看该作者
天才小痴 发表于 2013-11-15 01:33; A; ^' J7 }- N
像这样问题,没有调用到的函数,你可以用一个; n( G8 h0 S: I0 X; h- k0 `; V4 F( R
if(0)# }0 {  `$ `7 K2 p$ f
{
0 {8 Z" E1 ?7 ?! C$ A2 F$ c3 C0 t6 X
恩,你这个方法很好,不过用#if 0应该更好吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

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

GMT+8, 2024-9-20 00:51 , Processed in 0.067046 second(s), 31 queries , Gzip On.

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

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

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