30年の経験:先端的なマルチコアおよびマルチアーキテクチャのサポート - 革新の最適化技術

HighTec EDV-Systemeは、1982年の設立以来、株式非公開の私企業であり、世界最大の商用オープンソースコンパイラベンダーです。 HighTecは将来への独立性を保証し、組み込みソフトウェア開発のための最も信頼性が高くセキュアなツールを提供します。 HighTecコンパイラは移植性があり、一般的なリリースに先立ち、サポートするコアアーキテクチャの最新のチップリビジョンに利用することができます。認定済みのマイクロカーネルリアルタイムオペレーティングシステムであるPXROSは、最高レベルのデータ保護、機能安全性および堅牢性を提供します。 HighTecは、パフォーマンスの最適化、機能安全、シングルコアからマルチコアシステムへの移植、AutoSAR環境への移植において、完全な開発とコンサルティングサービスを提供します。

当社の革新的なチームは高度に熟練しており、品質に専念しています。そしてお客様の市場地位を維持し、進歩させるために情熱を持ってサポートを提供しています。
 
 

Compiler

将来への独立性を保証し、組み込みソフトウェア開発のための最も信頼性が高くセキュアなツールを提供します。
 

主な特徴

  

  • マルチアーキテクチャ対応
  • 最先端の最適化技術を備えたC / C ++コンパイラ
  • リンカレベルでの高度なマルチコアサポート(ソースコードの変更不要)
  • HSMコンパイラおよびGTMアセンブラ
  • ISO 26262クオリフィケーションキット
  • Frozen:固定ツールバージョンのサポート

 

一般的な最適化機能

HighTecのコンパイラの最も高度な最適化技術は、最小のフットプリントで最速のコードを生成します。 コンパイラは、バッチ処理のためにコマンドラインインターフェースを介して、またはEclipseベースのHighTecによるSafe Multi-Core PlatformなどのIDE内で使用することができます。 当社のコンパイラは、市場で最速のビルドシステムであり、並列コンパイルプロセスをサポートしています。コンパイラは、次の要素で構成されます。
 

  • 言語固有のフロントエンド
  • グローバルオプティマイザ
  • ターゲット固有のオプティマイザ
  • 商用ライブラリ(オープンソースなし)

 
HighTec C / C ++コンパイラは、完全にEABIに準拠しており、最新のANSI / ISO CおよびC ++コンパイラ標準(C89、C99など)に準拠しています。 ユーザーは、プログラミング言語、ターゲットアーキテクチャ、パフォーマンスレベル - 速度やコードサイズの最適化、デバッグレベルなど、さまざまな機能を選択できます。
 

マルチアーキテクチャ対応

HighTecコンパイラは幅広い組み込みアーキテクチャをサポートしており、あるアーキテクチャから別のアーキテクチャにいつでも移行できます。 異なるアーキテクチャーに対応できる開発ツールであれば、学習の時間を短縮し、生産性を高め、市場投入までの時間を短縮します。 以下のアーキテクチャがサポートされています。
 

  • TriCore/AURIX
  • Power Architecture
  • RH850
  • ARM

 

ターゲット固有の最適化

  • TriCore / AURIX:絶対アドレス指定モード、サーキュラー
  • 可変長符号化のPowerPC NON-VLE命令とVLE命令の混合
  • レガシーNON-VLEコードは、同等のVLEコードでPowerPCアセンブラによって変換されます
  • サポートされているPowerPC機能:VLE、SAT、LSP、パイプライン最適化によるデュアル発行
  • HSMコンパイラおよびGTMアセンブラ

 
小さなデータ領域の最適化は、AURIX、Power Architecure、RH850などの特定のアーキテクチャで使用できます。これらのコントローラは、アドレス計算を省略できるため、コードサイズと実行時の動作を最適化するさまざまなアドレッシングモードを提供します。
豊富なリンクコマンド言語により、コードとデータのメモリ内のレイアウトを最適な方法できめ細かく制御できます。特に、マルチコアのターゲットでは、コードとデータのレイアウトによって実行時の動作が大幅に改善されます。 HighTecコンパイラは、既存のソースコードを変更することなく、各要素が別のサブセクションに配置されるように、プラグマセクションのステートメントを分解するコマンドラインオプションを提供します。サブセクションの分割により、ユーザーは各要素を最適なメモリ位置に配置することができます。例えば、マルチコア・アプリケーションでのデータ・アクセスの頻度を考慮すると、セクションの頻繁に使用されるいくつかのデータ要素をグローバル・メモリよりもはるかに高速なコアのローカル・メモリに配置することは有益です。マルチコアでの性能向上は10%以上にもなります。 HighTecまたはパートナーのGliwaとTiming Architectsがマルチコア・アプリケーションの全体的なパフォーマンスを最適化するために、追加のコンサルティング・サービスを提供しています。
任意のアドレスにロードできる位置独立コード(PIC)と位置独立データ(PID)は、High-Tecコンパイラでサポートされています。
主要半導体パートナーとの優れたコラボレーションに基づいて、最新の車載マイクロコントローラに対応したハイテックのコンパイラは、Elektrobit、ETAS、Vectorなどの主要なAUTOSARオペレーティングシステムベンダーによるMCALドライバとともにサポートされています。
 

