このページは、ソフトウェア、機器組込みのエンベデット・ソフトウェア(ファームウェア)の開発に関連したコラムのページです。このコラムはメールマガジン「アメニティ&サウンド 音と快適の空間へ」で連載していた技術・開発コラムを再編集したものを掲載しています。
ソフトウェアのデバッグには、デバッガ(Debugger)と総称されるデバッグ用のソフトウェア・ツールを用います。
デバッガは、モニター、エミュレータ−、トレーサーなどの機能の組み合わせやタイプによって形態や機能は異なりますが、おおよそ、次のような機能を持っています。
他にも多数のデバッグのための機能が提供されている場合がありますが、一般的な機能としてはこのような所ではないでしょうか。
▼@IT (アットマークIT) Insider's Computer Dictionary
デバッグ (debug)
http://www.atmarkit.co.jp/icd/root/11/5787411.html
ブレークポイント (breakpoint)
http://www.atmarkit.co.jp/icd/root/08/5787408.html
プロセッサの内部レジスタ、フラグなどの状態、実行アドレスなど、停止状態のCPUの状態をモニター表示する機能です。(動作中もリアルタイム表示する機能のものもあります。レジスタなどはほとんど役に立ちませんが、特定の状態フラグなどではリアルタイム表示も役に立つ場合もあります)
▼@IT (アットマークIT) Insider's Computer Dictionary
レジスタ (register)
http://www.atmarkit.co.jp/icd/root/08/5785808.html
以前、レジスタを複数のセットを持ち切り替えながら動作するCPUでレジスタが主となる以外のバンクに切り替わっている状態で停止すると表示内容が正しくなく、その状態のまま操作すると誤動作するデバッガを使ったことがあります。
このようなデバッグ環境は結構きついですね (^^;。
レジスタの内容やフラグなどを確認することができるのが内部モニターの機能ですが、これは、あくまで、エミュレータ−やデバッグ機能と、デバッガの機能で動作しているもので、本当の状態を正しく確認できるとは限らないということも、また、頭の片隅に置いておく必要があります。
パソコンのソフトウェアのデバッグなどでは、ほとんど考えられませんが、ファームウェアなど、ハードウェアから開発している機器でのデバッグでは、CPUが正常動作しているとは限らないところから開発がスタートします。
まず、ICEを接続する時点で、ターゲットのハードウェアにグランドや電源など破壊に繋がるような欠陥がないことを確認する必要があります。JTAGのコネクタが必ずしも、CPUに正しく接続されているとも限りません(ハードウェアを信頼することも大切ですが、疑うことが必要です)。
ワンチップ・マイコンを使用した経験などで見かけたミスに、テストピンや、動作決定するためのモード・ピンなどのピンがNC(未接続)になっていたり、接続が違うというものがあります。NCの場合、ピンの電荷によって動作が不安定になるだけで偶然正常動作する場合もあります。
このような状態は、デバッガのモニターや機能を利用して確認しても全く手足が出ません。
チップのデータブックと基盤の回路図などを確認するのは、ハードウェア担当者が行なっているとは限りませんし、ミスも発生することがありますから、データブック(特にピン配置図)とターゲットの回路図を確認して、CPUが正しく動作することを初期段階や基盤発注時点で確認すると不要な苦労を少なくできます。
多層、表面実装の基盤では、簡単に半田ごてで修正するということが難しい場合が多いので回路図でのNCピンなどの簡単なミスは押えておくようにすると良いと思います。
また、ソフトウェアが担当であっても、ハードウェアの動作などに対する知識や理解が深まります。
ARIはハードウェア設計、製造、ファームウェア開発、 Windowsアプリケーションの開発をしています。 実績等に興味をお持ちいただけましたら、会社情報に主な開発実績を 「音響と開発」のコーナーには事例など関連情報を掲載していますのでご覧ください。
ソフトウェア開発と開発ツール関連の雑記
機器組込みのエンベデット・ソフトウェア(ファームウェア)の開発に関連したコラムです。 メールマガジン「アメニティ&サウンド 音と快適の空間へ」に連載していた技術・開発コラムを編集掲載しています。
ソフト、ハードウェア 技術関連の雑記
このコラムは無料メールマガジン「アメニティ&サウンド 音と快適の空間へ」 vol.36〜vol.64(2003年8/21〜2004年11/18)に 音響と開発の関連コラムとして連載していたものを編集掲載したものです。
技術・開発の閑話-2- vol.11〜20F1とコンピュータ技術 / ソフトウェアの標準と部品化
( 戦術と戦略の誤解 / アジャイル開発 / リファクタリング / 遺産と再生産 / 標準と生産管理 ほか)
|
技術・開発の閑話-2- vol.01〜10「ありえない」フェイルセーフと安全機能の連鎖 / HDD容量の差(天使の分け前) / リアルタイムとベストエフォート / エラーとコスト(ブルースクリーン/XP) / NDAと情報公開 / 専門ドメインの基礎範囲 / NHK技研公開(超高精細映像システム) |
エーアールアイはPCアプリケーション、デジタル機器の組込み(CPU)、信号処理(DSP)ソフトウェアの開発を行っています。 お客様のお役に立てることがございましたらご用命ください。