続きを書きました。
OpenOCDの導入編です。
で、この「OpenOCD」とはなんぞや?ということですが、一言で言えばオンチップ・エミュレータのオープンな実装です。
GNUデバッガ(GDB)と組み合わせて使用されます。
これらのソフトウェアと、あとは簡単なハードウェアがあれば、それがたとえ開発しているパソコンの外に繋がっている別のターゲットで動いているソフトウェアであっても、ブレークポイントを仕掛けたり、そのときの変数の値を参照したりすることができます。
まるで、VisualStudioでパソコンのアプリケーションを開発するときみたいに。
パソコン上で、同じパソコンで動くソフトウェアを開発することを「セルフ開発」とか言います。
このセルフ開発の場合は、比較的早い時期からデバッグ環境は整っていましたし、別途ハードウェアも必要ないことから、無償か安価で広く使われてきました。
一方、パソコン上で、別のターゲットで動くソフトウェアを開発することを「クロス開発」と呼びますが、この場合には、デバッグのために大掛かりなハードウェアと専用のソフトウェアが必要となり、お値段もそれなりに掛かりました。
かつては多くのメーカーが使用するCPUごとに様々な製品を発売し、市場を賑わせていたものです。
その状況を一変させてしまった要因の一つが、この「OpenOCD」です。
これと簡単で安価なハードウェアを組み合わせることにより、市販のオンチップ・エミュレータと同等のデバッグ環境を構築することが可能となったのです。
安価なハードウェアとは、例えば、私も愛用しているブルガリアの企業Olimexのデバッガです。
8000円以下で買えちゃいます。
これと組み合わせて使うソフトウェアが「OpenOCD」です。
そんな便利なソフトウェアである「OpenOCD」はタダで使えます。
それをやられちゃあ、オンチップ・エミュレータを作っていたメーカーはタマッたモンじゃない!
…というわけで、近年これらのメーカーは物凄い勢いで撤退していきました。
今残っているのは、コンピューテックスさんや、京都マイクロコンピュータさんくらいじゃないかな?
ただし、これら有償のオンチップ・エミュレータは近年著しく高性能化しています。
生き残りのために「OpenOCD」にはできない機能をバンバン入れて、付加価値を高めています。
両方のメーカーの製品を使ったことがありますが、お値段に見合う信頼性と機能性は十分持ち合わせています。
ただ、個人が趣味で使うには高価過ぎるというだけです。
そんな偉大な「OpenOCD」なんですが、Cygwinにはパッケージが存在しないので、ソースコードからビルドしなければなりません。
面倒くさいですがお付き合いを。
それにしても、オープンソースが既存の市場を壊滅させてしまう世の中とは。
くわばらくわばら。
0 件のコメント:
コメントを投稿