(株)コンピューテックスのトップページへ
メールサービス登録 サイトマップ サイト内検索 English site
     
 

 
 
 HOME > 製品情報一覧 > CSIDE > Linux
 
A4用紙プリントページはこちら
 
〜 組込みLinux開発環境 〜
 
従来ICEのデバッグ環境を継承しながらも、組込みLinuxの仮想アドレスの認識ができ、複雑なアドレスの解決を自動的に実行可能。CSIDEにオプションソフト(Linuxアプリケーション・デバッグ・ライブラリ)を追加することすることで、MMU上の仮想空間への完全対応により、1台でカーネル、 ローダブル・モジュールからアプリケーションまでを一貫した環境でデバッグすることができます。

 

カーネルのC言語デバッグはもとより動的なドライバであるローダブル・モジュールのデバッグも可能です。ローダブル・モジュールは先頭関数からデバッグすることができます。

カーネル、ユーザランドの高速ダウンロード
ローダブル・モジュール対応
カーネル、ユーザランドの高速ダウンロード
カーネルやユーザランドのイメージファイルは通常数十MBのサイズになります。これらのイメージはフラッシュメモリのようなROM領域に書き込む必要がありますが、開発中のプログラムは頻繁に変更が発生するため、書き込み時間も無視できません。ハードウェアオプションである高速ダウンロード・プローブを使用すれば、大規模なイメージファイルを高速にターゲットへ転送することが可能です。


■高速ダウンロード・プローブ *1

・ターゲットRAMへ3MB/S〜6MB/Sのダウンロードが可能
・16ビットバス版を使用すれば10MB/Sでダウンロード可能
・14P専用コネクタ、またはクリップケーブルで接続

高速ダウンロード・プローブ
ローダブル・モジュール対応
Linuxカーネルによってロードされるデバイスドライバ(ローダブル・モジュール)はデバッガがロードしたアドレスを解決して、先頭関数からデバッグすることができます。 ローダブル・モジュール対応

 

  *1:PALMiCE2 ARMとPALMiCE2H ARMで対応しています。



 

Linuxの仮想アドレスを独自に解析しアプリケーションのデバッグを可能にします。複数のアプリケーションを切り替えてのデバッグや、すでに実行されているアプリケーションに対してアタッチしてデバッグすることができます。

実行中のアプリケーションへのアタッチ・デバッグ
特定のプロセス、またはスレッドに注目してのデバッグをサポート
XIPアプリケーション、prelinkライブラリのデバッグをサポート
main関数からのデバッグをサポート
共有ライブラリのデバッグをサポート
セグメンテーション・フォルトの発生を監視
ターゲットへのファイル・コピーをサポート
実行中のアプリケーションへのアタッチ・デバッグ
現在、実行中のアプリケーションへアタッチしてデバッグすることが可能です。  
特定のプロセス、またはスレッドに注目してのデバッグをサポート
デバッグ対象のプロセスから呼び出された場合のみドライバ内でブレークさせることができます。また、デバッグ対象のアプリケーションをスリープさせることにより、そのアプリケーションだけを停止させることもできます。さらに、特定プロセスの停止により、システム全体を同期させて停止する必要がある場合もあるため、何れか切り替えてのデバッグも可能です。スレッドもまた、プロセス同様のデバッグが可能です。 プロセス・ブレーク機能
XIPアプリケーション、prelinkライブラリのデバッグをサポート
本来ROMの固定アドレスにマッピングされているXIPアプリケーションをRAM上に自動展開することによりデバッグを可能としています。また、prelinkを通した後はアドレスが固定されますが、それらのライブラリのデバッグも可能です。  
main関数からのデバッグをサポート
プロセスの起動、終了を監視し、アプリケーションの起動時にはmain関数からのデバッグを可能にします。通常Linuxではアプリケーションはカーネルがメモリに展開、実行するため、main関数からデバッグするのが困難でした。また、プロセスの終了時にはメッセージでプロセスが終了したことを知らせます。 プロセス監視機能
共有ライブラリのデバッグをサポート
共有ライブラリはアプリケーションと異なるアドレスに動的にマップされるため、アプリケーションとは違ったアドレス解決が必要になります。この問題をクリアし共有ライブラリの変数参照やプロセスIDを認識したブレークの設定を可能にします。  
セグメンテーション・フォルトの発生を監視
セグメンテーションフォルトなど致命的なシグナルが発生するとアプリケーションは終了して、そのプロセスは消滅するため、再現性が低い不具合の場合にはデバッグ追跡するのが困難です。 シグナル・トラップ・ブレーク機能は、致命的なシグナルが発生したときにアプリケーションをブレークさせ、問題点がどこにあったかを追跡するのに役立ちます。 シグナル・トラップ・ブレーク機能
ターゲットへのファイル・コピーをサポート
JTAG経由でターゲット側のファイルアクセスが可能です。LANが実装されていないターゲットにファイルを転送する場合に役立ちます。ファイルの削除やディレクトリの作成も可能です。 ファイル転送機能

 

Linuxアプリケーションのパフォーマンスや品質をアップするため、プロセスの実行負荷の把握やメモリの使用状況を確認することができます。

Linux Trace Toolkitの活用でシステム全体のパフォーマンス分析
リアルタイム・トレースでボトルネックの詳細を追跡
メモリ・リークの検出で品質アップ
システム全体の負荷率をグラフ表示
関数レベルの負荷率をグラフ表示

Linux Trace Toolkitの活用でシステム全体のパフォーマンス分析
Linux Trace Toolkitを使用して、プロセスの遷移状態をグラフィカルに表示します。表示を切り替えることによってプロセスごとのCPU占有率をグラフで表示することができますので、システム全体に対してのプロセスの占有率が分かります。 Linux Trace Toolkitの活用でシステム全体のパフォーマンス分析
リアルタイム・トレースでボトルネックの詳細を追跡
PALMiCE2Hの大容量トレースメモリを活用すれば、プロセスやスレッドの遷移状況や実行履歴、関数ごとのパフォーマンス測定など詳細な分析をすることができます。消滅したプロセスについても独自の手法により解析可能です。
リアルタイム・トレースでボトルネックの詳細を追跡
メモリ・リークの検出で品質アップ
メモリの確保、開放関数(malloc,realloc,freeなど)を監視し、メモリの確保と開放がどのように行われているかをグラフで表示します。アプリケーションが最終的にメモリの開放漏れをしていないかを検出する機能がありますので、たとえば開放漏れが原因で時間がたてば不安定になるような不具合の検出に役立ちます。 メモリ・リークの検出で品質アップ
システム全体の負荷率をグラフ表示
ユーザ・プログラムがシステム全体に対してどの程度の負荷を占めるのかをグラフ表示します。例えば、負荷が100%に満たない場合はシステムとして余力が残されているということになりますので、さらに別の処理を追加実行しても良いということが目安としてわかります。 システム全体の負荷率をグラフ表示
関数レベルの負荷率をグラフ表示
どの関数がシステムに対して負荷を与えているのかをグラフで確認することができます。システムのパフォーマンスをアップする時のボトルネックの発見に役立ちます。 関数レベルの負荷率をグラフ表示


 

SMP-Linuxは1つのLinuxシステムで複数のCPUを並列処理させるための高度な仕組みを備えたLinuxです。CPUごとのスケジューラを採用しているSMP-Linuxでは、負荷バランスが大きく崩れるとプロセスのCPU割り当てを調整します。(プロセス・マイグレーション)
その為、SMP-Linuxに対応したLinuxアプリケーション・デバッグ・ライブラリは、ランダムに発生するCPU間のプロセス・マイグレーションを監視し、デバッグ対象のアプリケーションがどのCPUで動作しているかを常に把握することで、SMPで動作するアプリケーションのデバッグを可能としました。

