Mbed OS アプリケーションで ModusToolbox コンフィグレータツールを使う - KBA228797- Community Translated (JA)

Version 2

    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"]

              }

         }

    }

     

    以下はこのアプロチを採用しているサンプルコドのリストです