複数の領域を特定の値で初期化する

テクニカル・ノート 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

まとめ

複数の領域を特定の値で初期化するには、コマンドラインオプションを使って実現します。

 

全ての製品名は、それぞれの所有者の商標または登録商標です

 

申し訳ございませんが、弊社サイトではInternet Explorerをサポートしていません。サイトをより快適にご利用いただくために、Chrome、Edge、Firefoxなどの最新ブラウザをお使いいただきますようお願いいたします。