RENESAS TOOL NEWS 2007年09月05日 : 070905/tn1
| H8SX, H8S およびH8ファミリ用C/C++コンパイラパッケージ
V.6.02 Release 00へのリビジョンアップのお知らせ |
H8SX, H8S およびH8ファミリ用C/C++コンパイラパッケージを
V.6.01 Release 03からV.6.02 Release 00にリビジョンアップしました。
1. リビジョンアップ内容
1.1 統合開発環境High-performance Embedded Workshop
付属のHigh-performance Embedded WorkshopをV.4.03.00に更新しました。
更新内容の詳細は、以下で2007年7月1日発行 RENESAS TOOL NEWS 資料番号
070701/tn3を参照ください。
http://tool-support.renesas.com/jpn/toolnews/070701/tn3.htm
1.2 コンパイラの新機能
(1) H8SXファミリの除算命令を高速で実行可能なマイコン向けに、除算式を
シフト命令を使わず除算命令にコード展開するオプションdivs_instを
追加しました。
(2) マイコン種別がH8Sの場合にも、オプションalign=4を選択可能になり
ました。
(3) 単精度浮動小数点を扱うための数学関数のうちsinf(),cosf(), tanf(),
expf(),logf(), sqrtf(), およびatanf()のオブジェクトサイズを削減し、
かつ演算速度および演算精度を向上しました。
1.3 最適化リンケージエディタの新機能
次のオプションを最適化リンケージエディタ(以降、リンカと略します)に
追加しました。
(1) total_size
total_sizeオプションを使用すると、標準出力へ下記種別ごとの
セクション合計サイズを出力できます。
- 実行可能セクション
- ROM配置データセクション
- RAM配置データセクション
(2) show=total_size
show=total_sizeオプションを使用すると、上記種別ごとの
セクションの合計サイズをリンケージリストに出力できます。
1.4 改修内容
1.4.1 統合開発環境High-performance Embedded Workshop
以下のRENESAS TOOL NEWSで報告した問題を改修しました。
(1) 2007年7月1日発行 RENESAS TOOL NEWS 資料番号:070701/tn2
http://tool-support.renesas.com/jpn/toolnews/070701/tn2.htm
1.4.2 コンパイラ
(1) 以下のRENESAS TOOL NEWSで報告した問題を改修しました。
(a) RENESAS TOOL NEWS 2006年06月01日 : RSO-H8C_2-060601D
http://tool-support.renesas.com/jpn/toolnews/060601/tn6.htm
(b) RENESAS TOOL NEWS 2007年09月01日 : 070901/tn4
http://tool-support.renesas.com/jpn/toolnews/070901/tn4.htm
(2) cpu=300Lまたはcpu=300オプションと、structregオプションを同時に
選択できない問題を改修しました。
(3) 標準ライブラリ関数sscanf()およびrealloc()の実行結果が正しくない
問題を改修しました。
(4) C4980エラー、C3324エラー、C3027エラー、C4633エラーおよびC4979
エラーが発生する場合がある問題を改修しました。
(5) 構造体および共用体のメンバをデバッガで参照すると、メンバ値が
正しくない場合がある問題を改修しました。
1.4.3 リンカ
(1) 下記番号のメッセージ表示を改善しました。
該当メッセージ番号: L0300, L1330, L2220, L3110
該当メッセージの原因となるファイルがライブラリファイル内の特定
ライブラリモジュールである場合、V.9.03.00以降ではそのライブラリ
モジュール名まで表示します。
改善前(リンカV.9.02.00以前)のメッセージ例
** L3110 (F) Illegal cpu type "<CPU種別>" in "<ライブラリ名>"
改善後(リンカV.9.03.00以後)のメッセージ例
** L3110 (F) Illegal cpu type "<CPU種別>" in "<ライブラリ名>
(<モジュール名>)"
リンカのバージョンは以下の操作で確認できます。
(i) 統合開発環境High-performance Embedded Workshopの
メニュー「ツール」->「アドミニストレーション」を選択します。
(ii) 開いたツールアドミニストレーションダイアログボックスの
「登録済みコンポーネント」リストの「Toolchains」の中から
使用中のコンパイラパッケージを選択し、プロパティボタンを
クリックします。
(iii) 表示されたプロパティダイアログボックスの「情報」タブを選択する
とバージョンが表示されます。
表示例: Optimizing Linkage Editor (V.9.00.02)
(2) スタック解析ツールCall Walkerで、プログラムのスタック使用量が
実際の使用量より少なく表示される問題を改修しました。
問題の発生条件:
以下の条件をすべて満たす場合に発生することがあります。
(a) コンパイル時に、最適化オプション -optimize=1を使用している。
(b) C言語ソースファイル内で、直後に記述した関数を呼び出している
関数がある。
Cソース例
-----------------------------------------
void f()
{
:
g(); /*直後の関数gを呼び出している*/
}
void g()
{
:
}
-----------------------------------------
(3) レジスタ退避および回復の最適化機能が有効となるオプション
(例えば、optimize=register)を使用することにより、退避するレジスタ
と回復するレジスタとが一致しなくなる問題を改修しました。
問題の発生条件:
以下の条件をすべて満たす場合に発生することがあります。
(a) コンパイル時にgoptimizeオプションを選択している。
(b) コンパイル時に下記のいずれかのマイコンを選択している。
300, 300reg, 300hn, 300ha, 2000n, 2000a, 2600n, および2600a
ただし、2000n, 2000a, 2600n, および2600aでは、コンパイラ
オプションlegacy=v4を使用している場合のみが該当する。
(c) 使用しているリンカのバージョンが、V.9.00.01以降である。
(d) リンク時に、レジスタ退避および回復の最適化機能が有効となる
オプション(例えば、optimize=register)を使用している。
(4) 以下の内部エラーが発生する場合がある問題を改修しました。
- L4000 (-) Internal Error : (1153)
- L4000 (-) Internal Error : (3081)
- L4000 (-) Internal Error : (8870)
- L4000 (-) Internal Error : (8957)
2. アップデートと購入方法
2.1 アップデート
無償でオンラインアップデートできます。オートアップデートユーティリティを
使用するか、以下のダウンロードサイトからアップデートプログラムを
ダウンロードして実行してください(9月5日に公開予定)。
http://japan.renesas.com/h8c_download
2.2 新規購入
ご注文の際には、以下の情報を最寄りのルネサス販売または特約店まで
ご連絡ください。
価格については最寄りのルネサス営業または特約店にお問い合わせください。
製品名: H8SX, H8S およびH8ファミリ用C/C++コンパイラ
パッケージ R0C40008XSW06R
バージョン番号: V.6.02
リリース番号: Release 00
製品の使用環境: Windows XPまたはWindows 2000
3. MISRA Cルールチェッカ SQMlint V.1.02 Release 00 ~ V.1.03 Release 00
ご使用中のお客様へのお願い
SQMlint V.1.02 Release 00 ~ V.1.03 Release 00をご使用中のお客様は、
9月1日付けRENESAS TOOL NEWS 資料番号: 070901/tn2もご参照くださるよう
お願いいたします。
http://tool-support.renesas.com/jpn/toolnews/070901/tn2.htm