「組み込み」ならではの基礎知識 ――スタートアップ・ルーチンからハードウェアまで

セサミアン3人組

tag: 組み込み

技術解説 2003年5月14日

 ところが,組み込みシステムの場合はそうはいきません.つまり,魔法のようなccコマンドはないのです.すでに実機でプログラムを動かした経験があって,「普通にコンパイルしてプログラムが動いたよ」という方もおられるかもしれません.でもよく思い出してください.先輩から「コンパイル環境」をもらって,コンパイル対象のファイル名を書き換えただけではないですか?そのコンパイル環境に,ccコマンドのような秘密が隠されているのです.その秘密を理解しないことには,いつまでたっても一人前の技術者にはなれません.

 また,さらに経験を積むうちに,「プログラムの動作がおかしいのだが,実行するたびに動作が異なっているため,どうしてよいかわからない」とか,「ソース・レベルのデバッグができない」といった場面に出くわすことでしょう.こうしたときのために,プログラムのランタイム構造を理解しておくことはきわめて重要です.

 また,WindowsやLinux/UNIX上でプログラミングする場合は,標準入出力を使ってデータを取り込んだり,デバッグ・ライトと呼ぶデバッグのための情報を出力したりできます.ところが,組み込みシステムの実機環境では,この「簡単なこと」がたいへん難しいのです.また,実機ではファイル・システムを搭載していないことがほとんどです.標準入出力やファイルといったデータの入出力を使わずに,いったいどうしているのでしょうか?

 組み込み機器は,例えば「ユーザがボタンを押した」といったON/OFFの情報や,光や音などのアナログ的な情報を取り込みながら動作しています.それらのデータは通常マイコンの周辺機能を使って取り込まれ,プログラムはシリアル・インターフェースやポート,あるいは割り込み信号を介してデータを受け取ります.このようなデータの取り込みは,ある程度ハードウェアの知識を持っていると,ぐっと理解しやすくなります.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! 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日