クロスコンパイラ/Eclipseベースの統合開発環境

HighTec社 TriCore 開発プラットフォーム

HighTec社 TriCore 開発プラットフォーム

クロスコンパイラ/Eclipseベースの統合開発環境

HighTec社 TriCore 開発プラットフォームは、強力なウイザード機能を持つEclipseベースの統合開発環境です。TriCoreやAurix マルチコアをサポートします。プロジェクトの設定や、コンパイラ、アセンブラ、リンカを使用するビルドプロセス全体の管理を行います。

EclipseベースのTriCore開発プラットフォーム

EclipseベースのTriCore開発プラットフォームは、プロジェクトを簡単に作成可能です。マイコン種別を選択してボタンを押すだけで、スタートアップコードの生成、必要な周辺ハードウエアの初期化処理、適切なメモリ配置、SFRなどのハードウエア定義ヘッダファイルの生成を伴ったプロジェクトが作成されます。プロジェクトには簡単なmain関数が含まれており、直ぐにコード実装をスタートさせることができます。Eclipseのモデル駆動型のGUIにより、メモリレイアウトの設定、マイコン種別に対する設定確認を簡単に行うことができます。この開発プラットフォームは、強力なウイザード機能を持ち、新しいTriCoreのマルチコアアーキテクチャの様な最新のTriCoreチップをサポートします。
プロジェクトの設定や、コンパイラ、アセンブラ、リンカ、さらにはハードウエアの初期化設定など、ビルドプロセス全体を管理します。メモリレイアウトは、Eclipseのモデル駆動型のGUIにより、簡単に行うことができます。Eclipseのモデル駆動型のGUIにより、メモリレイアウトの設定、マイコン種別に対する設定確認を簡単に行うことができ、コード、データの適切な配置が可能です。

【TriCore 開発プラットフォームの構成】
 ・TriCore/Aurix向け 最適化C/C++マルチコアコンパイラ
 ・HSMセキュリティモジュール向けコンパイラ
 ・GTM/MCSアセンブラ
 ・Eclipse(TM) 統合開発環境
【主な機能】
 ・プロジェクト管理
 ・セットアップウィザード
 ・バージョンコントロール
 ・DAvE 入力機能
 ・グラフィカルなメモリ配置設定機能


C/C++ コンパイラスイート

TriCore向けGNUベースC/C++コンパイラスイートは、業界最速のビルドシステムの1つです。並列コンパイルにより、ビルド処理をスピードアップするために、同時に複数の起動を行うことができます。
TriCoreの強力な32ビットアーキテクチャの優位性をフルに活用することで、HighTecのコンパイラスイートは、柔軟性を持った先端の最適化技術と必要なハードウエア制御を実現します。コンパイラはループの最適化、インライン関数、グローバルオプティマイズなどの最適化機能を持ちます。TriCoreのアーキテクチャは、サイズ、または実行速度に対する最適化のための豊富なアドレッシングモードを持ち、コンパイル時にアドレス演算を省略したり、アセンブラ命令にアドレスをエンコードすることが可能です。HighTecコンパイラは、ソースコードの#pragma記述により異なるアドレシングモード使用することで、適切なメモリへのコード、データの分散やアロケーションを制御することができます。
AUTOSAR オペレーティングシステムに合わせて、ベンダーは排他的な使用のために個別のTriCoreレジスタを予約する必要があります。このために、コンパイラはいわゆるFixedレジスタ(コンパイラが通常使用しないレジスタ)を指定するためのオプションを提供しています。HighTecのコンパイラは、EABIや、関連する言語仕様、ISO標準規格に完全に準拠しています。
自動車ソフトウエアは、複数のプラットフォームへのポータビリティーを要求します。HighTec コンパイラは、配置独立コード(PIC=position-independent code)、配置独立データ(PID=position-independent data)の生成をサポートしています。これは、開発やテストプロセスにおいて、自動車ECUソフト開発に有用な機能です。
【主な機能】
 ・ロバスト性に優れ、コンパクトで高速な実行コード
 ・AUTOSAR MCAL ドライバをサポート
 ・ANSI/ISO 準拠
 ・マルチコアサポート(ISO/EABI 準拠)
 ・長期間に渡る安心のサポート
 ・商用の標準、マスライブラリ(非オープンソース)
 ・アドレシングモード: アブソリュート、レジスタ相対、サーキュラー
 ・SIMD and FPU サポート
 ・PCP Cコンパイラ


ISO26262対応

