RENESAS TOOL NEWS 2007年04月16日 : 070416/tn5
| H8, H8S, およびH8SXファミリ
C/C++コンパイラパッケージ
V.6.01 Release 03への
リビジョンアップのお知らせ |
H8, H8S, およびH8SXファミリ用C/C++コンパイラパッケージを
V.6.01 Release 02からV.6.01 Release 03にリビジョンアップしました。
1. リビジョンアップ内容
1.1 付属ソフトウェア更新
(1) 統合開発環境High-performance Embedded WorkshopをV.4.02.00に更新
しました。詳細は、2006年12月16日発行 RENESAS TOOL NEWS 資料番号:061216/tn2 を参照ください。
(2) シミュレータデバッガをV.5.05.00に更新しました。
詳細は、2006年7月1日発行 RENESAS TOOL NEWS 資料番号:060701/tn2 を参照ください。
1.2 コンパイラの新機能
テクニカルアップデート 発行番号:TN-H8*-A347B/J でアナウンスした
「H8SXのブロック転送命令における制限事項」を回避するコードを常に生成する
よう改定しました。
1.3 最適化リンケージエディタの新機能
(1) オプションbyte_countを新規追加しました。
byte_countオプションを使用することにより、インテルHEX形式ファイル
のデータレコードの最大バイト数を変更することができます。
(2) MCUの空きROMエリアへ乱数を充填する機能を追加しました。
下記形式のファイルの空きエリアに、乱数を埋め込むことができる
space=randomオプションを新規追加しました。
・Sタイプファイル
・インテルHEX形式ファイル
・バイナリファイル
(3) メモリ使用量を削減するオプションmemory=lowが、ライブラリファイル
作成時にも使用できるようになりました。
1.4 改修内容
1.4.1 統合開発環境High-performance Embedded Workshopについて、以下の
RENESAS TOOL NEWSで報告した問題を改修しました。
(1) 2007年3月16日発行 RENESAS TOOL NEWS 資料番号:070316/tn1
(2) 2006年4月16日発行 RENESAS TOOL NEWS 資料番号:RSO-HEW-060416D
(3) 2005年11月16日発行 RENESAS TOOL NEWS 資料番号:RSO-HEW-051116D
(4) 2005年10月16日発行 RENESAS TOOL NEWS 資料番号:RSO-HEW_2-051016D
(5) 2005年7月16日発行 RENESAS TOOL NEWS 資料番号:RSO-HEW-050716D
1.4.2 コンパイラ
(1)2006年11月01日発行 RENESAS TOOL NEWS 資料番号:061101/tn1で
報告した12件の問題を改修しました。
(2)2007年03月01日発行 RENESAS TOOL NEWS 資料番号:070301/tn4で
報告した12件の問題を改修しました。
(3)C4098,C4099およびC5000インターナルエラーが発生する場合がある
問題を改修しました。
1.4.3 最適化リンケージエディタ
(1) レジスタ退避および回復の最適化機能が有効となるオプション(例えば
optimize=register)を使用することによって、誤ったオブジェクトコード
を生成する問題を改修しました。本問題は、以下の問題の発生条件A
もしくはBに該当する場合に発生することがあります。
問題の発生条件A:
以下の条件をすべて満たす。
(a) コンパイル時にgoptimizeオプションを選択している。
(b) リンク時に、レジスタ退避および回復の最適化機能が有効となる
オプション(例えばoptimize=register)を使用している。
(c) 下記のいずれかの条件に該当している。
(c-1) 下記の拡張言語仕様のいずれかを使用している。
・__regsaveキーワード
・__noregsaveキーワード
・#pragma regsave
・#pragma noregsave
・__asmキーワード
(c-2) コンパイルリストのアセンブリソース表示において、
ある関数の関数ラベルf(関数の開始アドレスに付加される)と
同じアドレスに別のラベルAが存在し、かつ関数f以外から
関数ラベルfへ分岐する命令が存在する。
補足:
(c-2)に該当するかどうかは、コンパイルリスト(.lst)ファイルから
確認できます。コンパイルリストを生成するには、コンパイル時に、
listオプションshow=objectを選択してください。
問題の発生条件B:
以下の条件をすべて満たす。
(a) マイコン種別が、H8SXN, H8SXM, H8SXAおよびH8SXXのいずれか
である。
(b) コンパイル時にgoptimizeオプションを使用している。
(c) リンク時に、レジスタ退避および回復の最適化機能が有効となる
オプション(例えばoptimize=register)を使用している。
(d) コンパイルにより、以下のいずれかの命令が生成される。
・オペランドとして以下のアドレッシングを持つMOV命令
@(:16,SP)
・オペランドとして以下のいずれかのアドレッシングを持つ
ADD,SUB, またはCMP命令
@(:2,SP)
@(:16,SP)
注: SP(スタックポインタ)はER7レジスタのことです。
(e) (d)の命令が、同時に変数名を含むアドレッシングを持って
いる。
例:MOV.L @(:16,SP),@_<変数名>:32
補足:
(d)および(e) に該当するかどうかは、コンパイルリスト(.lst)
ファイルから確認できます。コンパイルリストを生成するには、
コンパイル時に、listオプションshow=objectを選択してください。
(2) 下記3つのオプションのパラメータであるファイル名やフォルダ名が
文字コードに0x7cを含む文字(たとえば"ポ")を含む場合、誤って
エラーL3300となり、リンクできない問題を改修しました。
・inputオプション(入力オブジェクトファイル選択)
・libraryオプション
・binaryオプション
(3) リンカが生成するインテルHEX形式ファイルの内容について、下記3点の
問題を改修しました。
・04レコードを出力する際に、これまで同時にベースアドレス0の02
レコードを出力してきましたが、02レコードを出力しないように
しました。
・スタートアドレスを表すレコード(03レコードと05レコード)の出力
位置を、エンドレコード(01レコード)の直前へと変更しました。
・03レコードでのスタートアドレス表現が、インテルHEX形式仕様に
準拠していなかった問題を改修しました。
補足:
インテルHEX形式ファイルの内容については、下記マニュアルを参照
ください。
H8S、H8/300シリーズ C/C++コンパイラ、アセンブラ、
最適化リンケージエディタ ユーザーズマニュアル
資料番号:RJJ10B0166-0100
19.1.2 インテルHEXファイル形式
2. アップデートと購入方法
2.1 アップデート
無償でオンラインリアップデートできます。
開発環境ホームページからダウンロードしてください(4月20日から公開予定)。
日本語版
英語版
2.2 新規購入
ご注文の際には、以下の情報を最寄りのルネサス販売または特約店まで
ご連絡ください。
価格については最寄りのルネサス営業または特約店にお問い合わせください。
製品名:R0C40008XSW06R
バージョン番号: V.6.01
リリース番号: Release 03
製品の使用環境: Windows XP、Windows 2000