Renesas Synergy™

FAQ 3000128 : #pragma address指令で指定した変数の初期化処理(CC-RL)

Q: 質問

RL78コンパイラCC-RLを使用しています。
#pragma address指令を使用して変数のアドレスを指定しています。これらの変数の初期化は、デフォルトのスタートアップルーチンで行われているのでしょうか?

 


A: 回答

#pragma address指令でアドレスを指定した変数は、デフォルトとは別のセクションに配置されます。
デフォルトのスタートアップルーチンでは、.bss、.sbss、.data、.sdataセクションのみ初期化しています。#pragma address指令で新たに生成されたセクションについては初期化していません。
初期化が必要な場合には、スタートアップルーチンに処理を追加してください。
セクション単位で初期化する方法は、CC-RLのユーザーズマニュアルの下記の項をご参照ください。
 CC-RL ユーザーズマニュアル
 8.2.6 RAM領域セクションの初期化処理

 

適用製品

e² studio
CS+ (旧 CubeSuite+)
RL78ファミリ用Cコンパイラパッケージ
他にご質問がございましたら、リクエストを送信してください