高度なマルチコアサポート

自動車のマルチコアアプリケーションでは、いわゆる共通リンクが使用されます。つまり、異なるコアに分散されたアプリケーションは、データやコードを共有できます。自動車アプリケーションのほとんどは、もともとマルチコア環境で使用するように設計されていなかったレガシーコードを含んでいます。そのため、ソースコードを変更せずにシングルコアからマルチコアにアプリケーションを移行することが強く望まれます。
この需要に応えるため、HighTecはソースコードを変更することなくリンカレベルでコードとデータを異なるコアに簡単にマッピングする、いわゆるアドバンストマルチコアサポートを提供しています。この機能により、お客様はプログラミングの自由度が得られ、既存のコードを最小限の労力で簡単に再利用することができます。
異なるコア間のデータ交換は、リンカレベルでコア間のユーザー定義のインターフェイスを指定する 'hide-and-visibility' コンセプトよって処理されます。データとコードは、他のどのコアにも表示されるように明示的に指定する必要があります。
リンカは、異なるコアアーキテクチャ用のオブジェクトファイルを相互にリンクし、その結果の出力ELFファイルを生成することができます。このマルチコア機能は、Lauterbach などの主要なデバッガベンダーによってサポートされています。
 

ISO 26262

革新のCompiler Qualification Kit(QKit)は、お客様が機能安全規格への準拠ためのコンパイラツール認定(クオリフィケーション)をシンプルかつ簡単に実行することができるツールを提供します。 QKitは、Validas AGおよび自動テストフレームワークと協力して開発されたクオリフィケーション支援ツール(QST)で構成されています。 QSTにはコンパイラツールチェーンの詳細なモデルが含まれており、ツール認定に必要なテストとドキュメントを顧客のユースケースから生成します。
機能安全規格ISO26262の要件を満たすためにブランチカバレッジ分析が必要です。通常、カバレッジ解析ツールは、この目的のためにソースコードに対するインスツルメンテーションを使用します。しかし、これによりアプリケーションのバイナリコードを変更するため、分析されたアプリケーションと最終的なアプリケーションが異なります。 HighTecは、ブランチカバレッジ分析を実行するための代替アプローチを提供します。
ソースコードをインストルメントする代わりに、HighTecコンパイラは、アプリケーションの制御フローをアプリケーションの別のデバッグセクションに出力します。この情報は、デバッガと共に使用されて、最終アプリケーションのブランチカバレッジ分析を実行できます。
もう1つの重要な安全対策は、最終イメージのポストビルド検査です。機能安全に関わるアプリケーションでは、メモリレイアウトの検証や最終的なELFファイルの整合性などのエラーチェックが不可欠です。この目的のために、HighTecは以下の拡張を提供します:
 

  • 詳細マップファイル
  • ELFファイルのダンプ

 
生成されたデータは、標準のXML形式で出力され、コードとデータのコア割り当てに関する情報も含まれています。 コア間通信は、Mapfileの相互参照テーブルにリストされています。 この情報に基づいて、ユーザーはアプリケーションの出力と一貫性を検証する追加のスクリプトを実装することができます。
 

固定ツールバージョンのサポート

安全関連のアプリケーションでは、コンパイラのような開発ツールを含め、製品のライフサイクルを完全にコントロールする必要があります。 HighTecは、お客様がライフサイクルをコントロールできるように固定バージョンのコンパイラーブランチを提供しています。 Frozen Branch Maintenanceを使用すると、コンパイラの変更がコードに及ぼす影響を最小限に抑えることができます。これにより、顧客は、どのアップデートやカスタマイズされたバグ修正を取り入れるかなど、新しいQAサイクルの実行時期を決定することができます。
 

For more information please visit www.hightec-rt.com