- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi, Kenshow-san
Confirm to work this KBA.
Thanks
Jenna
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Jenna-san,
Japanese translation was over.
Please check below.
Original KBA:
ModusToolbox 2.2 and later: Make a Custom BSP - KBA231373
Thanks.
==============================
タイトル: ModusToolbox 2.2以降用:カスタムBSPを作成する - KBA231373
バージョン:**
質問:
自分のハードウェア用のカスタムボードサポートパッケージ(BSP)を作成するにはどうすればよいですか?
回答:
この記事の手順に従ってください。この記事はModusToolboxv2.2以降を対象としています。このプロセスの一部の詳細が変更されました。ModusToolbox v2.1の詳細については、参照KBA230822を参照してください。
バックグラウンド
BSPは、ModusToolboxソフトウェアの中核です。キットごとにBSPを提供しています。BSPには(とりわけ)次のものが含まれます。
- キットのパーツのリンカスクリプトとスタートアップコード
- クロック、ペリフェラル、およびピンを設定するコンフィグレーションファイル(デフォルト名design.modus)
- ボードをサポートするために必要なライブラリの追加ファイル
カスタムBSPの場合、これらの要素はハードウェアに合わせて調整する必要があります。このKBAは、その目標を達成する方法を説明しています。ハイレベルで手順は簡単です。
- 既存のBSPを使用してアプリケーションを作成します。
- 既存のBSPに基づいて新しいBSPを作成します。
- 新しいBSPを更新します。
新しいBSPには、design.modusファイルのコピーが含まれており、元のBSPと同じライブラリを使用します。このKBAは、汎用BSPから始まり、機能を追加する方法を示しています。これにより、ハードウェアの機能を追加できる最小限のBSPが実現します。汎用BSPは、すべてのPSoC 6MCUデバイスをサポートする最小の共通点です。ただし、ほとんどの例ではキットの機能が必要なため、サポートするコード例はごくわずかです。
別の方法として、より多くの機能を備えたキットBSPを使用してアプリケーションを作成できます。たとえば、設計で静電容量センシングを使用している場合は、CapSense機能を備えたキットにBSPを使用します。BSPが使用するデザインファイルとライブラリは、そのキット用に設定されています。より高性能なBSPから始める場合は、ハードウェアに一致するように機能を変更または削除しますが、ここで概説する原則は同じです。
手順1:既存のBSPを使用してアプリケーションを作成します。
- ModusToolbox Project Creatorを使用します。
この例では、PSoC6アプリケーションを作成します。スターターのBSPとしてPSOC6-GENERICを選択します。 - [Next>]をクリックします。
- テンプレートアプリケーションを選択します。
Empty PSoC6 Appを使用して名前を付け、ルートパスが新しいアプリケーションディレクトリを表示する場所であることを確認します。
- [Create]をクリックします。
Project Creatorが完了すると、アプリケーションディレクトリが作成されます。元のBSPは、アプリケーションディレクトリに隣接するmtb_sharedディレクトリにあります。ただし、実際にはどこにあるかを知る必要はありません。アプリケーションディレクトリで作業を行います。
ステップ2:新しいBSPを作成します。
- コマンドウィンドウ(macOSまたはLinux)を開くか、modus-shellプログラム(Windows)を実行します。
- makefileが配置されている新しいアプリケーションディレクトリの最上位に移動し、makebspコマンドを使用します。
このコマンドには3つのパラメーターがあります。
- TARGET_GENは、新しいBSPの名前です。
- DEVICE_GENは部品番号です。ボード上のパーツが既存のBSPと同じパーツである場合、DEVICE_GENはオプションです。
- ADDITIONAL_DEVICES_GENは、BSPでサポートされている追加パーツ(通常はWiFiまたはBluetooth無線デバイス)のオプションのパーツ番号です。
新しいデバイスの単純なケースを使用すると、コマンドは次のようになります。
$ make bsp TARGET_GEN = MyBSP DEVICE_GEN = CY8C6316BZI-BLF03
ModusToolboxビルドシステムは、アプリケーションディレクトリのトップレベルに新しいBSPを作成し、TARGET_という名前が付けられ、その後に名前を付けます。この例では、TARGET_MyBSPです。
新しいBSPには、パーツ固有のリンカスクリプトとスタートアップコードが自動的に含まれています。design.modusのファイルは、元のBSPと同じです。元のデザインが新しいパーツで機能しない場合は、エラーが表示されます。
この例では、新しいパーツを同じ周波数でクロックすることはできません。これらのエラーは次のステップで修正します。
手順3:新しいBSPを更新します。
主なタスクは2つあります。design.modusファイルのデバイス構成を更新することと、ライブラリを追加することです。新しいBSPの作成時に使用したアプリケーションには、makefileがあります。この例では、Empty_PSOC6_Appにあります。
- そのファイルを開き、TARGET変数を変更して新しいBSPを指すようにします。
TARGET = MyBSP - 変更を保存します。次に、コマンドウィンドウで、このmakeコマンドを発行します
make config
ビルドシステムは、新しいBSP /デバイスのDevice Configuratorを起動します。エラーを解決し、ハードウェアの必要に応じて設計を変更します。たとえば、この場合、PLL周波数をパーツでサポートされている値に設定する必要があります。
Device Configuratorに慣れていない場合は、ドキュメントを読んで、デバイスのクロック、ピン、ペリフェラル、およびその他の機能を有効にして設定する方法を学習してください。
BSPに含まれているライブラリは、TARGET_MyBSP/deps のディレククトリにあります。汎用BSPから始める場合、これらはデバイスに必要な最小限のライブラリセットを表します。各.libおよび対応する.mtbxファイルは、ライブラリファイルを含むgitリポジトリへのURLです。
注意 .mtbxファイルはMTBライブラリ管理フローに使用され、.libファイルはLIBライブラリ管理フローに使用されます。アプリケーションが使用するフローに応じて、ファイルの各ペアの1つだけが使用されます。各フローの説明については、ライブラリマネージャーガイドを参照してください。
BSPにライブラリを追加するには、対応する.libファイルと.mtbxファイルをこのディレクトリに配置するだけです。
キットBSPに基づいてカスタムBSPを作成する場合、追加のライブラリが存在する可能性があります。コード例を調べて、使用しているライブラリを確認することもできます。ModusToolboxライブラリはすべてGitHubで入手できます。
ステップ4:新しいBSPを使用します。
新しいBSPの設定が完了したら、好きな場所に移動できます。それは自己完結型のライブラリです。必要に応じて、BSPをバージョン管理システムにチェックインします。
このBSPを使用する方法はいくつかあります。ここにいくつか示します:
- 新しいアプリケーションを作成するときに、BSPをProject Creatorにインポートします。詳細については、Proeject Creatorガイドを参照してください。
- BSPディレクトリ全体をアプリケーションプロジェクトのルートにコピーします。
- BSPの名前と一致するようにmakefile のTARGETの変数を更新します。
- BSPの依存関係のために、アプリケーションのdepsディレクトリに.mtbファイルを作成します。これは、makeimport_depsコマンドを使用して実行できます。例えば:
make import_deps IMPORT_PATH=TARGET_MyBsp
- BSPファイルをIDEのアプリケーションプロジェクトに直接追加します。
- makefileのTARGETを更新します。
- BSPの依存関係のためにアプリケーションのdepsのディレクトリに.mtbファイルを作成します。これは、import_depsコマンドを使用して実行できます。例えば:
make import_deps IMPORT_PATH=TARGET_MyBspp
- 新しいBSPを使用するには、起動構成を更新する必要がある場合があります。
- gitを使用する場合は、BSPリポジトリを指す.mtbファイル(MTBフローを使用する場合)または.libファイル(LIBフローを使用する場合)を作成し、そのファイルをアプリケーションのdeps(依存関係)ディレクトリに含めます。コード例を調べて、これがどのように行われるかを確認してください。
- ModusToolboxマニフェストファイルを変更して、BSPがプロジェクトクリエーターに自動的に表示されるようにします。次に、新しいアプリケーションを作成するときにBSPを選択します。詳細については、ModusToolboxユーザーガイドのマニフェストファイルの章を参照してください。
==============================
9-Oct-2020