Mbed OS アプリケーションで ModusToolbox コンフィグレータツールを使う - KBA228797- Community Translated (JA)
- RSS フィードを購読する
- 新着としてマーク
- 既読としてマーク
- ブックマーク
- 購読
- 印刷用ページ
- 不適切なコンテンツを報告
Community Translated by MoTa_728816 Version: **
このドキュメントでは PSoC 6ベースの Mbed OS アプリケーションにおいて ModusToolbox™ コンフィグレータツールを使用する方法を説明します。例として CapSense® アプリケーションを取り上げます。このドキュメントでは Mbed OS ヴァージョン 5.14.0 もしくはそれ以降、 ModusToolbox ヴァージョン 2.0 もしくはそれ以降を対象とします。
PSoC 6 MCU ベースの Mbed OS アプリケーションでの デフォルトデバイスコンフィグレーション
Cypress PSoC 6 MCU ベースのデベロップメントキットはハードウェア (デバイス)の初期化/設定コードを Mbed OS アプリケーションフォルダ \mbed-os\targets\TARGET_Cypress\TARGET_PSOC6\TARGET_TARGET_NAME\ に含んでいます。例えば、CY8CPROTO-062-4343W のデバイスコンフィグレーションコードは \mbed-os\targets\TARGET_Cypress\TARGET_PSOC6\TARGET_CY8CPROTO_062_4343W\ にあります。下記はそのフォルダ内で重要なファイルのリストです。
- ボードサポートパッケージソースファイル:ソースファイルはハードウェア(BSP) 初期化関数を含みます。ターゲットの関数はアプリケーション起動コードの一部として関数からコールされます。ブートシーケンスの詳細については https://os.mbed.com/docs/mbed-os/latest/reference/bootstrap.html をご参照ください。PSoC 6 MCU ベースターゲットの関数の定義はにあるファイルに含まれています。
- COMPONENT_BSP_DESIGN_MODUS: このフォルダには下記リストのコンフグレータベースのコンフィグレーションファイルと、その生成されたコードが置かれています。
- デバイスコンフィグレータ生成コード: デバイスコンフィグレーションファイルの名称はで、生成されたコードはフォルダに置かれています。cybsp.c 内の関数はデバイスコンフィグレータ生成のコードファイルの一部であるをコールします。この関数はデバイスコンフィグレータで生成されたファイルの設定に従って、デバイスのコアクロックシステム初期化、フラッシュメモリのウエイトステート、その他のシステムレベルの設定を行います。
- CapSense コンフィグレータ生成コード:のコンフィグレーションファイルはという名称で、生成されたファイルはフォルダに置かれています。すべのアプリケーションがの機能を使用するわけではないので、 デフォルトではファイルはフォルダに生成されません。
- QSPI インターフェースコンフグレータ生成コード:のコンフィグレーションファイルはという名称で、生成されたファイルはフォルダに置かれています。
PSoC 6 MCU ベースの Mbed OS アプリケーションがコンパイルされると、ビルドシステムはそのターゲットの COMPONENT_BSP_DESIGN_MODUS フォルダ内のソースファイルもインクルードします。これは \mbed-os\targets\targets.json ファイル内の当該 PSoC 6 MCUベースターゲット用に “components_add”:[“BSP_DESIGN_MODUS”] を追加することで行われます。ビルドプロセスに使用するコンポーネントタイプラベルディレクトリについての詳細は https://os.mbed.com/docs/mbed-os/latest/reference/mbed-os-build-rules.html をご参照ください。
PSoC 6 ベースの Mbed OS アプリケーションでのカスタムデバイスコンフィグレーション
PSoC 6 MCU ベースの Mbed OS アプリケーションで、先に説明したターゲットフォルダ内のデフォルトコンフィグレーションコードではなく、特別なデバイスコンフィグレーションが必要になるかも知れません。例えば Mbed OS アプリケーションで PSoC 6 MCU の CapSense 機能を使用するための、CapSense ミドルウェアコンポーネント の使用する場合です。CapSense を使用する Mbed OS サンプルアプリケーションは Cypress GitHub repository から入手できます。CapSense のサンプルはボタンとスライダーを使用しますが、これら設定は下記に説明する2種類のコンフグレーション関連設定の変更で生成されます。
- デバイスコンフィグレータで、アプリケーションに必要とされるようにブロック を有効にして設定を行い、該当するファイルを再度生成します。
- CapSense コンフィグレータで、エンドアプリケーションが必要なボタンやスライダーウィジェットの設定を行い、該当するファイルを再度生成します。
これは Mbed OS フォルダ内にある当該ターゲットのデフォルト COMPONENT_BSP_DESIGN_MODUS コンポーネントの変更を必要とします。アプリケーションコンフィグレータを使用して、このフォルダ内のファイルを変更してファイルを生成する方法もありますが、異なる Mbed OS ヴァージョンや共有プロジェクト間を移動する場合に同じ処理を繰り返す必要が発生するため、好ましい方法ではありません。
より良い方法としては、変更を加えた COMPONENT_BSP_DESIGN_MODUS コンポーネントをアプリケーションのトップレベルフォルダの一部として、目的とする各ターゲット用のアプリケーションに必要な変更を反映することです。この手法は Cypress GitHub repository にある Mbed OS CapSense サンプルで踏襲されていて、各ターゲット用のカスタムコンフィグレーションは COMPONENT_CUSTOM_BSP_DESIGN_MODUS フォルダの中に置かれています。カスタム BSP コンフィグレーションをターゲットのビルドプロセスにインクルードさせるためには、アプリケーションフォルダのトップレベルにある mbed_app.json ファイルの各ターゲットアプリケーションの下に "target.components_add": ["CUSTOM_BSP_DESIGN_MODUS"] という設定を記述します。同時に Mbed OS ビルドプロセスがターゲット用のデフォルト COMPONENT_BSP_DESIN_MODUS コンポーネントをインクルードすることを避けるために、mbed_app.json ファイルには "target.components_remove": ["BSP_DESIGN_MODUS"] という行を記述して、このフォルダをビルドプロセスから除外する必要があります。
以下は CY8CPROTO_062_4343W ターゲット用に上記の変更を行った後に mbed_app.json ファイルがどのように見えるかのサンプルです
{
"target_overrides": {
"*": {
"platform.stdio-convert-newlines": true
},
"CY8CPROTO_062_4343W": {
"target.components_remove": ["BSP_DESIGN_MODUS"],
"target.components_add": ["CUSTOM_BSP_DESIGN_MODUS"]
}
}
}
以下はこのアプローチを採用しているサンプルコードのリストです。
- mbed-os-example-capsenseを使用したとのボタンとスライダーのサンプルコードです。
- mbed-os-example-csdadcCSDADC Middleware Library を使用したとのの使用方法のサンプルコードです。
- mbed-os-example-csdidacを電流ソースと電流シンクとして使用したサンプルコードです。