CC-RH

ルネサス統合開発環境「CubeSuite+」は、2014年10月1日リリースのV3.00.00より、製品名を「CS+」に変更いたしました。

V1.07.00 → V2.00.00 への変更点 (2018/7/20)

1. G4MHコアの命令セット
    G4MHコアの命令セットをサポートしました。

2. 拡張浮動小数点演算命令
    割り込み関数内で、
    拡張浮動小数点システム・レジスタの退避・復帰コードを出力するコンパイル・オプションを追加しました。

3. レジスタ・バンク機能
    レジスタ・バンク機能を使用する割り込み関数内で、
    退避モードに応じたレジスタの退避・復帰コードを出力するコンパイル・オプションを追加しました。

4. G4MHコアの割り込み/例外処理
    #pragma interrupt 指令で指定する割り込み仕様にG4MHコアの割り込み/例外を追加しました。

5. G4MHコアの組み込み関数
    G4MHコアの命令セットを使用した組込み関数を追加しました。

6. デバッグ命令の組み込み関数
    デバッグ命令用の組込み関数を追加しました。

7. C99標準ライブラリ関数
    一部のC99用標準ライブラリ関数に対応しました。

8. 標準ライブラリ関数のインライン展開
    一部の標準ライブラリ関数を呼び出すコードを生成する際、
    関数呼び出しにするかインライン展開するかを制御するコンパイル・オプションを追加しました。

9. 浮動小数点演算に対する実行効率を重視したコード生成
    浮動小数点演算に対して実行効率のよい演算コードを生成するコンパイル・オプションを追加しました。

10. 浮動小数点数の逆数演算に対するコード生成
    浮動小数点数の逆数演算に対してrecipf命令を生成するコンパイル・オプションを追加しました。

11. 不正な間接関数呼び出し検出機能の拡充【professional】
    不正な間接関数呼び出し検出で用いる関数リストからライブラリファイル(*.lib)を除外できるようにしました。

12. バイナリ・ファイルに対するCRC演算結果出力
    バイナリ・ファイルにCRC演算結果を出力できるようにしました。

13. ヘキサ・ファイルの先頭ロード・アドレス変更
    インテル拡張ヘキサ・ファイルまたはモトローラ・S タイプ・ファイルを出力する際に、
    ファイル上の先頭ロード・アドレスを変更する機能を追加しました。

14. 注意事項の改修
    以下4件の注意事項を改修しました。
    - 初期化子の指定がある配列型、構造体型、または共用体型のstatic変数宣言に関する注意事項 (No.19)
    - 予約シンボルを使用した場合のアセンブラの注意事項 (No.20)
    - -Xmulti_levelオプション指定時に自動変数の初期化子が配置されるセクションに関する注意事項(No.21)
    - -store_regオプションに関する注意事項 (No.22)
    

V1.06.00 → V1.07.00 への変更点 (2018/1/22)

1. C99規格
    言語仕様としてC99規格をサポートしました。

2. MISRA-C:2012ルールによるソース・チェック機能の拡充 【professional】
    ソース・チェック可能なMISRA-C:2012ルール数を111から119に拡充しました。

3. 不正な間接関数呼び出し検出機能【professional】
    不正なアドレスへの間接関数呼び出しを検出する機能をサポートしました。

4. PIC/PID機能
    関数・定数・変数をリンク時とは異なる任意のアドレスに配置できるPIC/PID機能をサポートしました。

5. 最適化強化
    最適化を強化し、生成コードの性能を改善しました。

6. メモリ使用量の上限拡張
    CC-RHが使用できるホストPC上のメモリ量を拡張しました。
    - 32bit/64bit OS とも2G byte 【V1.06.00 以前】
    - 32bit OS の場合は3G byte、64bit OS の場合は4G byte 【V1.07.00 以降】

7. 即値を用いた自動変数の初期化
    構造体型や配列型の自動変数の初期化を即値で行うコンパイル・オプションをサポートしました。

8. メッセージ制御機能
    警告メッセージをエラーメッセージに変更するためのコンパイル・オプションを追加しました。

9. ヘキサ・ファイルのレコード長固定機能
    インテル拡張ヘキサ・ファイル(.hex)とモトローラ・Sタイプ・ファイル(.mot)の出力アドレスを、
    指定したアライメントで整合し、固定レコード長で出力するリンク・オプションを追加しました。

10. 注意事項の改修
    以下4件の注意事項を改修しました。
    - pow関数の戻り値が不正となる注意事項(No.9)
    - switch文中のラベルへのgoto文を使用している場合の注意事項(No.16)
    - FPU命令を含む数学ライブラリ関数に関する注意事項(No.17)
    - ループ制御変数の終了条件が定数のループ文に関する注意事項(No.18)
    

