こちらの記事について、内容・翻訳・視点・長さなど、皆様のご意見をお送りください。今後の記事製作の参考にしたいと思います。
Thank you! Your feedback has been received.
There was a problem submitting your feedback, please try again later.
こちらの記事の感想をお聞かせください。
CY8CPROTO-063-BLEとModusToolboxプラットフォーム
サイプレスセミコンダクター社製CY8CPROTO-063-BLE (181-2207) は、統合されたUSBプログラミング、デバッグ、およびブリッジング機能を備えた、PSoC 6開発用の低コストソリューションです。BSP、ライブラリ、ミドルウェアをサポートし、EclipseベースのIDEでも、コマンドラインツールを介しても使用することができるModusToolboxとともに、強力なプラットフォームを提供します。
CYBLE-416045-02 EZ-BLE Creator
このボードは、CYBLE-416045-02 EZ-BLEモジュールをベースに、次のような特徴を備えています。
- 150-MHz Arm®Cortex®-シングルサイクル乗算を備えたM4F CPU(浮動小数点ユニット(FPU)およびメモリ保護ユニット(MPU))
- 100 MHz Cortex-M0 + CPU、シングルサイクル乗算およびMPU
- 32KBのEEPROM領域と32KBのセキュアフラッシュを備えた1MBアプリケーションフラッシュ
- 選択可能な記憶粒度を備えた288KBのSRAM
- プログラム可能なドライブモード、強度、およびスルーレートを備えた最大36のGPIOピン(およびCapSense、アナログ/デジタルピンのいずれか)
- Bluetooth 5.0認証のシングルモードモジュール
- I2Sインターフェース: 最大192キロサンプル(ksps)のワードクロック
- ステレオデジタルマイク用の2つのパルス密度変調(PDM)チャネル
- ADC、DAC、オペアンプx2、コンパレータx2を備えたプログラム可能なアナログピン
- プログラム可能な、8つのマクロセルと、8ビットのデータパスを備えた12個の論理ブロックブロック。ドラッグアンドドロップでプログラム可能なプリミティブ(ゲート、レジスタ)として、またはVerilogでプログラムできるブロックとして使用可能。UART、SPI、S / PDIFおよびその他のプロトコルをサポート
- ROMベースの安全なルートと暗号化アクセラレータ
このキットは、スクリーニング済みの便利なcastellatedモジュールで提供され、-40C〜 + 85Cの工業用温度範囲に対応し、1.71V〜3.6Vという低電圧で動作します。詳細については、Cypress文書を参照してください。
開発キット
キットには、分離可能なUSBプログラマーが付属しています。
パッケージの裏側には、プログラマーとPSoc6ボードのピンアサインが記載されたクイックスタートガイドがあります。
PSoC 6の開発を行うには、2つの方法があります。1つ目は、Windowsでのみ利用可能な、PSoC 5LPやPSoC 4などの他のデバイスファミリとともにPSoC 6デバイスのサブセットをサポートする独自のIDEのPSoC Creatorです。2番目の開発プラットフォームは ModusToolboxで、構成ツール、ドライバー、ミドルウェアライブラリ、オペレーティングシステムのサポート、およびオプションのIDEを含みます。
ModusToolboxは、すべてのPSoC 6デバイスをサポートし、使用を推奨されている開発プラットフォームです。Windows、Mac、Linuxで利用でき、コマンドラインで動作させることができるため、好みの開発ツールと統合できます。それ以外の場合は、オプションのEclipseベースのIDEで使用できます。
ここでは、Ubuntu 18.04を実行しているコンピューターにインストールされているModusToolboxを使用します。
ソフトウェアのセットアップ
まず、ModusToolboxソフトウェアをCypressのウェブサイトからダウンロードする必要があります。 Linuxにインストールする際には、次の手順にそってインストールしてください。
$ tar xvf ModusToolbox_2.1.0.1266-linux-install.tar.gz
$ cd ModusToolbox
$ sudo tools_2.1/openocd/udev_rules/install_rules.sh
$ sudo tools_2.1/driver_media/install_rules.sh
$ sudo tools_2.1/fw-loader/udev_rules/install_rules.sh
$ sudo tools_2.1/modus-shell/postinstall
Ubuntu 18.xxで作業している場合は、追加のパッケージをインストールする必要があります。
$ sudo apt-get install libusb-0.1-4
ユーザーがまだdialoutグループおよびplugdevグループのメンバーでない場合は、これらに追加する必要があります。
$ sudo usermod -a -G dialout,plugdev $USER
その後、新しいグループをピックアップするには、ログアウトしてから再度ログインする必要があります。
より分かりやすい説明は、インストールガイドを参照してください。
次のように入力すると、IDEが起動します。
$ ./ide_2.1/eclipse/ModusToolbox
クイックパネルから新しいアプリケーションを作成し、CY8CPROTO-063-BLEを選択します。
アプリケーションの作成
モジュールを選択すると、サンプルアプリケーションのリストが表示されます。これは、評価を容易にし、作成するアプリケーションの基礎として使用可能です。
ここから”Empty PSoC 6 App”を選択して作成すると、ログウィンドウの最初のコマンドは次のようになります。
ModusToolbox/tools_2.1/project-creator/bin/project-creator-cli --board-id CY8CPROTO-063-BLE --board-uri https://github.com/cypresssemiconductorco/TARGET_CY8CPROTO-063-BLE --board-commit latest-v1.X --app-id mtb-example-psoc6-empty-app --app-uri https://github.com/cypresssemiconductorco/mtb-example-psoc6-empty-app --app-commit latest-v1.X --user-app-name Empty_PSoC6_App --target-dir /home/andrew/mtw --output-for-machine --use-modus-shell
ここからわかるように、バックグラウンドで実行されているコマンドはproject-creator-cliであり、これには、モジュールを指定するオプションと BSP用GitHubURL、 に加えてサンプルアプリ用GitHubURLが含まれています。その後、リポジトリのクローンが作成され、ライブラリがインポートされます。
ここまでの作業によって、プロジェクトエクスプローラーを介して、main.cやライブラリなどのプロジェクトの中身を見ることができます。libsフォルダーを開くと、その中にBSPフォルダーがあります。BSPフォルダー内のGeneratedSourceを開いてください。
ここで、design.modusファイルをダブルクリックします。
これにより、Device Configuratorアプリケーションが表示され、ここでは、周辺機器、ルーティング、クロックなどのPSoCリソースを構成できます。
クイックパネルからライブラリマネージャーを起動することもできます。クイックパネルを使用して、ミドルウェアとともに含まれているライブラリを構成できます。1つ素晴らしい機能として、FreeRTOSサポートしていて、ミドルウェアリストからこれを選択することで設定できます。
詳細については、ModusToolboxでのPSoC 6MCU入門を参照してください。ファームウェアの作成とBSP / HAL /ミドルウェア機能の使用を開始する方法の実例とともに、多くのステップをより詳細に取り上げています。また、デバイスコンフィギュレータガイドでは、デバイス周辺機器の構成について説明しています。
実行例
もう一度新しいアプリケーションを作成しますが、今回はBLE Battery Level FreeRTOSを選択します。これはFreeRTOSの上に構築され、バッテリーサービスとデバイス情報サービスを備えたBluetooth Low EnergyGATTサーバーを実装します。バッテリーレベルは仮想的にシミュレートされ、0から100パーセントまで連続的に変化します。
これをプログラムするには、クイックパネルに戻り、BLE_Battery_Level_FreeRTOSプログラム(KitProg3)の起動を選択します。
エラーが出てしまいましたが、これは、使用しているキットにKitProg2が組み込まれており、ファームウェアをアップグレードする必要があるためです。ファームウェアをアップグレードするためには、fw-loaderコマンドラインユーティリティを使用して実行されます。詳細については、 KitProg3ユーザーガイドのセクション6を参照してください。ファームウェアローダーのリリースは、最新のファームウェアをバンドルしたものがGitHubで入手可能です。
–device-listオプションを指定して実行すると、KitProg2ファームウェアが実行されていることがわかります。
–update-kp3を使用して実行すると、プログラマーは最新のKitProg3ファームウェアに更新されます。
ここで、ModusToolbox内でプログラムタスクをもう一度起動すると、正常に動作します。
次に、CySmartプリケーションをAndroidデバイスにインストールします。
アプリを起動してBluetoothを有効にすると、キットが表示されます。ボード上のSW1を押すと、ペアリングモードになり、Androidデバイスとペアリングできるようになりました。
この時点で、仮想的なバッテリーレベルを確認できます。
また、デバイス情報も確認できます。
まとめ
今回は、ModusToolboxプラットフォームで使用して、PSoC 6開発キットを簡易的に実行した程度でしたが、両者の理解の助けとなれば幸いです。PSoC 6は、BLE対応の低電力マイクロコントローラープラットフォームに多くの機能を搭載しています。最も注目すべきは、プログラム可能なアナログおよびデジタルの機能です。
ModusToolboxは、自由自在に扱えるハードウェア上に構築されており、開発をさらに促進するBSP、ライブラリ、ミドルウェアを提供しています。これだけではなく、提供されているIDE、または好みのIDE、テキストエディターのいずれかを使用し、独自のツールをコマンドライン上での開発におけるフローおよびGitHubでホストされているすべての主要なリソースと統合することもできます。