複数の領域を特定の値で初期化する
テクニカル・ノート 180514J
アーキテクチャ:
All
コンポーネント:
linker
更新日:
2018/09/04 4:49
はじめに
このテクニカルノートは、複数の領域を特定の値で初期化する方法について説明します。
解説
メモリの特定の領域を特定の値で埋めて初期化したい場合、IAR Embedded Workbenchのプロジェクトオプションで「リンカ」→「チェックサム」の画面で指定できるのは1つの領域までです。
複数の領域を初期化したい場合には、「リンカ」→「追加オプション」の画面で、コマンドラインオプションを追加することで可能となります。
例1 2つの領域を同じ値で初期化したい場合
0x00000000~0x00000FFF および 0x20000000~0x20000FFF の領域を0x00で埋めたい場合
(1)「コマンドラインオプションの使用」にチェックを入れる
(2)「コマンドラインオプション」の記入欄に次の1行を記述する。
--fill 0x00;0x00000000-0x00000FFF;0x20000000-0x20000FFF
例2 2つの領域を異なる値で初期化したい場合
0x400~0x44Fを0x01で埋め、0x450~0x45Fを0x02で埋めたい場合
(1)「コマンドラインオプションの使用」にチェックを入れる
(2)「コマンドラインオプション」の記入欄に次の2行を記述する。
--fill 0x01;0x400-0x44F
--fill 0x02;0x450-0x45F
まとめ
複数の領域を特定の値で初期化するには、コマンドラインオプションを使って実現します。
全ての製品名は、それぞれの所有者の商標または登録商標です