V1.05.00 → V1.06.00 への変更点 (2017/7/20)

1. MISRA-C:2012ルールによるソース・チェック機能の拡充 【professional】
    ソース・チェック可能なMISRA-C:2012ルール数を103から111に拡充しました。

2. 制御レジスタ更新時の同期化機能 【professional】
    RH850の制御レジスタの更新箇所の検出、及び、複数の制御レジスタを連続して更新する箇所に同期化処理を挿入する機能をサポートしました。

3. 最適化強化
    生成コードの性能を改善しました。

4. CAN通信時間計測ソリューション対応
    CS+でE2 エミュレータを使用したCAN 通信時間計測ソリューション機能を使用するため、
    -insert_dbtag_with_label オプションを追加しました。
    本オプションはCAN 通信時間計測ソリューション機能を使用する際にCS+が使用するオプションであり、
    ユーザーがビルド時に指定するものでありません。

5. 配列初期値データの出力方法変更
    配列型の初期値データをアセンブリ・ソース上で出力する際、1 行にまとめて出力するように変更しました。
    この変更により、ビルド時の解析処理が削減され、ビルド時間を短縮することができます。

6. 特殊シンボルの追加
    セクションの先頭、及び、セクションの終端にリンカが生成する特殊シンボルに、C ソースで参照できる形式を追加しました。

7. リンク・マップ・ファイルの仕様変更
    リンク・マップ・ファイルの ”Mapping List” に再配置属性のATTRIBUTE 欄を追加しました。

8. モトローラ・Sタイプ・ファイルのエンドレコード指定
    モトローラ・S タイプ・ファイルのエンドレコードを指定するリンカ・オプション -end_record を追加しました。

9. 無償評価版使用時メッセージの番号追加
    無償評価版を使用してビルドする際に出力していたメッセージに対し、番号W0561016, W0561017 を付与しました。

10.リンク・エラーのメッセージ変更
    リンク・エラー ”F0563102” のメッセージに、ファイル名を出力するようにしました。

11. ライセンスの認証方式の改善
    ライセンスの認証方式を改善し、ビルド時間を短縮しました。

12. 注意事項の改修
    以下1件の注意事項を改修しました。
    - #pragma pmodule 拡張言語の注意事項(No.15)
    

V1.04.00 → V1.05.00 への変更点 (2017/1/20)

1. 半精度浮動小数点数のサポート【professional】
    半精度浮動小数点数をサポートしました。
    浮動小数点数データが大量に存在するアプリケーションに対してデータサイズの削減が可能となります。

2. MISRA-C:2012ルールによるソース・チェック機能の拡充 【professional】
    ソース・チェック可能なMISRA-C:2012ルール数を82から103に拡充しました。

3. 最適化強化
    生成コードの性能を改善しました。

4. コンパイル・オプション -g_line の追加
    最適化を適用した際に、ソース・デバッグ用情報の正確度を向上するコンパイル・オプション-g_lineを追加しました。

5. #pragma inline_asm 指令の拡張
    #pragma inline_asm指令で指定した関数内に.public疑似命令を記述できるようにしました。

6. 組み込み関数__stcw の仕様変更
    組み込み関数__stcwの返却型をvoid型からlong型に変更しました。

7. リンク・オプション-subcommand の仕様変更
    サブコマンド・ファイル内で-subcommandオプションを指定できるようにしました。

8. リンク・オプション-map/-list の仕様変更
    -mapオプションと-listオプションの仕様を変更し、外部変数アクセス最適化の適用範囲を拡大しました。

9. ライセンスの認証方式
    ライセンスの認証方式を変更しました。
    V1.05.00以降を使用する場合は、ライセンス・マネージャV2.00.00以降をインストールしてください。

10. 注意事項の改修
    以下4件の注意事項を改修しました。
    - 組み込み関数“__stcw( )”の注意事項(No.10)
    - 2回以上のループを含むプログラムに関する注意事項(No.12)
    - 配列要素、構造体メンバまたは共用体メンバへの値の更新が反映されない注意事項(No.13)
    - 値が1ずつ減少する演算式を含むループの注意事項(No.14)
    

V1.03.00 → V1.04.00 への変更点 (2016/7/21)

1. 最適化強化
    生成コードの性能を改善しました。

2. MISRA-C:2012ルールによるソース・チェック機能の拡充 【professional】
    ソース・チェック可能なMISRA-C:2012ルール数を41から82に拡充しました。

3. 動的メモリ管理関数のセキュリティ強化 【professional】
    ヒープ領域の解放時に、不正操作を検出する機能を追加しました。

4. 排他制御チェック機能の追加
    CS+で排他制御チェック機能を使用するための機能を追加しました。

