找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 4465|回复: 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
" v, e/ P- \: u* X; `    SPACE:   XDATA   
- V- h  T# D* v/ g    SEGMENT: ?XD?_ZSYS_ADC_CALIB_GET?ADC
- ^  Z3 s& l1 K; Z7 }; D& H  w  m    LENGTH:  0008H* Y& ~$ t/ C6 {
*** ERROR L107: ADDRESS SPACE OVERFLOW' S; P% H8 o7 W& Z0 B
    SPACE:   XDATA   3 C' ?" z( k6 E/ q/ M0 K
    SEGMENT: ?XD?_VSEARCHMAPBYIEEEADDR?Z_USERSTACKAPI
8 H& [/ z6 f$ c6 H" i8 j6 c    LENGTH:  0007H! |+ Q! r: R, r+ N2 r6 z  O
*** ERROR L107: ADDRESS SPACE OVERFLOW
3 b) M# _4 f/ a    SPACE:   XDATA     O# h: N2 r9 T% B" J5 n
    SEGMENT: ?XD?_VUSERADDRINDICATION?Z_USERSTACKAPI! l) k' n5 T3 s  r- L& ^/ S
    LENGTH:  0006H& h+ Z4 b' K; j' Q
& |% g! U9 R  a) E$ ]
..........4 U- J0 A8 R" s

7 J3 |6 M' z; C3 EProgram Size: data=18.7 xdata=8244 code=88233( E* d  o. M+ H) w  {8 i, K/ O1 }
Target not created# k0 r2 A& k, |: M+ B8 u$ o

3 @2 [% l3 e4 G+ ?9 o! P: s# i  z; U( C
百度之后发现,并不是溢出的问题
5 S; W1 X& S( v! w6 J  L; w' c+ y/ |. O4 o/ p2 `+ c+ p. j' A. i
原来不是data空间溢出的问题,而是我有些子程序定义了没调用,导致keil无法合理分配空间,从而溢出。  
$ {8 Y7 H3 @& h8 p6 y+ `1 O首先,我说了我不能任意使用外部存贮空间,所以决不能让编译器将一些临时变量放入idata or xdata。
1 _+ r8 m) c$ a0 m1 J/ J# Y
2 @* s/ s) x! E其次,data 空间可以达到256,见错误提示,data空间只使用了18.7而决无错误。这就有疑问了,那么我的错误出现在哪里呢?
/ L: e' t$ v+ |0 z3 {( G
! \$ a  G; V$ K- Z这就是Keil的问题了。当编译失败时,它不能给出完整正确的报告。所以它给出的:
4 R& X) ~: |* t$ Y- |4 ]1 {; O1 c7 T
/ I$ `3 D9 C' g! f$ @Program Size: data=18.7 xdata=8244 code=88233" m* _) L- ?! U7 C
就是不可信的。实际上我的data空间已经远不止18.7了。(所以下次看是否是真的溢出,可观察这个参数先)1 _0 b4 a: a$ q4 a

$ k5 s" O+ w1 I  i0 E最后找到,我宏定义了一个参数& i1 p) h2 M! Z2 |. N* Y) B

$ r& {% O1 t5 w: L8 d! ?#define    USER_SIZE_NWK_RRECT                    2
* W$ s: v5 f' O( ~
) _( v; c  L# y5 U/ R跟踪它
. h6 J; K  m0 v% K) U* [* J' s8 C" M! ~7 Z0 W" ~) T
    #if (USER_SIZE_NWK_RRECT)
0 ^, `1 ^. n. C/ _! P6 }, F& k, y  s        NS_RRECT     MEMORY_RRECT[USER_SIZE_NWK_RRECT];
2 G7 Z$ r/ ]  x$ F& J( `. v然后再跟踪 MEMORY_RRECT,发现这个参数没有被调用 , 将2改成0即可解决错误提示
% U1 ]  R6 o0 |' f/ L# V9 k, N5 `) s* w: M' q
结论就出来了:
  n% P, ~2 X! t! a8 ]( ?- j. T& _
1、Keil的错误报告不完整。
7 v0 L6 y! H/ U9 l( z4 n5 O
$ }' y# ]9 y3 [% q2、在Keil里最好不要留下定义而未使用的变量或函数,编译器无法合理的为之分配空间,而导致空间溢出。
' V# t: e/ N7 T* `; d. S# y3 M. f: u- a5 d0 I( ]
分享到:  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
* ]' H+ K! F+ T  y2 H3 n7 H你确定你的keil是破解的不是试用版的?

: _+ q! s8 G! C2 o( Y破解的,用了挺长时间了,哈哈

3

主题

39

帖子

155

积分

二级会员(20)

Rank: 2Rank: 2

积分
155
4#
发表于 2013-9-22 10:57 | 只看该作者
myl593799546 发表于 2013-9-22 10:20' G- r* g5 ], Z0 S; W
破解的,用了挺长时间了,哈哈

4 U6 U! T' {7 R开始没有细看你的分析和结论 以为是那种没破解的限制编译空间呢,后来仔细看了下,学习了。丢人了,快闪!{:soso_e121:}

42

主题

723

帖子

2653

积分

四级会员(40)

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

积分
2653
5#
 楼主| 发表于 2013-9-22 11:26 | 只看该作者
春雨过天晴 发表于 2013-9-22 10:57" g4 }: U$ _' K: c8 c( [: u
开始没有细看你的分析和结论 以为是那种没破解的限制编译空间呢,后来仔细看了下,学习了。丢人了,快闪 ...
0 [! K* F* C' D' G, w
哈哈,没有没有,互相学习,{:soso_e144:}

2

主题

97

帖子

684

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
684
6#
发表于 2013-11-15 01:33 | 只看该作者
像这样问题,没有调用到的函数,你可以用一个
$ k7 s* w# T! ]+ Wif(0)( D1 W, G8 Y1 M  Z
{
0 B; {* ?2 Q3 k& o   放没有调用到函数;6 w  Z2 r# h- v3 d' X; T+ W5 o
}

42

主题

723

帖子

2653

积分

四级会员(40)

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

积分
2653
7#
 楼主| 发表于 2013-11-15 09:20 | 只看该作者
天才小痴 发表于 2013-11-15 01:33) m- j2 k" L0 T3 }
像这样问题,没有调用到的函数,你可以用一个
3 h% K0 w: N' v1 \1 [; F% Rif(0)
9 O# D3 t. R9 P' Y{
) M8 W- y) Q* q# p( n
恩,你这个方法很好,不过用#if 0应该更好吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

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

GMT+8, 2024-9-19 09:59 , Processed in 0.062462 second(s), 32 queries , Gzip On.

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

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

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