2. スクラップ&ビルドは嫌

前回からだいぶ間が開きました。
さて、Microsoftに魂を売り払って得た金でWindowsを買っている私としては、当然はじめの頃はWindows上でARM組み込み開発を始めました。しかし、そこにはいくつか問題がありました。
Windowsで組み込み開発をするばあい、ツールのコストをなるべく抑えようとすると選択肢はそれほどありません。

  • KEILのフリー版
  • GCC

KEILのフリー版は生成コードのサイズを除けばなかなか魅力です。IDEが充実していますし、プロセッサ用のインクルード・ファイルもあります。しかしICEが安くないという問題がありました*1
一方、GCCを使う環境の場合、私がARMにさわり始めた頃はプリンタポート・JTAG ICEの回路図が公開されており、比較的手軽に試してみることができました。USBを使ったJTAG ICEも出始めており、切り替え時期だったと思います。
そこでGCCを使ってみたわけですが、これが難物でした。GCCWindowsで動かそうとすると、Cygwinをインストールしなければなりません。Cygwinの上でGCCを動かすわけです。ところが、不慣れなせいか、なかなか環境が安定しません。いきおい、Cygwinのアンインストールとインストールを繰り返すことになります。
Windowsを使っている人は心あたりがあると思いますが、同じソフトのインストールとアンインストールを繰り返すのは、なんとなくいやーな気分になります。あからさまにシステムが劣化していく気がするんですよね。
結局、これが発端でARMの組み込み開発環境をVMware上に移すことにしました。幸いWindows2000のライセンスが余っていたのでVMware上にWindows2000をインストールし、そこにARMの開発環境を組み立てました。
VMwareはかれこれ10年くらい使っていますが、ホスト環境を汚さずにゲスト環境を使い倒せるのが何よりの特徴です。ゲストが壊れたら、ホスト上に別の仮想PCを作ってインストールするもよし、あらかじめ保存しておいたスナップ・ショットまで巻き戻すもよしということで、実験用としてはこれ以上ない環境です。
現在、VMwareはスナップショットから分岐して複数のヒストリーを保存する機能なども持っており、非常に便利です。また、USB機能もしっかりしていて、USB ICEなども安心して使用することができます。

*1:私が始めた頃の話