|
EDA365欢迎您!
您需要 登录 才可以下载或查看,没有帐号?注册
x
*** ERROR L107: ADDRESS SPACE OVERFLOW+ l. a4 |' E7 E
SPACE: XDATA
. d" c) ~: S8 w7 A# I" b/ P SEGMENT: ?XD?_ZSYS_ADC_CALIB_GET?ADC
4 S8 K+ a% u. v: U LENGTH: 0008H
2 S6 _0 j" I8 O*** ERROR L107: ADDRESS SPACE OVERFLOW# |0 b1 ^) y" t/ |5 ~5 W
SPACE: XDATA
2 b( a6 Q: c) Y/ n- m: U! b/ L SEGMENT: ?XD?_VSEARCHMAPBYIEEEADDR?Z_USERSTACKAPI
8 ]' f. g- ]+ \9 P8 T LENGTH: 0007H
( j6 T3 o" g* T3 u7 C3 w6 f*** ERROR L107: ADDRESS SPACE OVERFLOW
4 f, M' m; p: {5 c6 E SPACE: XDATA
3 v$ }+ N/ O: L- E+ Y6 \" G% @ SEGMENT: ?XD?_VUSERADDRINDICATION?Z_USERSTACKAPI n* G$ Y8 G9 C) m
LENGTH: 0006H
1 _/ C- m, E( h6 |: i+ r( p9 T) I. o" P, g7 f1 O* Z# @
..........6 V! K8 V3 E; Z+ E/ }
" n+ y8 [; _& m
Program Size: data=18.7 xdata=8244 code=882333 h/ Q1 U1 v+ q' L
Target not created
# v( p1 L ]3 I/ f
l! C( k. ^- p! {- E+ }7 U
1 v# y. J9 P# W& J5 [百度之后发现,并不是溢出的问题
5 K+ Y" K2 t9 Q2 r! Y6 A
% A; I+ Y8 c K- q原来不是data空间溢出的问题,而是我有些子程序定义了没调用,导致keil无法合理分配空间,从而溢出。 Z* U! j) B5 e
首先,我说了我不能任意使用外部存贮空间,所以决不能让编译器将一些临时变量放入idata or xdata。' N* v( `8 o8 E1 M3 v5 o. q, P1 d
3 j0 [1 S# \1 } J其次,data 空间可以达到256,见错误提示,data空间只使用了18.7而决无错误。这就有疑问了,那么我的错误出现在哪里呢?" c5 \$ Q" w& k8 F1 p) S6 K
$ Y L, b; _! p, a/ X( s
这就是Keil的问题了。当编译失败时,它不能给出完整正确的报告。所以它给出的:- u# p. h l9 @( f: |
7 d4 S9 Y$ s! X; ?0 w/ EProgram Size: data=18.7 xdata=8244 code=88233
( z X3 H$ \$ U就是不可信的。实际上我的data空间已经远不止18.7了。(所以下次看是否是真的溢出,可观察这个参数先)( Z$ t" w3 i. J1 G. R: |0 [" x
4 M8 N1 ^3 P) ~
最后找到,我宏定义了一个参数7 u0 u& j! o( i' }1 z2 r
0 A7 y: Y8 h( ?/ F- Q9 y* f#define USER_SIZE_NWK_RRECT 2
7 @$ i( E5 o) g1 [8 l; a# C3 m* ^" s) F5 f* I: ~8 y
跟踪它/ C+ n2 o+ E4 J
3 v: K: w) h0 ]5 `9 D8 ^# n #if (USER_SIZE_NWK_RRECT)
1 {" D- W1 m S! k5 T$ S1 d. e NS_RRECT MEMORY_RRECT[USER_SIZE_NWK_RRECT];
% W+ z+ Z& ^* M! e7 X; S8 Y然后再跟踪 MEMORY_RRECT,发现这个参数没有被调用 , 将2改成0即可解决错误提示1 C. e! \( K; s9 a9 q: ?9 N, y
% p2 \" z: V- R2 y7 S
结论就出来了:8 d4 K) I3 p* K1 y. G
1 h: E# I# N7 g2 v" Y1、Keil的错误报告不完整。 T: _0 I- F; H7 _& N6 U! l
' Z" ?1 m3 r8 R2、在Keil里最好不要留下定义而未使用的变量或函数,编译器无法合理的为之分配空间,而导致空间溢出。
2 a- ~" p7 P; [2 B; `6 z) ]4 o, w% W; |2 s# m# D& q& s" L/ V
|
|