Renesas Synergy™

FAQ 3000273 : F0563100 リンカでのセクション名指定について

Q: 質問

RXコンパイラCC-RXを使用しています。
ソフトのバージョン管理のために、ROMでバージョンコードを埋め込もうとしましたが、できれば使用したROMの最後にそのコードを埋め込もうと思っております。
"#pragma section VER"と記述してセクションを指定して配置しようとしましたが、以下のエラーメッセージが出力されてしまいました。

(E) F0563100 F0563100:Section address overflow out of range : "CVER_1"

どのように設定すればよろしいのでしょうか。


A: 回答

"#pragma section VER"でセクション名を付加させていますが、実際に生成されるセクション名は、"VER"に対して生成される内容によりCやD等を付加したセクション名になります。

const変数の場合は頭にC、アライメントが1のセクションの場合は後ろに_1を付加した"CVER_1"が生成されます。リンカでは、"VER"ではなく"CVER_1"のセクションを配置指定して頂く必要があります。

また、今回バージョンを埋め込むのに文字列を使用されていますが、コンパイラが提供しているマクロ名"__RENESAS_VERSION__"を使用するとビルドした時に使用したコンパイラパッケージのバージョン情報を自動で取得して埋め込むこともできます。

適用製品

RXファミリ用C/C++コンパイラパッケージ
他にご質問がございましたら、リクエストを送信してください