[16日目] Mac上に、PSoCの開発環境を構築する


16日目はアプリケーションエンジニアの水引が担当します。

もうすぐクリスマスですね。Cerevoがある秋葉原の街もクリスマス一色….ということもなく、大型家電量販店以外は平常通りの店構えです。ジャンク通りのお店は、店内BGMも平常通り。クリスマスで浮つかない、そんな秋葉原が私は大好きです。

さて、本題に入ります。Cypressがリリースしているプログラマブル SoC “PSoC”をよく使います。いわゆるマイコンの類ですが、PSoC(Programmable System on Chip)の名が示す通り、ペリフェラルを柔軟にカスタマイズできることが大きな特徴です。ペリフェラルとして配置した各種コンポーネントを、内蔵のプロセッサから操作するために自動生成されるAPI(Cライブラリ)の使いやすさと、PSoCのラインナップを跨いでもなお引き継がれるAPIの互換性は、素晴らしい出来栄えです。

しかし、唯一気に入らないのは、PSoCの開発環境であるPSoC CreatorがMac OS X向けにリリースされていないことです。そこで、この記事では、PSoC CreatorおよびPSoCのプログラマ/デバッガであるMiniProg3をMacで使う方法について紹介します。

VirtualBoxにPSoC Creatorをインストールする

早速の出落ちですが、VirtualBoxのゲストOSとしてWindows環境を構築し、PSoC Creatorをインストールします。ひとまずここまでで、コーディングとビルドまでの作業はこなせます。

ゲストOSからPSoCデバッガMiniProg3を使えるようにする

ビルドの後は、PSoCを搭載したターゲット基板にプログラムを書き込み、動作確認をします。PSoCへのプログラムの書き込みやデバッグには、MiniProg3を使います。しかし、仮想環境としてVirtualBoxを使う場合、MiniProg3を使用するために特別な設定が必要です。次節で解説します。

なお、Cypress社のテクニカルノートによれば、Parallels DesktopまたはVMwareについては、開発環境およびデバッガについて、動作確認をしているようです。筆者も、Parallels Desktopを利用してPSoC CreatorおよびMiniProg3を使用可能なことを確認しました。Parallels Desktopを利用する場合は、次節から説明する特別な設定は不要です。

Extension Packをインストールし、USB 2.0を有効にする

VirtualBoxのWebサイトから、Oracle VM VirtualBox Extension Packをインストールして、ゲストOSのWindowsからUSB2.0を使えるようにします。Extension Packをインストールした後、ゲスト OSの「設定」→「ポート」→「USB」タブの中の、”USB2.0(EHCI)コントローラー”を有効にします。

tb20151216_fig1

ちなみに、Extension Packは、VirtualBox Personal Use and Evaluation Licenseのもとで無料で利用可能です。無料で利用可能な範囲は「個人使用」もしくは「評価目的」とされていますが、Licensing FAQによれば、「商用目的で個人が業務利用する」ケースについても、個人使用の範疇に含まれます。

6. What exactly do you mean by personal use and academic use in the Personal Use and Evaluation License?
Personal use is when you install the product on one or more PCs yourself and you make use of it (or even your friend, sister and grandmother). It doesn’t matter whether you just use it for fun or run your multi-million euro business with it. Also, if you install it on your work PC at some large company, this is still personal use. However, if you are an administrator and want to deploy it to the 500 desktops in your company, this would no longer qualify as personal use. Well, you could ask each of your 500 employees to install VirtualBox but don’t you think we deserve some money in this case? We’d even assist you with any issue you might have.

デバイスフィルタを追加する

ゲストOSが、MiniProg3をホストOSよりも優先的につかめるように、デバイスフィルタを設定します。MiniProg3をMacのUSBポートに接続し、VirtualBoxのゲストOSの「設定」→「ポート」→「USB」画面にある、フィルタ新規作成のアイコンをクリックします。

tb20151216_fig2

ここで追加したフィルタの設定を一部変更します。リストに追加された”新規フィルター1″を選択し、フィルタ編集ボタンを押します。

tb20151216_fig3

フィルタの設定ダイアログが出てくるので、

  • 名前: “Cypress MiniProg3”
  • ベンダーID: “04b4”

と入力します。

tb20151216_fig4

ここで、ベンダーID以外の欄は空欄にしておきます。MiniProg3は、OS(Windows)が認識後、PSoC Programmer/PSoC Creatorを起動すると、プロダクトIDが変わるためです。プロダクトIDが変化しても、そのままゲストOSがMiniProg3を掴めるようにベンダIDだけのフィルタにしておきます。

動作確認

これでゲストOS(Windows)にインストールしたPSoC Creatorから、MiniProg3を使う準備が整いました。デバッガがターゲットを認識できることを確認しましょう。

tb20151216_fig5

まとめ

この記事では、VirtualBoxを使って、Mac上にPSoC Creatorの開発環境を構築する方法について説明しました。なお、筆者は Mac OS X El Capitan(10.11.2)にインストールしたVirtual Box 5.0.10で動作を検証しました。また、PSoC Creator 3.3 CP1で動作確認しています。

Windowsの仮想環境さえ用意してしまえば、それほど苦労せずに、Mac上にPSoCの開発環境を準備することができますが、Cypress様、ぜひ、Macネイティブの開発環境のリリースもご検討いただけないでしょうか。

投稿者プロフィール

mizuhiki
mizuhiki