PDATA スタックの再入可能な呼出規約
テクニカル・ノート 63666
アーキテクチャ:
8051
コンポーネント:
linker
更新日:
2018/08/13 8:38
はじめに
本テクニカルノートは、IAR Embedded Workbench for 8051バージョン7.60に適用されます。
概要
ここでは、PDATAスタックのリエントラント呼出規約を設定する際のヒントを示します。この呼出規約を使用する場合、.xclリンカ設定ファイルを編集する必要があります。
最初に、他のXDATAメモリオブジェクトの前にPDATAスタックが配置されていることを確認します。.xclファイルは、リンカによって上から下に向かって読み込まれて処理されます。
例:
-D_PDATA0_START=0x0001
-D_PDATA0_END=0x00FF
-D?PBANK_NUMBER=0x00
これは、XDATAメモリのアドレス範囲0x0001~0x00FFに割り当てられている「ページ0」を使用します。アドレス0は避ける必要があります。
-D_PDATA0_START=0x0100
-D_PDATA0_END=0x01FF
-D?PBANK_NUMBER=0x01
これは、XDATAメモリのアドレス範囲0x0100~0x01FFに割り当てられている「ページ1」を使用します。
-D_PDATA0_START=0x0200
-D_PDATA0_END=0x02FF
-D?PBANK_NUMBER=0x02
これは、XDATAメモリのアドレス範囲0x0200~0x02FFに割り当てられている「ページ2」を使用します。
また、二重チェックのために、Project > Options > General Options > Data Pointer > Page register addressをチェックし、PDATAスタックページに最上位バイトが保存されることを確認します。
この場所には他のデータが上書きされないようにしてください。
全ての製品名は、それぞれの所有者の商標または登録商標です。