Renesas Synergy™

FAQ 1007907 : ROM化処理をしていない場合、作成したhexファイルで量産したいのですが、問題はありますか?

回答

Cソース中に初期値あり変数を使用していなくても、 ライブラリ等で初期値あり変数を使用している場合は、ROM化の必要があります。

リンク・マップを参照して、初期値ありの書き換え可能なセクションがなければ、 ROM化の必要はありません。
ここで、初期値ありの書き換え可能なセクションとは、 デフォルトではセクション名にdataというキーワードが入っているセクションのことです。
(例 .sdata、.data、.tidata.byteなど)

ld850でリンクした結果は、初期値あり変数があった場合、そのアドレスに初期値のHEXが生成されます。
そこで、romp850でROM化することにより、 _rcopy関数でRAMに配置される初期値ありの変数の初期値をROMに配置します。
そのROMに配置したものを、スタート・アップ・モジュールやmain関数の先頭など、 なるべく始めの方で_rcopy関数を用いてRAMにコピーすることにより、 プログラム実行時(_rcopy関数の後)には、RAMに初期値が設定されます。

この方法で問題がなければ、ROM化は必要ありません。

 

 

適用製品

V850用コンパイラパッケージ [CA850]

 

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