スパイス  組み込み制御装置の受注製作

旧世代の組み込みCPU開発


旧世代の組み込みCPU開発

H26年 3月18日
 最近の組み込み装置では多くがワンチップマイコンを使用します。多くはフラッシュメモリを内蔵しており、プログラムの書き込みも安価な専用ツールが数千から数万円前半の金額で購入できます。一部メーカーの製品では書き込み装置に簡易的なデバッグ機能を実装したものもあり、これによりプログラムの修正・変更も簡単にできます。
 しかし20年ほど前には現在のような環境は全くと言って良いほどに無かったのです。当時もワンチップマイコンはありましたが、辛うじてEPROMによるプログラムが出来る程度でした。EPROMですので紫外線で消去するための窓付きと呼ばれるセラミックパッケージ品で無いとプログラムの消去が出来ません。このタイプのパッケージ品は非常に高価で1万円を超えていたと記憶しています。通常のマイコン価格の10〜30倍程度でした。それでも消去回数には限界がありますので、いずれ消去不良で使えなくなります。一部のメーカーからは通常のEPROMを外付けできるピギーバックタイプと呼ばれる特殊なパッケージ品も出されましたがメジャーではなかったように思います。こちらにピギーバックタイプの写真があります。
 大手メーカーは高価なICEデバッガを購入できますのでプログラムの書き換えやICの交換などの面倒な作業を軽減できますが、中小企業が大半の組み込み装置メーカーではセラミックパッケージ品を多数購入して、プログラムしてはICを差し替えることを繰り返してデバッグしていました。この差し替え作業は思いの外非効率で、デバッグ時間を長引かせる要因となっていました。
 このため当時のワンチップマイコンは組み込み装置業界ではある程度までしか普及せず、Z80やi8086といった汎用CPUを使用するメーカーも多かった。こちらは汎用のEPROMを使用するのでEPROMエミュレータというROMの占有アドレス空間をRAMに置き換え通信機能によってプログラムを変更できる装置が使用できます。汎用装置ですので複数のCPUに一つの装置で対応できるのが強みでした。
 このアイデアと同じ発想からEPROMには通信機能とプログラムの制御をRAMに移す(RAM上のプログラムを実行する)機能のみを実装したモニタプログラムが作られました。RS-232Cのような通信ポートからRAM上にプログラムを読み込むことでROMの書き込み作業を無くし、制御をRAMに移すことでデバッグします。このモニタプログラムは各CPU毎に作る必要がありますが、追加の設備が通信ポートのみで良いので広く採用されていました。
 現在でも当時のCPUを使用するなら、当時と同じ手法でデバッグすることになります。つまり、旧世代のCPUを使用することは現在のマイコン開発環境よりも不利な環境で作業することを意味します。正直な所、新規に設計しなおした方が楽なケースも多々見られます。ICEデバッガを入手できるなら、それに越したことは無いのですが完動品を入手するのは難しいでしょう。当時は50〜300万円以上もした高額装置ですがCPU部分との接続部が貧弱なうえ、多くのメーカーが乱立したため取扱説明書や消耗部品を含めて、今現在でも動作環境を維持できる装置は非常に少ないと思います。
 つまり、ワンチップマイコンなら多数の窓付きセラミックパッケージ品を購入する必要があり、汎用CPUならモニタプログラムを作るかROMエミュレータを入手する必要があります。しかし、ICE同様にEPROMエミュレータの入手も難しいと思います。逆に窓付きCPUは幾つかのCPU製品なら今でも比較的入手は容易です。 
 実際にモニタプログラムをゼロから作る手順とOS向けのCコンパイラを組み込みに使用するための移植手順について、関連情報として少しずつ書いていきます。