5. 注意事項の改修
    以下3件の注意事項を改修しました。
    - 条件アセンブル制御命令後に外部ラベルを定義した場合の注意事項 (No.7)
    - パッキングした構造体または共用体のメンバを初期化子に指定した場合の注意事項 (No.8)
    - 最適化の適用範囲に関する注意事項 (No.11)
    

V1.02.00 → V1.03.00 への変更点 (2015/10/20)

1. standard/professional版への移行
    CC-RHを以下の2つのグレードに分けました。
    - standard版
    - professional版

2. G3KHコア対応
    -Xcpuオプションの引数にg3khを指定出来るようにしました。

3. -Xalign4オプションの拡張
    -Xalign4オプションを拡張し、ループの先頭アドレス等もアライメントを4に指定できるようにしました。

4. CRC演算機能
    CRC演算を行い、演算結果を特定アドレスに出力する-CRCオプションを追加しました。

5. -Xpatchオプションの拡張
    G3Mコアを搭載したマイコン向けに-Xpatchオプションを拡張しました

6. 注意事項の改修
    以下5件の注意事項を改修しました。
    - アセンブリ命令のオペランドに即値を指定した場合の注意事項 (No.2)
    - ラベルの定義と参照が同一アセンブル単位にある場合の注意事項 (No.3)
    - アセンブリ命令のベースレジスタ省略時の注意事項 (No.4)
    - 仕様外のアセンブリ記述時の注意事項 (No.5)
    - 外部変数アクセス最適化で4M バイト以上離れた変数を参照する場合の注意事項 (No.6)

7. MISRA-C:2004ルールによるソース・チェック機能
    MISRA-C:2004ルールによるソース・チェック機能はprofessional版のライセンス登録時のみ使用できるようにしました。

8. MISRA-C:2012ルールによるソース・チェック機能
    MISRA-C:2012ルールによりソース・チェック機能を追加しました。
    本機能はprofessional版のライセンス登録時に使用できます。

9. スタック破壊検出機能
    スタック破壊を検出する機能を追加しました。本機能はprofessional版のライセンス登録時に使用できます。
    

V1.01.00 → V1.02.00 への変更点 (2015/03/05)

1. G3MHコア対応
    -Xcpuオプションの引数にg3mhを指定出来るようにしました。

2. double型変数の精度を指定するオプション追加
    double型およびlong double型変数の精度を指定する-Xdbl_sizeオプションを追加しました。

3. 浮動小数点数の丸めモードを選択するオプション追加
    浮動小数点定数の丸めモードの指定を行う-Xroundオプションを追加しました。

4. デフォルト配置セクションを変更するオプション追加
    デフォルト配置セクションを変更する-Xsectionオプションを追加しました。

5. 関数の先頭アドレスをアライメント4に指定するオプション追加
    関数の先頭アドレスのアライメントを4 に指定する-Xalign4オプションを追加しました。

6. リンク・マップ・ファイルへの構造体メンバのアドレス出力
    リンカの-showオプションの引数にstructを追加しました。

7. 既定義マクロの追加
    コンパイル時およびアセンブル時に使用可能な既定義マクロを新たに追加しました。

8. 制限事項の改修
    以下、1件の制限事項を改修しました。
    - 変数に一致と大小比較判定を両方行う場合の注意事項 (No.1)

9. その他の仕様変更
    -Xasm_option=-Xasm_far_jumpオプション の仕様を変更しました。
    また、jmp命令のオペランドに相対ラベルを指定した場合の仕様を変更しました。
    

V1.00.01 → V1.01.00 への変更点 (2014/07/16)

1. パイプライン最適化の強化
    パイプライン最適化を強化しました。パイプライン最適化を有効にしている場合に実行速度が向上する可能性があります。

2. 構造体のコピー処理の改善
    1バイト単位でコピーしていた構造体のコピー処理を、アライメントに応じたサイズでコピーするように変更しました。
    これにより構造体コピーの実行速度が向上します。

3. 数学関数の高速化
    以下の数学関数を高速化しました。
    - sinf()
    - cosf()
    - tanf()
    - asinf()
    - atanf()
    - acosf()

4. ランタイム関数の高速化
    long long 型の除算および剰余算のランタイム関数を高速化しました。

5. 組み込み関数の仕様変更
    以下の組み込み関数でselID に指定できる値の範囲を0~7 から0~31 に拡大しました。
    - __ldsr_rh
    - __stsr_rh

6. -paddingオプションの仕様拡張
    セクションの終端にパディング・データを埋め込むリンカオプション”-padding”の仕様を拡張しました。
    V1.00.01 ではテキストデータ、const 変数、および初期値がある変数のセクションのみを対象としてパディング・データを
    埋め込んでいましたが、V1.01.00 では初期値がない変数のセクションも対象とします。