1899768_ja-JP

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

1899768_ja-JP

1899768_ja-JP

エラー L1102: アドレス 0xE3BFE7 のセグメント PAGE_E3 の割り振りスペースが不足しています


コードの小さなセグメントを1つのファイルに追加しようとすると、次のエラーが発生しますが、そのコードセグメントを別のファイルに移動すると完全に機能します。エラーの原因となっているコードが割り当てられたPAGE_E3スペースをオーバーフローさせているようで、それを修正する方法がよくわかりません。PAGE_E4に割り当てられたスペースを減らしながら、PAGE_E3に割り当てられたサイズを増やそうとしましたが、同じメモリアドレスを指し示す同じエラーが発生します。

これは、既存のコードに追加したコード セグメントです。
UI32 tempArry[10] = {0};

for (int i = 0; i < 10; i++)
{
     tempArry[i] = i;
}

次の質問があります:

1. ファイル間でコード セグメントを移動すると、両方のコードが既定の領域にあるように見えるため、動作が変わるのはなぜですか?

2. 他のページに干渉せずにPAGE_E3スペースを増やすにはどうすればよいですか?

3. 特定のコード セグメントを別のPAGE_XXに配置し、ファイルの残りの部分を別のページに保持する特別なアプローチはありますか?その場合、パフォーマンスにはどのような影響がありますか?

MC9S12XDP512(R3.prm)のリンカーパラメータファイルが添付されています:参考までに R3.zip。

私はかなり新しいので、問題を理解するためにあなたの助けに感謝します...
感謝
マドゥシャン


PS:次のようにしてページをマージしようとしましたが、それでも同じエラーが発生しました。

セグメント

/* PAGE_E3 = READ_ONLY 0xE30000 TO 0xE3BFFF;
PAGE_E4 = READ_ONLY 0xE48000 TO 0xE4BFFF; */
PAGE_E3E4 = READ_ONLY 0xE30000 TO 0xE4BFFF;


配置

VIRTUAL_TABLE_SEGMENT, /* C++ 仮想テーブル セグメント */
STRINGS, /* 文字列リテラル */
DATA_ROM、
DEFAULT_ROM、
CONST_EVENTS、
CONST_DATA、
ROM_POINTERS、
COPY /* 情報のコピーダウン: 変数の初期化方法 */
PAGE_FE、PAGE_FC、PAGE_FB、PAGE_FA、
PAGE_F9、PAGE_F8、PAGE_F7、PAGE_F6、
/*PAGE_F5、PAGE_F4、PAGE_F3、PAGE_F2、*/
PAGE_F5、 PAGE_E3E4、PAGE_F2、
PAGE_ED、PAGE_EC、PAGE_EB、PAGE_EA、
                              PAGE_E9, PAGE_E8, PAGE_E7, PAGE_E6;
Re:エラーL1102:アドレス0xE3BFE7のセグメントPAGE_E3の割り当てスペースが不足しています

私は自分で問題を解決したでしょう:ビルドには2つのprmファイルが関与しており、私は1つのファイルしか変更していません...:)。両方のファイルを変更すれば、正常にビルドできたでしょう。

Re:エラーL1102:アドレス0xE3BFE7のセグメントPAGE_E3の割り当てスペースが不足しています

何か助けはありますか@ZhangJennie ?

Tags (1)
No ratings
Version history
Last update:
‎01-05-2026 09:03 AM
Updated by: