http://www.computex.co.jp    
 

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

 

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

プロセス・ブレーク機能
プロセス監視機能
スレッド・デバッグ機能
シグナル・トラップ・ブレーク機能
共有ライブラリ・デバッグ
プロセス対応リアルタイム・トレース
プロセス遷移表示機能
メモリ・プロファイル機能
ファイル転送機能
 
プロセス・ブレーク機能
ブレークポイントはプロセスIDを認識していますので、特定のプロセスでブレークさせることができます。例えば複数のプロセスからコールされるドライバは現在デバッグの対象となっているプロセスから呼び出されたときだけブレークさせることができます。また、デバッグ対象のアプリケーションをスリープさせることによって、そのアプリケーションだけを停止させることができます。 プロセス・ブレーク機能

 
プロセス監視機能
プロセスの起動、終了を監視し、アプリケーションの起動時にはmain関数からのデバッグを可能にします。通常Linuxではアプリケーションはカーネルがメモリに展開、実行するため、main関数からデバッグするのが困難でした。また、プロセスの終了時にはメッセージでプロセスが終了したことを知らせます。 プロセス監視機能

 
スレッド・デバッグ機能
スレッドもまたプロセスと同様に切り替えてデバッグすることができます。複数のスレッドから呼び出される共通関数へのブレークポイントもスレッド認識により、特定のスレッドで停止させることが可能です。 スレッド・デバッグ機能

 
シグナル・トラップ・ブレーク機能
セグメンテーションフォルトなど致命的なシグナルが発生するとアプリケーションは終了して、そのプロセスは消滅するため、再現性が低い不具合の場合にはデバッグ追跡するのが困難です。 シグナル・トラップ・ブレーク機能は、致命的なシグナルが発生したときにアプリケーションをブレークさせ、問題点がどこにあったかを追跡するのに役立ちます。 シグナル・トラップ・ブレーク機能

 
共有ライブラリ・デバッグ
共有ライブラリはアプリケーションと異なるアドレスに動的にマップされるため、アプリケーションとは違ったアドレス解決が必要になります。この問題をクリアし共有ライブラリの変数参照やプロセスIDを認識したブレークの設定を可能にします。  

 
プロセス対応リアルタイム・トレース *1
ETMやPCトレースなど、オンチップデバッグ機能を使用したリアルタイム・トレースで、プロセスを識別し、逆アセンブルを正確に表示します。すでにプロセスが消滅している場合でも、独自の手法により正しく表示することができます。 プロセス対応リアルタイム・トレース

 
プロセス遷移表示機能
プロセスの遷移状態をグラフィカルに表示します。この表示によりプロセスの切り替わりやシステムコール、イベントの発生などが把握できます。また、表示を切り替えることによってプロセスごとのCPU占有率をグラフで表示することもできます。データの収集にはLTT(Linux Trace Toolkit)を使用していますので高精度な測定を行うことができます。 プロセス遷移表示機能

 
メモリ・プロファイル機能
メモリの確保、開放関数(malloc,realloc,freeなど)を監視し、メモリの確保と開放がどのように行われているかをグラフで表示します。アプリケーションが最終的にメモリの開放漏れをしていないかを検出する機能がありますので、たとえば開放漏れが原因で時間がたてば不安定になるような不具合の検出に役立ちます。 メモリ・プロファイル機能

 
ファイル転送機能
JTAG経由でターゲット側のファイルアクセスが可能です。LANが実装されていないターゲットにファイルを転送する場合に役立ちます。ファイルの削除やディレクトリの作成も可能です。 ファイル転送機能

 

  *1:CPUによって仕様が異なります。


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


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

■エミュレーション・ユニット *2

・10MB/Sの高速ダウンロードが可能
・大容量最大64MBのエミュレーションメモリ
・120P専用コネクタで接続

エミュレーション・ユニット

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

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

高速ダウンロード・プローブ

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

  *2:PALMiCE2の一部とPALMiCE2Hで対応しています。
  *3:PALMiCE2 ARMとPALMiCE2H ARMで対応しています。


 

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単位実行グラフ


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

 

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


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

 

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


 
〜 Linuxアプリケーション・デバッガ 〜
ハードウェアに依存しないアプリケーション開発や、ちょっとしたロジックのデバッグにはx86版のアプリケーションデバッガが最適です。x86版アプリケーションデバッガはLANで接続されたLinuxパソコンをターゲットに、x86版gccで作られたアプリケーションをデバッグするツールです。x86の環境でデバッグしたソースファイルをそのままクロス環境に持っていけばターゲット上で動作させることが可能です。

 

x86版アプリケーションデバッガは次のような開発ケースにお勧めします。
・ターゲットやICEの台数を開発者の数だけそろえることができない場合
・ターゲットの開発が遅れていてソフトを先行開発する場合
・ターゲットと共通のウィンドウシステムを使用したアプリケーションの開発
・ターゲットのセットアップが面倒でちょっとしたデバッグを行いたい場合

■特 長
・使い慣れたWindows環境でLinuxアプリケーションをデバッグ可能
・Linuxプロセスのデバッグを標準で装備
・親プロセスから生成された子プロセスもデバッグ可能

■動作環境
対応ホスト : LAN(TCP/IP)とUSB(USB 2.0/1.1)を備えた、IBM PC/AT互換機(DOS/V機)
ホストI/F : TCP/IPでターゲット・システムと接続
対応OS : 日本語Windows 98SE/Me/2000/XP
■接続図


■対応ディストリビューション
・モンタビスタソフトウエアジャパン株式会社
 (MontaVista Software, Inc.)
Red Hat Linux 9上で動作する
User Mode Linux (MontaVista Linux Pro 3.1 x586 版)

  MontaVista Linux Pro 3.1 x86 (Pentium4 版)

 
 連絡先:営業部
 TEL:(03)3253-2901
 E-mail:sales@computex.co.jp