The L1408 warning

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 
515件の閲覧回数
john_seratel
Contributor I

I am using the XE100 with the -Ml large model

 

I have a large array unsigned char heap[heap] defined across 2 RAM segments, ie 8k byyes

 

using .prm with

 

      RAM_F0        = NO_INIT  0xF01000'G TO 0xF11FFF'G;

 

      HEAP_RAM          INTO  RAM_F0;

 

I use the declaration

#pragma DATA_SEG __GPAGE_SEG HEAP_RAM
 unsigned char heap[ 8192 ];
#pragma DATA_SEG DEFAULT

 

This compiles but generates a linker warning L1408: Conversion of address of heap overflowed 0xF01000´G

 

However the .map file show the 0x2000 bytes to be allocated correctly at 0xF01000'G

 

The "What is this" information talks about excessive debug information. Is there a further flag that needs to be set in CodeWarrior v5 to debud global addressing?

 

Thanks

ラベル(1)
0 件の賞賛
1 解決策
406件の閲覧回数
kef
Specialist I

The top most global address is 0x7FFFFF'G.

元の投稿で解決策を見る

0 件の賞賛
2 返答(返信)
407件の閲覧回数
kef
Specialist I

The top most global address is 0x7FFFFF'G.

0 件の賞賛
406件の閲覧回数
john_seratel
Contributor I

So true. The global map 0x0F_FFFF'G - 64k = 0x0F000'G. Thanks prm was wrong

0 件の賞賛