PRO-SILのラベル付きのInfineon製の全ての部品は、TriCoreアーキテクチャを使用して、ISO 26262 (ASIL-D) や IEC 61508 (SIL-3)の要求を満たす設計が行われています。アプリケーションランタイムと同様にPCPスタートアップフェーズで動作するSafeTcore パッケージ(自己テストルーチン)を使用することで、ユーザーソフトウエアの正しい動作、TriCire CPUとハードウエア環境の整合性を保証します。SafeTcore パッケージは、HighTec PCP-Cコンパイラでサポートされています。ユーザーアプリケーションへのSafeTcore パッケージの適合やインテグレーションは、PRO-SILインテグレーションに実績のあるHitex社がサポート可能です。
ISO-26262では、自動車分野でのアプリケーション開発者は、特定のバージョンのツールにより生成されたソフトウエアを再現することが要求されます。HighTecは、固定ツールバージョンに対するバグフィックスなどのサポートを提供します。
エラー検出や予防策のために、HughTecは洗練されたバグ検出コンパイラ(bug-finding-compiler)を提供しています。これにより、シリコンのバグやコンパイラバグに対応することができます。このコンパイラは、ユーザーアプリケーションコードを検査し、アプリケーションが前述のバグの影響を受けるかどうか、また、もしも影響を受ける場合には、どのモジュールが影響を受けるかの情報を出力します。ユーザーは、影響のあるモジュールのみのビルドを行うだけで済み、アプリケーションのビルドに対する時間とコストを削減できます。
ツールの信頼性に関しては、GCCベースのコンパイラスイートは20年間に渡り、一般のアプリケーション開発に使用されています。自動車の分野では、HighTecのGCCベースのコンパイラは、Tire-1やOEMのプロジェクトにおいて10年以上の使用実績があります。長期間、広範囲に渡りワールドワイドで使用されている実績や、確立した開発やレビュープロセスによるコンパイラスイートの開発は、ソフトウエアツールの品質の高さの証明です。さらに、商用またはオープンソースのテスト環境が、ツールチエーンの品質確認に使用されています。


マルチコアサポート

HighTecのTriCoreコンパイラは、ホモジーニアスとヘテロジーニアスのマルチコアアーキテクチャをサポートしています。
HighTecのマルチコアサポートはリンカレベルで行われ、ソースコードへの適用は必要ありません。このISO、EABI準拠のマルチコアサポートは、シングルコア向けのソースコードをマルチコアに移植する作業を容易にします。ユーザーは、リンカレベルで、実行コードとデータを適切なコアにアサインするだけです。他のコアとのデータの交換は、'hide-and-visibility' コンセプトにより行われ、リンカレベルで、コア間のユーザーが定義したインタフェース(i/o)を指定することができます。他のコアから見えるようにするためには、データとコードを明確に指定する必要があります。コア間で共有されているデータやコードは、個別の出力にリストされ、コア間のクロスリファレンスの解析に使用されます。'hide-and-visibility' 機能は、分散型のシステムの複雑さを軽減することになり、結果的に、デバッグにかかる工数を削減し、全体的なソフトウエアシステムの保守性を改善します。
一方で、各々のコア上でのアプリケーションを独立させて実行する機能もサポートされており、ユーザーが指定しない限りは、データとコードの独立性は保証されます。
1つのコアの中では、ローカルなアドレスを使用してRAMの様なローカルリソースをアクセス可能です。さらに、それらのリソースはグローバルアドレス領域にマッピングされ、他のコアからアクセスすることも可能です。メモリは、ローカルアドレス領域、あるいはグローバルアドレス領域のどちらを使用するかによって、個別のアドレスでアクセスできます。この機能は、GTM/MCS モジュールのような別のコアアーキテクチャを持つ場合にも有効です。
HighTec TriCore リンカは、ヘテロジーニアスマルチコアの場合であっても、メモリの再配置を自動的に行います。リンカは、異なるコアアーキテクチャのオブジェクトファイルを相互にリンクし、1つのELFフォーマットのオブジェクトファイルを生成することができます。このマルチコア機能は、Lauterbach社、isystem社、 Hitex社のデバッガでサポートされています。
HighTecのツールは、GTM/MCS (タイマーモジュール) や HSM セキュリティモジュールのような、異なるコアアーキテクチャを持つ場合にも対応しています。TriCoreやGTM、HSM のバイナリーは、1つのELFフォーマットのファイルにリンク可能で、1つにまとめてターゲットへダウンロードすることができます。