米)Cypress(サイプレス)は、2020年4月、独)Infineon(インフィニオン)に買収され子会社になりました。買収の影響かは不明ですが、お気に入りCypress IDEのPSoC Creatorが、ModusToolboxへ移行しつつあります。ModusToolbox v2.3.0.4276(以下ModusToolbox)の特徴、PSoC Creatorからどう変わったのかを示します。
Windows/Mac/LinuxマルチOS、GitHub
PSoC Creator(以下Creator)は、Windowsのみで動作するCypress独自IDEです。ModusToolboxは、Eclipse IDEをベースとし、Windows/Mac/LinuxマルチOS対応となりました。また、最新サンプルコードやライブラリは、GitHub経由でオンライン提供へと変わりました。
ModusToolbox対応PSoC 4/6デバイス
ModusToolbox対応中のPSoC 4/6評価ボードとデバイスを抜粋したのが下図です(全評価ボードとデバイスは、リリースノートを参照してください)。
弊社PSoC 4000S/4100S/4100PSテンプレートで使ったCY8CKIT-145-40XX、PSoC 6 FreeRTOSテンプレートで使用予定のCY8CPROTO-063-BLEともに、ModusToolbox v2.3で開発できます(PSoC 6 FreeRTOSテンプレートは、前稿参照)。前バージョン2.2から新たにPSoC 4が追加されました。
AN228571:「ModusToolboxソフトウェアを使用するPSoC 6 MCU入門」は、全てのPSoC 6アプリケーション開発に、ModusToolbox利用を推薦しています。また、PSoC 4も追加されたことを考えると、ModusToolbox は、PSoC Creatorの後継IDEの可能性大です。
Creator回路図はDevice Configuratorへ
Creatorの特徴は、ソフトウェア開発の最初に、回路図:TopDesign.cyschへPSoCコンポーネントを配置、必要ならコンポーネント間配線を行うことです。ソフトウェア出発点が、多少ハードウェア開発者向きです。
ModusToolboxはこの回路図配置が、GUIで使用リソースの設定を行うDevice Configuratorへ変わりました。他社Eclipse IDEベースのIDE(例えば、NXP:MCUXpresso IDEやSTマイクロ:STM32CubeIDE)でも同様の周辺回路設定があります。
つまり、見た目も操作性も、Eclipse IDEベースの他社IDEと殆ど同じになりました。
PSoCコンポーネントに重きを置いたCreatorプログラミングよりも、Eclipse IDEに慣れた開発者の親しみ易さ、GitHub経由のサンプルコード等の最新版配布による利便性を重視し、よりソフトウェア開発者向きにしたIDEがModusToolboxです。
ModusToolboxソフトウェア構成
ModusToolboxソフトウェア構成を見ると、GitHub経由の提供部分が解ります。
下層の各種ドライバ、HAL、BSPsから、ミドルウェアのBluetooth、Mbed OSやFreeRTOS等のライブラリ、これらのサンプルコードも全てGitHubから最新版が取得可能です。
IDE基本部分と、開発ニーズや時節に応じて変化する部分を分け、変化部分はGitHubから最新情報を提供する構成は、優れていると思います。
まとめ
Infineon/Cypressの最新IDE ModusToolboxの特徴を説明しました。Eclipse IDEベースのWindows/Mac/LinuxマルチOS対応で、GitHub経由で最新ドライバやサンプルコードが利用可能です。
PSoC 6アプリケーション開発は、PSoC CreatorからModusToolbox利用を推薦し、最新版ModusToolbox v2.3.0.4276へPSoC 4も追加されたことから、Creator後継のIDEになりそうです。
※ModusToolbox v2.3.1.4663(2021-05-06)はパッチファイルで、v2.3.0.4276の事前インストールが必要です。
なお、PSoC 4/6開発にCreatorも引続き使えます。しかし、今のところ既存CreatorプロジェクトからModusToolboxプロジェクトへの移行ツールは見当たりませんので、新規PSoC 4/6開発は、ModusToolboxで行う方が良いと思います。
ModusToolbox概要は、コチラの英語動画でご覧いただけます。また、丸文株式会社さんの開発ツールページに、インストール方法やサンプルコード使用手順などが分かり易く説明されています。