PSoCをMacやLinuxで書き込む(Bootloaderを使って)

CPLD with マイコンなチップ、PSoC(programmable system on a chip)です。IDE は今の所 Windows でしか使えないようですが、書き込みは Mac 上でできました。ただしこの記事では SWD ではなく、シリアルで書き込めるようにするロジック部分、Bootloader が予め導入されていることが条件です。

以前の記事にも軽く PSoC について書きましたが、今回は 書き込みのみの話です。動作を検証できたのは秋月で買った以下のボード。

電子部品,通販,販売,半導体,IC,マイコン,電子工作PSoC 4200 Prototyping Kit秋月電子通商 電子部品の通販・販売

書き込みソフトの導入

あのソフトウェアの設計図共有サイトギフハブに repo がありましたので、こちらを使わせていただきましょう。

cypress_linux_tools - Tools to build and flash cypress PSoC Creator projects under Linux
$ git clone https://github.com/clementleger/cypress_linux_tools

中には2つほどソフトウェアが入っていると思いますが、そのうち cyhostboot のみをつかいます。どうやら Bootloader Host の代替となるものらしいです。ディレクトリに入って make … しようとしても怒られるので修正します。と言っても1箇所。
14行目のリンカオプションでそのままだとエラーとなってしまいます。とりあえずコメントアウト。これで動いているからいいっしょ。

# LFLAGS := -lrt

そうしたら単純に make するだけです。

さあ書き込もう

まず PSoC をケツのボタンを押しながら PC に挿入します。そしたらあとはコマンドを叩く。例えばこんな感じです。

$ cyhostboot  -f ./LedBlinkToggle/Design01.cydsn/CortexM0/ARM_GCC_541/Debug/Design01.cyacd -s /dev/cu.usbmodem14241

どうやらデバイスファイルの指定は /dev/tty.*** ではだめで、/dev/cu.*** でなきゃ動かなかったです。そこだけにご注意ください。