Renesas Synergy™

FAQ 3000236 : 内蔵RAMにコードが出力される(CC-RL)

Q: 質問

RL78コンパイラCC-RLを使用しています。ヘキサコードを出力した際に、内蔵RAMのアドレスに、コードが出力されるのですが、なぜでしょうか?


A: 回答

初期値あり変数を定義していて、そのセクション名を#pragma sectionで変更している可能性があります。

初期値あり変数のセクション名を変更した場合には、次のことをする必要があります。
・リンカの-romオプションへの指定
・初期値をコピーする処理の追加

デフォルトの初期値あり変数のセクションの.data、.sdataセクションは、スタートアップルーチンで初期化を行っていますので、下記のユーザーズマニュアルを参照して、初期値をコピーする処理を追加してください。

CC-RL コンパイラ ユーザーズマニュアル
 8.2.6 RAM領域セクションの初期化処理

 

適用製品

CS+ (旧 CubeSuite+)
e² studio
RL78ファミリ用Cコンパイラパッケージ

 

他にご質問がございましたら、リクエストを送信してください