CY8CKIT-049はサイプレスセミコンダクターのPSoCマイコンを搭載した開発キットで、秋月電子では600円ほどで販売されています。開発キットとはいうものの、実際はUARTブートローダーを搭載したPSoC4とシリアルUSB変換アダプターが一体化したような構造で、プログラミングを行うにはやや癖があります。そこでCY8CKIT-049の簡単な使い方をまとめてみました。

  1. 開発環境を導入する
    サイプレス社のサイトにある製品情報ページにある「Download CY8CKIT-049-42xx Kit Setup」より開発環境一式をダウンロードしてインストールします。組み込み機器向けのソフトウェアとしては珍しくWindows専用となっており、必要に応じて.NET Framework 3.5とVisual C++ランタイム(2008/2013)を個別に導入します。

  2. ブートローダープログラムを用意する
    先述の通り、PSoC4開発キットに付属しているのはUARTアダプターであり、プログラムライターではないので、ブートローダーも用意しなくてはいけません。サイプレスのサイトでは「UARTブートローダープログラム」が配布されているので、このページより「AN68272.zip」を入手し、このアーカイブに含まれている「UART_Bootloader.elf」と「UART_Bootloader.hex」ファイルを任意の場所に保管します。メインプログラムが動作すればブートローダーは役割を終えるため、Debugフォルダーにあるファイルでも特に支障はないでしょう。

  3. サンプルプログラムを作る
    手始めに「Hello World!」プログラムを作ってみます。PSoC Creatorを起動したら、「File→New→Project」を選択し、「Target Kit」の「CY8CKIT-049-42xx」を選びます。
    「Empty schematic」で空のプロジェクトを作成します。
    まずはブートローダーコンポーネントを配置しましょう。ウィンドウ右側のカタログより「Bootloadable」を探し出して、それを.syschウィンドウにドロップします。
    配置したコンポーネントをダブルクリックしてプロパティウィンドウを開きます。ここの「Dependicies」タブでAN68272より取得したhexファイルとelfファイルをそれぞれ指定します。
    続いてUARTコンポーネントを配置します。いくつか候補がありますが、PSoC4ではUART専用の回路が使用されるため、デジタルリソースを消費しない「SCB mode」を選ぶのが望ましいです。
    コンポーネントを配置したら「Build→Generate Application」で、APIを含むソースコード一式を生成し、「main.c」ファイルを編集します。ここではプログラムの起動時に1度だけメッセージを送信するようにしています。
  4. プログラムを書き込む
    ビルドに成功するとブートローダープログラムが含まれた「psoc4_hello.cyacd」ファイルが生成されるので、これをPSoCに書き込みます。PSoC Creatorメニューの「Tools→Bootloader Host」より、書き込みツールを起動します。
    ツールを起動したら、Fileに生成されたcyacdファイルを指定し、Portsから対象のUARTアダプターを選び、Baudを「115200」に変更します。

    開発キットの隅にあるボタンを押しながらUSBの電源を入れるとブートローダーモードになり、青いLEDが点滅します。
    この状態でブートローダーツールの「Program」ボタンを押すとプログラムが書き込まれ、シリアルモニターに結果が表示されます。
    ちなみに、写真のように市販のUSB-シリアル変換アダプターを使っても書き込めます。
    なお、このキットにデバッガもないので、開発環境からデバッグを実行したいのであれば、PSoC専用のプログラムライターか、CY8CKIT-059(SWDIO/SWDCLK端子と繋げればデバッガとして機能する)が必要となります。