概要
説明
本C/C++コンパイラパッケージは、マイコンの性能を最大限に引き出し、コンパクトなコードを生成する最強な最適化機能を持ちます。また、機器組み込み向け拡張機能を豊富にサポートし、ROM化作業を支援します。
特長
- High-performance Embedded Workshop
- Tool chain
- シミュレータ
- Call Walker(スタック解析ツール)
- MapViewer(メモリ割付情報ビューワ)
- Learn More
リリース情報
最新Ver.: V.9.04 Release 03 (発注型名: R0C40700XSW09R(Note1, 2))
リリース: 2016/03/07
バージョンアップ内容 (ツールニュース参照)
コンパイラの標準的ライフサイクル (PDF | English, 日本語)
Note
- 1ライセンス品の型名です。5ライセンス品の場合#L5、10ライセンス品の場合#LA、20ライセンス品の場合#LTが末尾に付きます。
- コンパイラパッケージV.9.xxは、V.8.xx以前のコンパイラパッケージからの無償アップグレードサービスはありません(新規のご購入となります)。
ターゲットデバイス
設計・開発
詳細情報
機能 (Tool chain)
[C/C++コンパイラ]
- 言語仕様: ANSI/ISO規格に基づき、例外処理やテンプレート機能をサポートしています。
- ANSI仕様C/C++言語に準拠
- C89、C99(一部の機能(long long、//コメント))、C++98のサポート。
- 最適化機能: 共通式の削除や レジスタ割付けなどの一般的な最適化に加えて、各マイコンに特化した最適化コードを実現しています。さらにSHコンパイラでは、リンク時割付けアドレス情報をフィードバックした最適化も実施しています。
- スーパーコンピュータ向け最新の最適化処理を適用
- リンク情報を利用した再コンパイル時最適化(外部変数アクセス最適化等)
- モジュール内外部変数アクセス最適化
- SuperH C/C++コンパイラ 最適化について (PDF)
- 組み込み向け機能: C/C++言語でサポートしていない、割り込み関数記述や、システム命令記述など、組み込み用プログラム作成に必要な機能を、拡張機能としてサポートしています。
- SuperH RISC engine用拡張言語機能
- 組み込み関数
- セクションアドレス演算子
- #pragma拡張子サポート
- SH-1からSH-4の全CPUに対するオブジェクト生成が可能
- コンパイルリスト表示改善
- ELF/DWARF2フォーマットサポート
- Embedded C++仕様のクラスライブラリ
- DSP命令により最適化されたDSPライブラリ
- 固定小数点数の内部表現に関する各種制限値を定義したヘッダファイルfixed.hを追加
- DSP-C言語をサポート
- switch文の数を2048個に拡張
- DSPライブラリの固定小数点型サポート
- 繰り返し文、選択文の組み合わせによるネストを4096レベルに拡張
- 共用体のビットフィールド指定をサポート
[アセンブラ]
- プリプロセッサ機能: ファイルインクルード機能、条件付きアセンブリ機能、マクロ機能などのプリプロセッサ機能により、効率良くソースプログラムを記述できます。
- DSPを含むSH-1からSH-4の全CPUに対する命令サポート
- 倍精度浮動小数点定数の記述可能
- ファイルインクルード機能
- 条件付アセンブリ機能
- マクロ機能
- ELF/DWARF2フォーマットサポート
- 浮動小数点の式処理(四則演算)機能
- .STACK制御命令にてスタック使用量を定義可能
- .DEFINE制御命令の制限値を無制限に拡張
[最適化リンケージエディタ]
コンパイラ及びアセンブラが出力した複数のオブジェクトプログラムを入力し、ロードモジュールまたはライブラリファイルを出力します。
- 最適化機能: コンパイラでは最適化できないメモリ配置や関数の呼び出し関係に依存した最適化を、オブジェクトプログラムをまたがって実行します。
- 出力ファイル: アブソリュートELF形式、Sタイプ形式、HEX形式などのフォーマット出力、シンボル参照回数リストの出力ができます。
- デバッグ情報の圧縮機能
- モジュール間最適化機能
- 複数ロードモジュール選択
- リロケータブルELF形式
- アブソリュートELF形式
- Sタイプ形式
- HEX形式
- バイナリ形式
- ELF/DWARF2フォーマットサポート
- ライブラリファイルの作成、編集が可能
- リストファイル出力による解析
- シンボル参照回数の出力
- シンボル参照情報(クロスリファレンス情報)の出力
- セクションアドレス重複時のエラーレベル変更
- binaryオプション入力セクションへの境界調整数指定
[標準ライブラリ構築ツール]
コンパイラが提供する標準ライブラリファイルをユーザ指定オプションで構築します。オプションにより、最適化の選択や、リエントラントな標準ライブラリの生成(SHの場合)が可能です。
- プロジェクトごとに標準ライブラリを生成することで、標準ライブラリのカスタマイズが可能
- リエントラントライブラリのサポート
- malloc確保サイズ単位の可変化(RAM容量の節約が可能)
- openファイル数可変化(RAM容量の節約が可能)
- 簡易I/Oのサポート(浮動小数点をサポートしない、サイズの小さい関数を生成)
[フォーマットコンバータ]
- 旧フォーマットからELFフォーマットへの変換
- ELFフォーマットから旧フォーマットへの変換
製品パッケージ内容
詳細は「SuperHファミリ用C/C++コンパイラパッケージソフトウェアコンポーネント情報一覧 (PDF | English, 日本語)」をご参照ください。
対応MCUコア、DSP命令記述、オブジェクトフォーマット
パッケージバージョン | 対応MCU | DSP命令 (Note1)の使用方法 | オブジェクトフォーマット | Device File Updater (Note2) |
---|---|---|---|---|
V.9 Windows版 | SH-1、SH-2 (Note5)、SH-2E、SH2-DSP、SH-2A、SH2A-FPU、SH-3、SH3-DSP、SH-4、SH-4A、SH4AL-DSP、SH-Mobile (Note4) | DSP-C言語記述 アセンブリ言語記述 DSPライブラリ使用(Note3) |
ELF/DWARF2 | 対応 |
V.9 UNIX版 (販売終了) | SH-1、SH-2 (Note5)、SH-2E、SH2-DSP、SH-2A、SH2A-FPU、SH-3、SH3-DSP、SH-4、SH-4A、SH4AL-DSP、SH-Mobile (Note4) | 非対応 | ||
V.8 (販売終了) | SH-1、SH-2、SH-2E、SH2-DSP、SH-3、SH3-DSP、SH-4、SH-4A、SH4AL-DSP、SH-Mobile (Note4) | |||
V.7 (販売終了) | SH-1、SH-2、SH-2E、SH2-DSP、SH-3、SH3-DSP、SH-4 | アセンブリ言語記述 DSPライブラリ使用 (Note3) |
ELF/DWARF2 | |
V.6 (販売終了) | ELF/DWARF2 | |||
V.5 (販売終了) | SYSROF |
Note
- DSPモジュールを搭載するMCU/MPUのみ使用可能です。
- Device File Updater は、High-performance Embedded Workshop が自動生成するソースファイル(スタートアップルーチン、I/Oヘッダファイル など) を追加、更新するツールです。
- DSPライブラリはコンパイラパッケージに同梱されています。
- ミドルウェアを使用する際には、対応するコンパイラバージョンをミドルウェア販売元にご確認ください。
- リトルエンディアン対応 (V.9.00 Release01より)