SMPアプリケーションのデバッグに対応
SMPを意識したプロセス遷移表示

 
■SMPアプリケーションのデバッグに対応
アプリケーションを実行しているCPUが他のCPUに割り当てを移住(プロセス・マイグレーション)されたとしても、ステップ/トレース/ソフトウェア・ブレーク等、非SMP-Linuxと変わらない操作感でのデバッグが可能です。 SMPアプリケーションのデバッグに対応
 
■SMPを意識したプロセス遷移表示
プロセス遷移表示では同時実行している全CPUの動きを重ねて表示させることで、各CPUの競合やデッドロックなどSMPシステム特有の問題を一目で把握することができます。
プロセス・トレース・ウィンドウ−プロセス・トレースグラフ
プロセスの実行状態をCPU単位にグラフ表示することで、折れ線グラフでは解りにくいアプリケーションのマイグレーションやパフォーマンスを容易に確認することができます。  プロセス・トレース・ウィンドウ−CPU単位実行グラフ


Android™はカーネルにLinuxを採用している為、ベース部分の開発では組込みLinuxに対応したPALMiCEがご使用頂けます。 また、アプリケーションの開発ではC言語で記述したプログラム(ネイティブコード)のデバッグにも対応していますので、 Javaの開発に最適なEclipseとの併用で効率的なデバッグが行えます。

■Androidカーネルのポーティングやドライバ開発で威力を発揮!
PALMiCEが対応している組込みLinux用のデバッグ機能がAndroidカーネルでも同様にご使用頂けますので、カーネルのポーティングやドライバ開発で威力を発揮します。
■Android NDKで作成したネイティブコードのデバッグに対応!
Android NDKで作成したプログラムにアタッチしてC言語レベルでのデバッグが行えます。
■Bionicライブラリでのスレッドデバッグに対応!
AndroidのBionicライブラリに対応し、スレッド単位での認識、デバッグを実現しています。

対応製品やAndroidバージョン、アーキテクチャ等は、弊社営業までお問い合わせください。


 
  ICE単体 Linuxアプリケーション・
デバッグ・ライブラリを追加
実行制御
メモリやIO、レジスタの参照/変更
変数の参照/変更
スタック・トレース
リアルタイム・トレース
Linuxアプリケーションのデバッグ ×
ローダブル・モジュールのデバッグ ×
マルチプロセス、マルチスレッド対応 ×
シグナル・トラップ・ブレーク ×
プロセス・トレース ×
メモリ・プロファイラ ×
システム情報表示 ×
ファイル転送機能 ×
プロセス対応リアルタイム・トレース ×
プログラム・モニタ ×

 
■対応製品
 
対応製品 : PALMiCE3
PALMiCE2
PALMiCE2H
F-Sight
:CPUによって対応仕様が異なりますので、詳しくは弊社営業までお問い合わせください。
■接続図

 

各種ディストリビューションの対応を行っております。
詳しくは、弊社営業までお問い合わせください。


 

Linuxサポートパッケージ(LSP)はお客様のシステムに依存度が高いLinux開発環境で予想される種々のテクニカルサポートを 行うと共に、安心してスムーズな開発を行って頂く事を目的としたサポート制度です。このLSPは、CSIDEの年間サポート制度とは別に用意させて頂いております。
詳しくは、弊社営業までお問い合わせください。


 
Linuxアプリケーション・デバッガ C-Shark詳しくはこちら
Linux標準デバッガ“gdb”の弱点を解消し、GUIベースで操作性抜群のWindows環境で使用できる高級言語デバッガ「CSIDE C-Shark」と、Linuxターゲット・システム内で動作する独自のCSIDEデーモン“csided”、“_csidedbg”により、組込み Linuxアプリケーションのデバッグ効率の向上を実現したデバッガです。 Linuxアプリケーション・デバッガ C-Shark


このページの先頭へ戻ります。
 連絡先:営業部
 TEL:03-5753-9911
 E-mail:sales@computex.co.jp