商用版のコンパイラがある一方で、フリーのコンパイラもあります。SDCC はその代表的なもので、8051 に限らず最近では PIC などにも利用されています。当然、EZ-USB シリーズのコントローラは 8051 なので開発には SDCC が利用できます。ただ、Cypressから提供されている USB 実現のためのフレームワークはそれなりに大きいので、ポートするのが大変でした。また、各個人がやる場合は「車輪の再発明」に陥りがちです。
FX2の開発をWEBで公開されている fenrir 氏がサンプルコードを公開してくれたおかげで自由に使えるようになりました。また、その掲示板でのやりとりは開発の際のトラブル解消方法を共有することが出来ました。
この手のプログラムは一度動作してしまえば、あとは少しずつ改造・拡張が出来ますが動かすまでが本当に大変です。本稿ではその動かすまでの時間を極力短縮して、あまった時間を本来の開発に使いたいと考えています。