Sourcery CodeBench
Sourcery CodeBenchは組込みアプリケーション開発者向けの機能豊富な包括的プラットフォームであり、以下のような組込みアプリケーションの開発とデバッグに必要なツールをすべて備えています。
- GNU C/C++コンパイラ
- GNUアセンブラ/リンカ
- C/C++ランタイム・ライブラリ
- 追加のC/C++ランタイム・ライブラリ
- CS3初期化と割り込み処理
- GNUデバッガ
- デバッグ・スプライト
- 命令セット・シミュレータ
- GNU/Linuxアプリケーション・シミュレータ
- Eclipse IDE
- GNU/Linuxプリリンカ
- ライブラリ縮小ユーティリティ
- Sysrootユーティリティ
- Sourcery CodeBenchアップデートへのアクセス
- Sourcery CodeBenchナレッジベースへのアクセス
- 無制限のサポート
GNU C/C++コンパイラ
GNU/Linuxでのデファクト・スタンダードであるSourcery CodeBenchは、より多くのプロセッサ・サポート、最適化の改善、信頼性の向上によってコンパイラを強化しています。強力なインライン・アセンブラのサポート、変数や関数を特定のセクションに配置できる機能、割り込み処理のサポートなど、組込みシステムでのプログラミングが高度にサポートされています。
GNUアセンブラ/リンカ
一般的な構成向けの修正可能なリンカ・スクリプトが付属しています。低レベルのドライバやスタートアップ・コードを記述してコードとデータを必要な箇所へ正確に配置できる高度な機能を利用できます。
C/C++ランタイム・ライブラリ
GNU/LinuxシステムではGNU Cライブラリ(GLIBC)が搭載されています。uClinuxシステムでは、GLIBCとのソース互換性が高い、フットプリントの小さなuClibcライブラリが搭載されています。ELFやEABIを用いるユーザにはSourcery CSLIBCが提供されます。フットプリントが小さいこのCodeSourceryの高性能Cライブラリは、読み出しや書き込みなどのシステム呼び出しをホストシステムにリダイレクトできます。
Sourcery CodeBenchのProfessional EditionとStandard Editionには、特定のターゲットを対象にしたランタイム・ライブラリが追加されています。例えば、ハードウェア浮動小数点演算機能に対応したARMプロセッサでの性能向上を目的として、VFPに最適化されたライブラリが用意されています。これらのエディションにはLinuxターゲット・システム向けに、デバッグ可能なバージョンのランタイム・ライブラリも搭載されており、ランタイム・ライブラリ・コードをステップ実行できます。
CS3初期化と割り込み処理
CS3は、ARM EABI、ColdFire ELF、fido ELF、MIPS ELF、Power EABI、Stellaris EABIなど、ベアメタル・プラットフォームでのボード初期化と割り込み処理に対する統一されたクロスプラットフォーム手法を提供します。
GNUデバッガ
Sourcery CodeBenchでは、フラッシュ・プログラミングと高度なハードウェア・ブレークポイント機能のサポートによってGDBを強化しています。Eclipse IDEの「バックエンド」として利用しているコマンドライン形式のソースコード・デバッガは、JTAG/BDMユニットを介したハードウェア・デバッグ向けのデバッグ・スプライトを提供しており、GDBserver(ターゲット・システム上で実行されるGNU/Linuxユーティリティ)とともに使用できます。標準的なブレークポイントとコマンドがサポートされているので、プログラム実行のほかハードウェア・ブレークポイント、バックトレース、複数スレッドの制御が可能です。
本来コマンドライン形式のソースコード・デバッガをGUI化されたソースコード・デバッガとしてEclipse IDEの「バックエンド」で利用可能です。
GDB強化機能としてフラッシュ・プログラミングと高度なハードウェア・ブレークポイントの機能がサポートされました。
デバッグ・スプライト
SourceryCodeBenchのデバッグ・スプライトは、JTAG/BDMデバイスを使ったハードウェア・デバッグをサポートしています。システムによっては、フラッシュメモリのプログラミングと制御レジスタの表示が自動化されています。シンプルなXMLベース構成ファイルを使って、アクセス遅延の挿入や特定メモリ・アドレスへの書き込みを追加するなど、デバッグ・スプライトのボード初期化をカスタマイズできます。
デバッグ・スプライトは、JTAG/BDMデバイスを使ったハードウェア・デバッグをサポートしています。
命令セット・シミュレータ
Sourcery CodeBenchの「ベアボード」構成のほとんどにはQEMU命令セットのシミュレータが含まれており、ターゲット・ハードウェアがなくてもプログラムの実行とデバッグが可能です。Sourcery CodeBenchには、このシミュレータ向けのリンカ・スクリプトが付属しています。
GNU/Linuxアプリケーション・シミュレータ
GNU/Linux構成のほとんどにもQEMUシミュレータが含まれており、x86 GNU/Linuxホスト上でシングルスレッドGNU/Linuxアプリケーションを実行できます。
Eclipse IDE
JTAG/BDMデバイスを介したハードウェア・デバッグのサポート強化やSourcery CodeBench環境との完全な統合によって、業界をリードするEclipse IDEを拡張しています。Eclipse IDEは、自動化されたプロジェクト・ビルダや、構文をハイライト表示できるエディタなど、ビジュアルなアプリケーション開発環境を提供します。Eclipseのグラフィカルなデバッグ・インタフェースは、特に組込みシステム・プログラマにとって有用であり、ソースコードやアセンブリ・コードのステップ実行、レジスタの表示、スタック・トレースが可能です。
JTAG/BDMデバイスを介したハードウェア・デバッグのサポート強化やSourcery CodeBench環境との完全な統合によって、業界をリードするEclipse IDEを拡張しています。
GNU/Linuxプリリンカ
特定のGNU/Linux構成のほとんどにもQEMUシミュレータが含まれており、x86 GNU/Linuxホスト上でシングルスレッドGNU/Linuxアプリケーションを実行できます。GNU/Linuxターゲット・システムを対象に、GNU/Linuxアプリケーション向けのポストプロセッサであるGNU/Linuxプリリンカを搭載しており、アプリケーション起動時間を大幅に短縮できます。Sourcery CodeBenchの実装によっては、Microsoft WindowsなどGNU/Linux以外のホストシステム上でもプリリンカを動作させることが可能です。
ライブラリ縮小ユーティリティ
GNU/Linuxターゲット・システムの場合、このユーティリティを使えば、プログラムで使用されていないライブラリ関数を除外することでGNU/Linuxシステムのフットプリントを縮小できます。
Sysrootユーティリティ
GNU/Linuxがインストール済みのターゲット・システム上でアプリケーションを実行する際は、Sourcery CodeBench SysrootユーティリティによってSourcery CodeBenchのライブラリやダイナミック・リンカの使用を簡素化できます。
Sourcery CodeBenchアップデートへのアクセス
Sourcery CodeBenchのProfessional Edition、Standard Edition、Personal Edition、Academic Editionの場合、アップデートの提供が開始されると、ユーザはアップデートを自動的に受け取れます。
Sourcery CodeBenchナレッジベースへのアクセス
Sourcery CodeBenchナレッジベースには、Sourcery CodeBenchでのアプリケーション開発/デバッグについて増え続けているFAQ(よくある質問)とその回答が記録されています。
外部拡張機能
外部ツールを利用してプログラム、バッチ・ファイル、Antビルド・ファイルなどを構成し実行できます。
Remote System Explorer(RSE)は、ユーザがさまざまなリモート・システムの接続と操作を行える機能です。
無制限のサポート
Sourcery CodeBenchのProfessional EditionユーザとStandard Editionユーザは、無制限のテクニカル・サポートを受けられます。インシデントごとの料金が不要なこのサポートは、インストールや基本的な使用法だけでなく、ほかのツールからのプログラムの移植、C/C++プログラミング言語、インラインアセンブリなどGNU機能の使用法、Sourcery CodeBenchの使用に関連するその他すべてのトピックについても、ユーザからの問い合わせに対応します。
Professional Editionユーザは、サポート・リクエストへの対応を優先的に受けられます。また、必要時には欠陥の修正やアップデートも受けられます。サポートは、CodeSourceryの10年間の歴史の中で数千件もの修正をGNUツールチェーンに加えてきたエキスパート開発者から提供されます。