次のページ 前のページ 目次へ

6. 道具

6.1 母艦 PC

クロスコンパイル開発環境を構築します. ここでカーネルのコンパイルを行ないます.

また,nfsroot で起動する際のファイルサーバとしても使います.

6.2 テスタ

電圧や電流を測定する,あのテスタ,です.

テスタにはアナログとディジタルの 2 種類がありますが,私としてはディジ タルテスタをお勧めします. というのは,アナログテスタの場合,電圧測定モードでの入力インピーダンス が比較的低い(数十kΩ程度)なので,測定対象のインピーダンスが高い場合, 正確な電圧を測ることができません.

一方,ディジタルテスタの場合,電圧測定モードでの入力インピーダンスは10 MΩと,とても高いので,アナログテスタの時のように測定対象のインピーダ ンスをあまり気にせず測定することができます. また,極性も気にする必要がありません. プラスとマイナスの端子を逆に当たっても表示がマイナスとなるだけで,テス タが壊れることはありません.

6.3 ROM ライタ・EPROM イレーサ

ボードによっては ROM ライタも必要になってくるでしょう. EPROM を使う場合,EPROM のイレーサも必要です.

6.4 オシロスコープ

いわゆるストレージオシロがよいでしょう. アナログ,というか,トラッドなオシロだと単発の信号を見るのが難しいので.

帯域は 100MHz あれば十分です. そもそも普通のプロープで当たる限りは,それ以上の周波数の信号はマトモに測定できません.

6.5 ロジックアナライザ

もあった方がいいでしょう. 私の場合,ちらりとしか使ったことはないのですが,その時の感じでは「小規模な数の信号数で,トリガ条件が単純ならば,ストレージオシロのほうが小回りが効く」というところでした.

まぁ,ストレージオシロとロジアナでは性格の異なる測定器なのですが. (半)アナログ回路設計者の私の感想では,「ストレージオシロを揃えて,余裕があったら」といったところでしょうか.

6.6 JTAG

JTAG とは,簡単に説明すると,

といった感じの規格・フレームワークで,最近の大抵の CPU ユニットには装備されています.

問題点としては

というところでしょうか.

が,可能性自体は大きいものなので,ターゲット CPU をサポートしている JTAG ツールについては,調査をしてみると良いと思います. サポートしている機能によっては,生産時の手順などの関係でボードの構成を簡素化できる可能性があります.

6.7 セルフコンパイル環境

ここでいう「セルフコンパイル」とは,CPU アーキテクチャに対してセルフ,という意味です. これがあるかないかで,開発の手間は大きく変わります.

一般に,組み込みでのターゲットボードでは,メモリが潤沢にある,というのは稀です. また,ハードディスクを接続できるボードも稀でしょう. というわけで,このようなリソースを潤沢に持つ他のマシンで,ターゲットボード用のプログラムを開発するのが普通でしょう.

Linux 上のソースプログラムには,クロスコンパイルが考慮されていないものが多々あります. 例えば,コンパイル時に「ヘッダファイルを生成するためのプログラム」を生成するものもありますが,ここでホスト用のコンパイラとターゲット用のコンパイラを区別していないと,コンパイルは通りません. まぁ,このようなところを,ちくちく修正しながらコンパイルできるようにするという方法も不可能ではないはずです.

が,ターゲットボードと同一アーキテクチャの開発用マシンがあれば,このような移植は不要となります. まぁ,最近の x86 と比べてコンパイル速度は遅いとは思いますが,移植する手間まで含めると,こちらのほうが手っ取り早いことが多いと思います.

で,ここで問題なのは「そのアーキテクチャで,プログラム開発に耐え得るボードが存在するか」ということです. 一般的な評価ボードでは,このような用途に十分耐え得るものはあまり存在しないと思います.

ここで注目すべきは,低価格の NAS です. ARM, MIPS, PowerPC, SH など,一通りのアーキテクチャは揃っています. NAS として動作させるため,CPU クロックやメモリなどは比較的リッチな構成となっています. web で検索すれば,debian などのディストリビューションをインストールする改造手順も見つかるでしょう. 下手したら評価ボードの 1/10 の価格でセルフコンパイル環境が揃えられるか もしれません :) また,価格が安いので,台数を揃えて distcc で分散コンパイル,という方法も可能のようです.


次のページ 前のページ 目次へ