このページは、ソフトウェア、機器組込みのエンベデット・ソフトウェア(ファームウェア)の開発に関連したコラムのページです。このコラムはメールマガジン「アメニティ&サウンド 音と快適の空間へ」で連載していた技術・開発コラムを再編集したものを掲載しています。
ICEなどでは色々な低レベルなデバッグ方法が必要になりますので、この機能がついていることが多いのですが、パソコン用や高レベルデバッガ中心の製品には無い場合があります。
単純に、実行する開始場所を任意のコード場所を指定して実行するだけの機能です。
通常の高級言語などのデバッグでは、スタートアップやライブラリ、スタックなどの状態が維持できないことが多いため(スタックフレームの継続性を仕様上どのように考えられているかという問題ですが……ユーザー責任で感知しないというので良いようにも思います)、うまく利用できないことも多いですし、あまり有効に利用できることがないのですが、組み込み機器を開発している時にはうまく利用すると便利な機能です。
▼ASCII24 アスキーデジタル用語辞典
スタック
http://yougo.ascii24.com/gh/19/001988.html
ライブラリ
http://yougo.ascii24.com/gh/69/006981.html
ステップ実行などで延々と調べていった結果、ある部分まで着たとき、次のコードを実行すると正しくないと判った時など、次のコードをパスして実行させたり、ラインアセンブルの機能で、空いているメモリに即席で不足コードを組んで、割り込んで実行させて利用するなどして個人的には便利な機能です(パソコン用のデバッガも部分書換ができるようになって久しいので、色々とできるのですが、ユーザーレベルのプロテクションの問題に抵触する場合にはUAEで実行できません)。
他にも、あらかじめ通常は機能しない場所にデバッグ補助のためのコードを入れておいて、デバッグ中にスポットで実行することで、効果的にデバッグができる場合があります。
例えば、あるメモリエリアが、不正になる場合がある時、原因を特定するまでの間、デバッガで色々調べるのですが、不正メモリを元に戻しながら、繰り返し継続して調べる場合などでは、不正なメモリを元に戻すためのコードを埋め込んでおいてスポットで実行させます(パターンが動的な場合などです)。
他にも、周辺のI/Oチップなどの制御手続きをスポットで実行する場合などでも便利なことがあります。
地味で簡単な機能ですし、うまく使えない人には、無用の機能ですが、このような地味な機能がデバッグで大活躍するハードウェアのデバッグ作業も中にはあります。
普段、良く利用するというわけではありませんが、デバッグ中に使おうとして機能がなかった時には、あるのがあたり前に思っているタイプだけに失望感が大きい部類の機能です。
そして、あらかじめプロジェクトの開始時に細かく評価しておくべきだったと後悔することになります。
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)ソフトウェアの開発を行っています。 お客様のお役に立てることがございましたらご用命ください。