PY32マイコン(PUYA)のコードジェネレータPY32Studioを使ってファームウェアを開発する流れを追います.
概要
PY32StudioはPUYAマイコンのコードジェネレータです.GUIでマイコンのピンやクロックを設定すると,コンフィグレーションファイルを含む,開発プロジェクト一式(Embedded IDE用)が生成されます.
STマイクロのCubeMXのような開発ソフトウェアです.
ハードウェア
本稿では,PY32E407-START-ETH V1.2 というボードで進めます.

アプリケーション
サンプルアプリケーションとして提供されている PC-UART を使います.
環境構築
PY32 StudioのDownload
公式サイトからPY32Studio をダウンロードする
https://www.puyasemi.com/en/gongjuyuruanjian.html?keywords=py32studio
Install
解凍して次のファイルを実行する
py32studio-1.0.0.exe
インストール領域は300MBほど.
Launch
起動する.
言語を聞かれるので,中国語か英語を選択する
新しいバージョンがあると案内されるので,ボタンをクリックしてアップデートする(まぁまぁ時間がかかる)
[Go to Register]をクリックして登録する
ポップアップ画面に表示される必要事項を入力する
サンプルを動かす
サンプルダウンロード
PY32Studioを起動する.起動時に常に最大化される設定になっているが,嫌な人は設定のチェックボックスを外す.
[File]-[Options]-[Maximize on Startup]
左側の Chip Example をクリックします.そして所望のマイコンを選択します.
そのマイコン向けのサンプルプロジェクトがリストアップされるので,今回は SCI_HyperTerminal_IT の Download ボタンをクリックしてファイル群をダウンロードします.
EIDE用のプロジェクトを生成
ダウンロードされたファイルを解凍します.
Project.pysprj をクリックすると,新たにPY32Studioが起動します.
マイコン用のピンやクロック,ペリフェラルの設定をGUIで行なえます.
クロックの設定はGUIでできるっぽい

サンプルプロジェクトでは,ピンやクロックといったマイコンの設定は,既に行われています.
Embedded IDE用のプロジェクトを生成する前に,生成対象の設定を変更します.Project Manager をクリックします.
Develop Platform の設定を EIDE に変えます(デフォルトはMDKになっている).
その後,Pinout & Configuration タブをクリックして,ピン設定の画面に戻ります.
そして, Generate Project をクリックします.
PY32 Studio で Generate したプロジェクトを VS Code で開く
ポップアップしたウィンドウのOpen Project をクリックします.
このとき,ローカルファイルには,次の通りプロジェクトが生成されています.
VS Codeが起動します(事前にVS CodeにPUYAマイコン開発の設定(2)をしておく).
VS Codeが起動しない場合は,一度PY32Studioを閉じてから再度起動させ,今一度 Generate Project -> Open Project を試してください.
もしくは,VS Codeプロジェクト(EIDE)の実体が次の場所にあるので,ダブルクリックして起動します.
VS Code内で,EIDEを起動します.
PY32E407STARTボードをUSBケーブルでPCに接続します(PY-LINK OB V2.1側にある,USB Type-Cポート).
Build でビルドし, Flash でボードに書き込みます.
ローカルでTera Termを起動し,COMポートに接続します.
115200,8N1に設定します.
PY32E407STARTボード上で次の通りジャンパ接続します.
| ボード本体 | PY-LINK |
|---|---|
| PA9(A9) | RX |
| PA10(A10) | TX |
PY32E407STARTボードのNRSTタクトスイッチを押すと,Tera Termにメッセージが表示されます.
Tera Termに12文字入力すると,エコーバックされます.
おわり
参考文献
(1)PY32Studioダウンロード
https://www.puyasemi.com/en/gongjuyuruanjian.html?keywords=studio
(2)PUYAマイコンの開発環境構築
https://qiita.com/Lathe/items/5b3f23f94cbcc8726d4d
(3)PY32E407_Firmware(サンプルコード)
https://github.com/OpenPuya/PY32E407_Firmware













