PSoC6 BLE Prototyping KitをPSoC CreatorでLチカ
PSoC6のメモ
PSoC6には、いままで(PSoC3/4/5LP)用の開発環境PSoC Creatorとは別にModusToolboxというeclipseベースの開発環境が用意されている。
が、今までのPSoCユーザーにとってはPSoC Cratorのほうがとっつきやすいので、PSoC CreatorでLチカするまでをまとめる。
開発ボード
CY8CPROTO-063-BLE PSoC6 BLE Prototyping Kit
KitProg2が載っているのでライターを別途用意する必要はない。
備考:CY8CPROTO-062-4343W PSoC 6 Wi-Fi BT Prototyping Kitは現状PSoC Creatorに対応しておらず、ModusToolboxのみでの開発になるので注意。
環境構築
- PSoC Creator 4.2
- PSoC PDL 3.1.0
- PSoC Programmer 3.28.3
PSoC Creatorを導入する
PSoC Creator
ダウンロードにはCypressのアカウント取得/ログインが必要。
2019/6/8時点では4.2が最新。
PSoC PDLを導入する
Peripheral Driver Library
コンポーネント類や各種ミドルウェアが含まれる。
PSoC Creatorと同様にダウンロードにはログインが必要。
2019/6/8時点では3.1.0が最新
追記
PSoC Creatorを開き、Tools->Find new devicesを選んでやると、PSoC6のBLE対応IC群がPSoC Creatorで選べるようになる。
この手順を踏まないとデバイス一覧にCYBLE_416045-02が出てこないので注意。
追記ここまで
PDLをインストールしたらPSoC Creatorを開き、Tools->Option->Project ManegementタブのPDL v3(PSoC 6 devices) locationにインストールしたPDLのディレクトリを入れてやる。
参考:PSOC CREATOR ADDS SUPPORT FOR PSOC 63-BASED EZ-BLE™ BLUETOOTH MODULE
PSoC Programmerを導入する
PSoC Programmer
このページより、PSoC Programmerを落とす。
Cypress ProgrammerはModusToolbox用の書き込みアプリケーションらしい。
2019/6/8時点では3.28.3が最新。
注意
PSoC既存ユーザーの場合、上記3点セットがすでに導入されている場合がある。
その場合、PSoC Creatorは4.2、PSoC PDLは3.0以上、PSoC Programmerは3.27.3以上でないと何かしらでエラーを吐く。
筆者はPSoC Programmerのアップデートを忘れて1時間溶かした。
Lチカ
PSoC6 BLE Prototyping Kitには赤と緑2つのユーザーLEDが実装されている。
今回はM0+で緑のLEDを、M4で赤のLEDをチカチカさせる。
TopDesign
TopDesignは以下のようにする。
Digital Outputを2つ並べ、LED_1/2とラベルを付ける。
データシートを見ればわかるが、この開発ボードのLEDの実装は上の図のようにsinkになっている。実際のOutputとLEDの点灯が反転するので注意。
Pinアサイン
Pin設定は以下のようにする。
緑のLEDが7.1、赤のLEDが6.3ピンなのでそのように割り当てる。
実際のボードにもピン番号がシルクで振ってあってわかりやすい。
M0+のコード
#include "project.h"
int main(void)
{
__enable_irq(); /* Enable global interrupts. */
/* Enable CM4. CY_CORTEX_M4_APPL_ADDR must be updated if CM4 memory layout is changed. */
Cy_SysEnableCM4(CY_CORTEX_M4_APPL_ADDR);
/* Place your initialization/startup code here (e.g. MyInst_Start()) */
for(;;)
{
/* Place your application code here. */
Cy_GPIO_Inv(LED_1_0_PORT,LED_1_0_NUM);
Cy_SysLib_Delay(1000);
}
}
for文無限ループ外のコードは自動生成されたものそのままでOK。
Cy_GPIO_Inv(LED_1_0_PORT,LED_1_0_NUM);
はLED_1ピンの出力を反転させる。
Cy_GPIO_Write(LED_1_0_PORT,LED_1_0_NUM,1);
などで制御してもよい。
Cy_SysLib_Delay():
の引数はms。
M4のコード
#include "project.h"
int main(void)
{
__enable_irq(); /* Enable global interrupts. */
/* Place your initialization/startup code here (e.g. MyInst_Start()) */
for(;;)
{
/* Place your application code here. */
Cy_GPIO_Inv(LED_2_PORT,LED_2_NUM);
Cy_SysLib_Delay(500);
}
}
M4側はCy_SysLib_Delay(500);
でM0+側の倍の速さでチカチカさせることにする。
コンパイル/プログラミング
Build->Build [Design名]よりプログラムをコンパイルする。
無事コンパイルが通ったら、PCと開発ボードを接続し、Debug->Programで書き込みを行う。
上のような画面が出るので、どちらかのコアを選択しOK/Connectで書き込みが行われる。
今回は選ぶのはどちらでもOK。デバッガを走らせる場合はどちらのコアを監視するかで選択が必要らしい?
書き込みが成功すれば、緑と赤のLEDがチカチカし始めたはず。
Author And Source
この問題について(PSoC6 BLE Prototyping KitをPSoC CreatorでLチカ), 我々は、より多くの情報をここで見つけました https://qiita.com/Tanba28/items/06b49bf2f599f0e5ecff著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .