A.2.4 RAMで特定のルーチンを実行する

プログラム中の特定のルーチンをRAM上で実行したい場合,最適化リンカの-romオプションを使用して,次の手順で実現できます。

(1)

対象ルーチンのROM上の配置位置と,RAM上の実行位置を決めて,それぞれにセクションを割り当てる。

(2)

次のような転送用ルーチンを用意し,プログラムに組み込む。

(2-1) 対象ルーチンを,ROM上のセクションからRAM上のセクションへコピーする。

(2-2) コピー後,RAM上の対象ルーチンを呼び出す。

(3)

プログラムのビルド時に,次のように指定して最適化リンカを実行する。

(3-1) 対象ルーチンのROM上の配置先のセクション名を,-romオプションのROM側に指定する。

(3-2) 対象ルーチンを実行するRAM上のセクション名を,-romオプションのRAM側に指定する。