Renesas Synergy™

FAQ 1008108 : V2.30で作成したセクション・ファイルを、V2.40では正常に読み込むことはできますか?

回答

CA850 V2.30以前では、入力ファイル名を内部で小文字へ変換し処理を行って いましたが、V2.40から入力ファイル名の小文字への変換を行わず、入力され たファイル名のまま処理をするように変更しました。
そのため、V2.30以前で作成したセクション・ファイルをそのまま使用した場合に セクション・ファイル内で指定されたファイル名と入力ファイル名が異なり、 リンカでセクションを割り付けられない可能性があります。

セクション・ファイル、ソース・ファイル名が以下のような場合に、それぞれ扱いが異なります。

----- test.sec ------------------------------------
[tidata_byte] 
test.c:si	// test.cのファイル内static変数 si 
--------------------------------------------------- 

----- Test.c -------------------------------------- 
static int si; 
--------------------------------------------------- 

V2.30以前:
% ca850 Test.c
→ ファイル名の小文字への変換により
ca850 test.c
としてコンパイルされる。

V2.40以降:
% ca850 Test.c
→ ファイル名の小文字への変換を行わないため
ca850 Test.c
としてコンパイルされる。

V2.40では、入力ファイル名の変換を行わないため、上記の例のような場合、 入力ファイル名とセクション・ファイルで指定されているファイル名が異なるこ とになり、Test.cのsiがtidata_byteに割り付けられなくなります。
そのため、V2.40でV2.30以前に作成したセクション・ファイルを使用する場合、 セクション・ファイルの2行目を入力ファイル名にあわせて Test.c:si と修正するか、 新たに生成する必要があります。

 

 

適用製品

V850用コンパイラパッケージ [CA850]
他にご質問がございましたら、リクエストを送信してください