新人技術者のためのロジカル・シンキング入門(6) ―― ハードウェア基礎の基礎

冴木 元

tag: 組み込み

技術解説 2008年9月25日

【4】回路を使いこなすための具体例(2/2)

● 小さく作って積み上げること

 たいせつなことは,でき合いのサンプル・コードなどを流用する場合も,必要に応じてなるべく「小さな単位」に戻ることができる環境や考えかたを備えておくべき,ということになると思います.図9に挙げたような順番で回路をつなげていかなくても,いきなりアルゴリズムの組み込みに移れるようなサンプル・コードが最初から提供されていれば,それに越したことはありません.しかし,その場合でもケース・バイ・ケースで,それぞれの回路がどのように設定され,どのように使われているかを理解しておく必要があるでしょう.

 一つ一つの回路には,回路が正しく動作しているかを確認するデバッグ用のレジスタが用意されていることがあります.図9の例で「割り込みがCPUまでたどり着かない」などという場合,途中の回路の確認用レジスタを一つ一つチェックすることで割り込み信号がどこで止まっているのかがわかることがあります.

● アセンブラと高級言語を使い分けて

 パソコン用のOSを組み込み環境に移植したものなどは,「すべてはファイル」という設計思想で作られているものが少なくありません.この設計思想は,ファイル・ハンドラを取得して初期化関数を呼ぶという一連の手続きを踏めば,制御する対象がハード・ディスク装置であろうが,ソケットであろうが,プログラマはあまり意識することなく制御処理が書けるという利点があります.

 しかし,この設計思想がかえって見通しを悪くすることもあります.例えば,デバッグのためにOSのライブラリそのもののコードを追ってみたりすると,コール・シーケンスの階層構造があまりに深すぎて見通しが悪く閉口することがあります.そのようなときに,ハードウェアの制御をアセンブラで直接書いてみたら,ひと目で見通せる程度の規模になってしまってあぜんすることも少なくありません.

 ハードウェアを完全にブラックボックス化できない,というのは組み込みの開発環境ではまだしばらく消えない傾向のような気がします(図12)

zu12_01.gif
図12 ハードウェア・デバッグの全体像
ソフトウェア技術者は,大まかにでもハードウェアの信号線の基本を理解する必要がある.全体像を明らかにして一つ一つモジュールを組み上げる.ハードウェア透過性の理想と現実も見分けること.


さえき・はじめ
<筆者プロフィール>
冴木 元.システム・エンジニア.最近,毎週ジョギングしているのだが,たいていルーム・ランナでこなしてしまうのが,難点か....距離が長くなると車輪をまわすネズミのような気分になってくる.秋になったら久しぶりに遠出してみるか,と思うきょうこのごろ.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日