このページは、ソフトウェア、機器組込みのエンベデット・ソフトウェア(ファームウェア)の開発に関連したコラムのページです。このコラムはメールマガジン「アメニティ&サウンド 音と快適の空間へ」で連載していた技術・開発コラムを再編集したものを掲載しています。
メモリの内容やI/Oポート他、ワンチップマイコンなどでは、多数の周辺I/O機能をワンチップにしているため、これらの状態をモニターすることができます(ワンチップでも、できないデバッガもあります状況証拠から推理小説のように類推してデバッグするしかない場合があります)。
メモリは、シンボリック・デバッガ、ソースレベル・デバッガの場合には、デバッグ情報を利用して、変数名などで参照したり、編集することが可能です。
現在は、ソースレベルのデバッガが大勢となってきましたが、以前は、シンボリック・デバッグ(名前を利用)もサポートされていないのが、専用のワンチップマイコンなどでは珍しくありませんでした。
前回は、CPUがハードウェアとして正常に動作していることの確認も必要というお話でした。
類似した内容ですが、組み込みCPUのソフトウェアを設計実装する場合には、メモリやI/Oなどのハードウェアのテストコードを設計してデバッグ段階で初歩的なハードウェアデバッグをしたり、製品出荷テストに組み込む場合があります。
このような場合でも、ソフトウェアのテストの信頼性を確保だけではなく、メモリやCPUのハードウェア上の性質などの知識が必要な場合があります。
例えば、ICEでのデバッグテストを行なう場合、CPUとは電気的特性が異なるためバスやI/Oなどにコンフリクトが発生してもテストが正常動作してしまう場合があります(バッファ出力が強いなど)。
実際のCPUに換装すると、コンフリクトが問題で、正常に機能しないという違いが生じます。割と原因は想定しやすいタイプの問題ですが、ICEに頼ったプログラムコードのロジカルなデバッグのみを想定している人は、全く理解できない誤動作です。
ソフトウェアだけしか考えないと、ICEで正常動作しているため、プログラムには間違いがないという確認だけに終始し、そもそもの動作しているイメージができません。
DRAMのリフレッシュをソフトウェアで補助する場合なども、ギリギリの実力にすると、特定のハードウェアでは動作しても、他では記憶が消失するなどということも考えられます。ソフトウェアが主な仕事であっても、ハードウェアの基本的な知識と、動作している原理の理解は重要です。
さらに、先のコンフリクトや正常動作の確認には、オシロスコープなどで確認するのが簡単で判りやすいのですが、オシロスコープやデジタルストレージスコープを使ったことがない、使い方を知らないソフトウェア技術者も存在します。
アナログ技術となると大変ですが、デジタルのハードウェアのレベルであれば、それほど敷居は高くありませんので、ソフトウェア技術者でも、最低限のハードウェア理解やオシロスコープなどを利用することができるようにしたい所です。
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)ソフトウェアの開発を行っています。 お客様のお役に立てることがございましたらご用命ください。