Everything
2.8 オーバーレイ・セクションの設定

CC-RXが使用する最適化リンケージエディタ(Optlnk)は,プログラム中に定義した複数のセクションを同じアドレスに割り付けることができるstartオプションを提供しています。このように割り付けられたセクションを“オーバーレイ・セクション”と呼びます。

この節では,ロード・モジュール内のオーバーレイ・セクションに対する“オーバーレイ・セクションの選択機能”の設定方法について説明します。

 

プログラムの実行時,ロード・モジュール内の同じアドレスに割り付けられたセクションはいずれか1つのセクションしか実行されません。

デバッグ・ツールは,同じアドレスに割り付けられたセクションのうち,デバッグ対象とするオーバーレイ・セクション(以降,優先セクションと呼びます)を選択する“オーバーレイ・セクションの選択機能”を提供しています。

プログラムの実行前に優先セクションを選択することにより,非優先セクションのデバッグ情報が隠蔽されるため,優先セクションをデバッグしやすくなります。

 

以下は,Optlnkのstartオプションを使用したオーバーレイ・セクションの定義例になります。

Optlnkによるオーバーレイ・セクションの定義

start = Psect01/1000,Psect02/2000,Psect03/3000,ram01:ram02:ram03/5000
rom = Psect01=ram01,Psect02=ram02,Psect03=ram03

 

romオプションにより,“PsectXX”セクションと同サイズの“ramXX”セクションを確保し,“PsectXX”セクション内定義シンボルを“ramXX”セクションのアドレス上でリロケーションします(“XX”は,この例では01, 02, または03になります)。

備考

ビルド・ツールにおけるオーバーレイ・セクションの設定については,「CS+ CC-RXビルド・ツール操作編」を参照してください。

図 2.83

オーバーレイ・セクションの配置