找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 4468|回复: 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' @9 `" h1 I3 w3 b( @& r* K, l
    SPACE:   XDATA   
8 O  f( U  S1 Y7 _7 l  X    SEGMENT: ?XD?_ZSYS_ADC_CALIB_GET?ADC
- W( o2 d7 r- `2 c- h& W4 O    LENGTH:  0008H
1 V! q' l1 Q7 H  R2 R0 {  e$ `*** ERROR L107: ADDRESS SPACE OVERFLOW
" D7 E' [* t8 z1 Y+ ?5 V    SPACE:   XDATA   4 K; P! e2 c/ X! _' B, v% f
    SEGMENT: ?XD?_VSEARCHMAPBYIEEEADDR?Z_USERSTACKAPI
0 m) \7 S1 k$ [  k) A5 G# ^: o    LENGTH:  0007H0 l# d" ~! A- ^+ s( M5 z
*** ERROR L107: ADDRESS SPACE OVERFLOW
$ f: y- l$ n9 o  @: f    SPACE:   XDATA   0 j  y. r2 P% j+ Z0 V2 g; K
    SEGMENT: ?XD?_VUSERADDRINDICATION?Z_USERSTACKAPI  O; c6 z1 f/ `+ m7 Q  x! J/ g/ N* H
    LENGTH:  0006H
2 u8 ^$ [' Z& w' `  ]0 S& n6 q, h0 N
..........+ @# }, A% R' a. y

0 v) z: A6 K3 Z' ~% yProgram Size: data=18.7 xdata=8244 code=882336 _3 J6 @7 {) u* P. D/ g& ^
Target not created
+ s1 |+ q& @# ?9 R* h3 d
8 o0 H* B5 B+ c' C5 d' Y& j6 X7 [. m+ \! R
百度之后发现,并不是溢出的问题
; \* l, o% f$ w+ _; U) @. ]
% P* x7 J! b  u7 v$ T2 G0 d原来不是data空间溢出的问题,而是我有些子程序定义了没调用,导致keil无法合理分配空间,从而溢出。  : E# p% W4 i% u: U5 O2 B4 x
首先,我说了我不能任意使用外部存贮空间,所以决不能让编译器将一些临时变量放入idata or xdata。2 a& B  Z* a7 V8 p- u
$ J, H6 E$ H7 _! I
其次,data 空间可以达到256,见错误提示,data空间只使用了18.7而决无错误。这就有疑问了,那么我的错误出现在哪里呢?
# J  ]" ~% d! L9 D, L4 H5 m1 S$ B3 {3 J$ \4 f  A4 s! g' W
这就是Keil的问题了。当编译失败时,它不能给出完整正确的报告。所以它给出的:* s: U0 \: e% s9 I! A* `
& J( W. F& K- |9 ]+ q
Program Size: data=18.7 xdata=8244 code=88233
" n/ m0 _3 B1 C% G7 M- d就是不可信的。实际上我的data空间已经远不止18.7了。(所以下次看是否是真的溢出,可观察这个参数先)
" \. f# S! c4 z" e. W3 L2 s
; D+ c1 T$ V& }3 l- O  y最后找到,我宏定义了一个参数
* X% d/ u+ u% Y& f6 _7 h/ H) D
3 A5 }8 j; \# E1 q#define    USER_SIZE_NWK_RRECT                    2
" y( n) G) c7 i5 R, Y
6 S8 _; s7 S5 p8 u3 P0 G! R4 A跟踪它9 S/ m& K# K" U3 j. I) b
7 m9 D, o8 t6 ~8 M/ I2 X. T
    #if (USER_SIZE_NWK_RRECT)$ e! K  }* z8 ]8 x
        NS_RRECT     MEMORY_RRECT[USER_SIZE_NWK_RRECT];
; r; o( Z0 P# e, l$ Q8 h然后再跟踪 MEMORY_RRECT,发现这个参数没有被调用 , 将2改成0即可解决错误提示
2 l6 s6 v  _2 |( f2 \9 D! K; r$ M* z  o- U$ F! L
结论就出来了:- b. R& P( q- E  J, w7 R2 t: E1 W7 n

9 |: G- V9 Z/ t: i5 N  x2 Y1、Keil的错误报告不完整。" ~% g0 A7 R) o; p: i* Y/ q0 L

5 M" \6 q6 x" H& A2、在Keil里最好不要留下定义而未使用的变量或函数,编译器无法合理的为之分配空间,而导致空间溢出。
# _: \/ q  o  {1 H& Y0 Z! K' _& R. _0 z% t* s" w9 R
分享到:  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
( p% O! U) B' y8 y; W4 q你确定你的keil是破解的不是试用版的?

- C" z0 t' [( H% N. d; h破解的,用了挺长时间了,哈哈

3

主题

39

帖子

155

积分

二级会员(20)

Rank: 2Rank: 2

积分
155
4#
发表于 2013-9-22 10:57 | 只看该作者
myl593799546 发表于 2013-9-22 10:20
& |( S* R) Y! Q( m  ^6 W/ s: a+ ~破解的,用了挺长时间了,哈哈

( b3 C2 [$ ]  k7 V$ Q开始没有细看你的分析和结论 以为是那种没破解的限制编译空间呢,后来仔细看了下,学习了。丢人了,快闪!{:soso_e121:}

42

主题

723

帖子

2653

积分

四级会员(40)

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

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

* A, P/ y) T( n' U$ D) b: o6 X哈哈,没有没有,互相学习,{:soso_e144:}

2

主题

97

帖子

684

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
684
6#
发表于 2013-11-15 01:33 | 只看该作者
像这样问题,没有调用到的函数,你可以用一个
- H( p) R9 `2 E& }1 @) kif(0)7 A" b* ~: B) r; X
{+ T6 |" h6 Q0 A/ P# D4 ]) M
   放没有调用到函数;
7 `7 K( i3 t0 W! _( O: X, z+ p- g2 z}

42

主题

723

帖子

2653

积分

四级会员(40)

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

积分
2653
7#
 楼主| 发表于 2013-11-15 09:20 | 只看该作者
天才小痴 发表于 2013-11-15 01:332 M% h9 r. @' _
像这样问题,没有调用到的函数,你可以用一个
: B2 Q, L) D, L. f) aif(0)# w# |: Y& ]+ G* e
{
( ]* r6 h" c8 h  S, j6 X
恩,你这个方法很好,不过用#if 0应该更好吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

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

GMT+8, 2024-9-20 06:31 , Processed in 0.059870 second(s), 32 queries , Gzip On.

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

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

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