ModusToolbox v1.1からv2.xへの移行 - KBA229043 - Community Translated (JA)
- RSS フィードを購読する
- 新着としてマーク
- 既読としてマーク
- ブックマーク
- 購読
- 印刷用ページ
- 不適切なコンテンツを報告
Community Translated by NoTa_4591161 Version: **
Translation - English: Migrating from ModusToolbox v1.1 to v2.x - KBA229043
ModusToolbox™v2.xは、以前のバージョンとはかなり異なります。その結果、プロジェクトをModusToolbox v1.1からv2.xに移行するための簡単な移植オプションはIDEにはありません。
v2.xには多くの根本的な変更があります。たとえば、v2.xでは、ボードサポートパッケージ(BSP)がソフトウェア開発の中心です。BSPは、ボードの機能へのCypressキット全体の標準インターフェイスを提供します。他のソフトウェア(ミドルウェアやユーザーのアプリケーションなど)は、BSPを使用してハードウェアを設定および制御できます。v1.1にはBSPはありません。
このKBAは、v2.xへの移行時に発生する可能性のある一般的な状況についての高いレベルの手順とガイダンスを提供します。ModusToolbox 2.xを初めて使用する場合は、 ModusToolbox Software Overviewを読んで、その機能の概要をご確認願います。これは、このガイダンスの一部を理解するのに役立ちます。このKBAは、ModusToolbox IDEに精通していることを前提としています。IDEについて質問がある場合は、 ModusToolbox IDE User Guideをご参照願います。
1. ModusToolbox 2.xプロジェクトを作成します。
New Applicationウィザードを使用します。スターターアプリケーションとして使用するBSPとコード例を選択します。このプロセスでは、ModusToolbox 1.1で使用したものとほとんど同じ機能を提供するコード例を選択してください。
キッのトBSPで利用可能なパーツとは異なるパーツを使用している場合は、同様のパーツ用のBSPから始めて、デバイス用のカスタムBSPを作成します。 詳細はBSP User Guideを参照してください。
2. 不足しているライブラリを追加し、(オプションで)未使用のライブラリを削除します。
スターターアプリケーションには、アプリケーションで使用されるミドルウェアが含まれていない場合があります。同様に、アプリケーションは、スターターアプリケーションにデフォルトで含まれているすべてのものを使用しない場合があります。キットはCapSenseのをサポートしている場合たとえば、®、CapSenseのライブラリは、キットのBSPによってデフォルトで含まれています。アプリケーションがCapSenseを使用しない場合は、そのライブラリを削除できます。
PSoC 6 MCU関連プロジェクトの場合、ライブラリマネージャーを使用してライブラリを追加または削除します。使用する各ライブラリのバージョンを制御することもできます。
Bluetooth SDKを使用するアプリケーションの場合、ライブラリはSDK内にあるため、ライブラリマネージャーを使用できません。代わりに、メイクファイルを直接変更する必要があります。詳細については、wiced_btsdk readmeファイルを参照してください。
ライブラリのローカルコピーに変更を加えた後、ライブラリマネージャーを使用して別のバージョンに更新すると、保存されていない変更があるため警告が表示され、更新はスキップされます。
3.残りのアプリケーションソースファイルをプロジェクトに追加します。
アプリケーション固有のソースファイルをv1.1からv2.xプロジェクトにコピーします。これには、使用する追加の外部ライブラリも含まれます。お好みに整理してください。ソースファイルをプロジェクトフォルダの任意の場所に置くだけです。
その後、IDEの「New Application」コマンドを使用して、このプロジェクトのメイクファイルをインポートすると、すべてのソースファイルが自動的に検出され、プロジェクトに追加されます。
ファイルをプロジェクトに直接コピーするのではなく、参照でリンクする場合は、対応する変更をmakefileに加えて、SOURCESおよびINCLUDESを追加する必要があります。コマンドラインからModus Toolboxを実行するを参照してください。
4.新しいビルド環境で発生する問題を解決します。
もちろん、発生する問題は、アプリケーションの性質とその実装方法によって異なります。一部の機能は変更されていません。一部には追加オプションがあります。いくつかは異なるソリューションを必要とします。このKBAはすべての可能なケースをカバーできるわけではありません。ただし、いくつかの一般的な状況を見ることができます。
表1. ModusToolbox v1.1と2.xの違い
タスク、機能、または違い | v1.1 | v2.x |
開始方法 | 新しいアプリケーションウィザードを使用して、コード例をインポートします。 | 変更なし、一部の実装の詳細は異なります |
コード例はどこにありますか | ローカルファイル。 一部はSDKの一部としてインストールされます。一部はGitHubにあります。GitHubサンプルをダウンロードして解凍し、必要なファイルを取得します。 | GitHubリポジトリ。 v2.xビルドシステムは、必要なリポジトリを指定するアプリケーションのmakefileに基づいてサンプルプロジェクトを作成します。 |
コード例をインポートする | 新規アプリケーションウィザードで、キットとサンプルを選択します。GitHubの例の場合は、ダウンロードした例のmodus.mkファイルをインポートします。プロジェクトは、プロジェクトフォルダのローカルコピーではなく、SDKのライブラリファイルを指します。 | 新規アプリケーションウィザードで、BSPと例を選択します。必要なすべてのファイルのクローンが作成され、プロジェクトフォルダにローカルに複製されます。modus.mkファイルはありません。コード例をインポートするには、インターネットにアクセスできる必要があります。KBA225201を参照してください。 Bluetooth SDKを使用するアプリケーションの場合、サンプルをインポートする前にwiced_btsdkのインスタンスを作成します。これは共有Bluetooth SDKライブラリです。 |
空のプロジェクトを作成する | 新しいアプリケーションウィザードを使用します。キットを選択してから、「EmptyPSoC6App」を選択します。Bluetoothキットには「空の」選択肢もあります。 | 変更なし |
BSPの内容 | なし | キットにより異なります。BSPには以下が含まれます。スタートアップコード、リンカーファイル、 キットハードウェア用のボードと独立したマクロ(例: CYBSP_USER_BTN)、ハードウェアコンフィグレーションファイル、 キットのハードウェアをサポートするライブラリへのリンク、キットを管理するためのシンプルなAPI。詳細はBSPユーザーガイドをご参照願います。 |
BSPはどこですか | なし | BSPは、TARGET_と名前が付いたフォルダにあります。MCU関連プロジェクトの場合、BSPはlibsフォルダにあります。Bluetooth SDKの場合、アプリケーションではなくBluetooth SDKにあります。 |
BSPの使用方法 | BSPはありません。SDKからスタートアップコードとリンカーファイルを取得し、プロジェクトに追加します。各例にはすでにそれらがあり、独自のマクロと構成ファイルがあります。 | これはアプリケーションのmakefileで指定され、V2.xビルドシステムによってプロジェクトに自動的に追加されます。 BSPのすべての機能を使用するには、アプリケーションにcybsp.h を含めます。 多くのBSPにはAPIリファレンスがあります。こちらの例をご覧ください。 |
生成されたコードはどこにありますか | 通常、アプリケーションプロジェクトの最上位レベルのGeneratedSourceフォルダ内。 | 通常、BSPのGeneratedSourceフォルダ内。Bluetooth SDKの場合、追加の構成ファイル(Bluetooth Configuratorなど)は、アプリケーションの2番目のGeneratedSourceフォルダにあります。 |
キットBSPを使用してハードウェア設計を変更する | アプリケーションのdesign.modusファイルを変更します。 | BSPのdesign.modusファイルを上書きします。これを行う方法の詳細については、BSPユーザーガイド を参照してください。 design.modusファイルを変更できますが、BSPのバージョンを更新すると、変更が失われるという警告が表示されます。変更を新しいバージョンに移動する必要があります。 |
カスタムボードのハードウェアデザインを作成または変更する | New Applicationウィザードで、Custom Boardを選択し、デバイスを選択します。ボード固有のファイルは、プロジェクトで手動更新する必要があります。 | カスタムBSPを作成します。BSPを使用して作成されたアプリケーションは、適切なファイルを自動的に取得します。BSPユーザーガイドを参照してください。 |
ライブラリを追加または削除する | プロジェクトエクスプローラーにファイルを追加(またはファイルを削除)し、インクルードパスを手動で更新します。 | PSoC 6 MCUアプリケーションの場合、ライブラリマネージャーを使用します。アプリケーションのメイクファイルが自動的に更新され、プロジェクトが再生成されます。 Bluetooth SDKを使用するアプリケーションの場合、ライブラリはSDK内にあるため、ライブラリマネージャーを使用できません。代わりに、メイクファイルを直接変更する必要があります。wiced_btsdk readmeファイルを参照してください。 |
ペリフェラルドライバライブラリ(PDL)関数呼び出し | PDL関数呼び出しを使用します。ハードウェアアブストラクションレイヤー(HAL)はありません。 | 変更なし(バージョンの更新を除く)。ただし、HAL関数呼び出しは多くのドライバーで使用できます。詳細はPSoC 6 HAL APIリファレンスをご参照願います。 |
割り込みを開始して有効にする | (SysIntドライバーで)PDL関数呼び出しを使用します。 | 変更はありませんが、HAL機能を使用できます。 |
インクルードパスを管理する | Eclipse IDE C / C ++ Build > Settingsパネルを使用して、手動でパスを追加および管理します。 | ビルドファイルの検出プロセス中に自動的に作成されます。アプリケーションのmakefileで追加のパスの変数を設定できます。詳細はコマンドラインからModus Toolboxを実行するをご参照願います。 |
含まれるヘッダーファイル | 何を含めるかは、使用するリソースによって異なります。基本的なリソースについては、main.cで次のようになります。 #include "cycfg.h" #include "cy_pdl.h" #include "stdio_user.h" #include "stdio.h" #include "uart_debug.h" | 何を含めるかは、使用するリソースによって異なるため、これらのリストは完全ではありません。 PSoC 6 MCUアプリケーションの基本的なリソースについては、main.cに以下が含まれる場合があります。 #include "cybsp.h" // PSPを含むBSPヘッダーをインクルードします(BSPの場合) #include "cyhal.h" // HAL関連のヘッダーを含める Bluetooth SDKを使用するアプリケーションでは、特に次のことが考えられます。 #include "wiced_bt_trace.h" // UARTを介したデバッグのサポート #include "wiced_bt_cfg.h" // Bluetoothスタック構成 #include "wiced_bt_stack.h" // Bluetooth管理API #include "wiced_platform.h" //ハードウェア構成 |
システムを初期化する | init_cycfg_all(); | PSoC 6 MCUアプリケーションの場合、HALを使用しない場合は変更せずに、init_cycfg_all()を呼び出します。HALを使用する場合は、cybsp_init()を呼び出します。次に、main.cで、HAL関数またはPDL関数、および必要に応じてデバイスコンフィギュレーター関数を使用できます。 Bluetooth SDKを使用するアプリケーションの場合、application_start 関数はWICED関数呼び出しを使用して、トランスポートとBluetoothスタックを初期化します。 |
ビルド設定を管理する 定義されたシンボル 出力ファイルの名前 コンパイラフラグ 最適化レベル リンカーファイルと場所 リンクする追加のライブラリ | Eclipse IDE C / C ++ Build> Settingsパネルを使用します。 | アプリケーションのメイクファイルで設定された変数を編集します。 詳細はコマンドラインからModus Toolboxを実行するをご参照願います。 |
Bluetooth SDKを使用する | BTSDKはModusToolboxインストーラーによってインストールされます。サンプルアプリケーションは、そのローカルコピーを参照します。 | 新しいアプリケーションウィザードで、Eclipseワークスペース用にwiced_btsdk プロジェクトを一度作成してから、他のアプリを作成します。そのワークスペースのサンプルアプリケーションは、そのローカルコピーを参照します。 |
CM0 +デフォルトアプリケーション | cymcuelfツールを使用して最終的な実行可能ファイルにマージする、プリコンパイルされた.elfバイナリとして提供されます。 | プロジェクトに追加されたソースファイルのC配列として提供されます。BSPで提供されるリンカースクリプトを調整して、さまざまなサイズのアプリケーションに適応させます。詳細については、ReadMeファイルを参照してください。 |
適切なライブラリを入手する
表2は、v2.xで利用可能な多くのライブラリと、同じコードまたは類似のコードがv1.1に存在していた場所を示しています。これは、v2.xで必要なライブラリを決定するのに役立ちます。一部のライブラリは、Mbed OS開発にのみ役立ちます。v2.x BSPには、キットに必要なライブラリが自動的に含まれることに注意してください。たとえば、キットがCapSenseをサポートしている場合、CapSenseライブラリはBSPによって追加されます。
GitHubでv2.x用に提供されたコードは、通常v1.1で提供されたものよりも新しいバージョンです。すべてではないにしてもほとんどの場合、これらは下位互換性があります。可能性は低いですが、新しいバージョンのライブラリに対応するために、コードを変更する必要がある場合があります。各ライブラリの説明は、GitHubで入手できます。完全なリストについては、psoc6-middlewareを参照してください。
表2. ModusToolbox v1.1コードと対応するv2.xライブラリ
機能またはライブラリ | ModusToolbox 1.1 | ModusToolbox 2.x(GitHubリポジトリ) |
ハードウェアアブストラクションレイヤー | なし、v2.xには新しいBSP関連のライブラリがあります | |
RTOS抽象化レイヤー | ||
コアライブラリ | ||
RGB LED | 各例は独自のコードを記述しました。v2.xには、ハードウェアへのアクセスを標準化する新しいライブラリがあります | |
シリアルフラッシュプログラミング | ||
リターゲットI / O | <インストール>\libraries\psoc6sw-1.1\components\psoc6pdl\utilities\retarget_io | |
周辺機器ドライバーライブラリー | <インストール>\libraries\psoc6sw-1.1\component\psoc6pdl | |
CM0 +ビルド済みアプリケーション | <インストール>\libraries\psoc6sw-1.1\components\psoc6pdl\devices\psoc6\cm0p\prebuilt | |
ビルドシステム | <インストール>\libraries\platforms-1.0\common | |
ボードサポートパッケージ | BSPで使用される一部のコードは、ここのpdlデバイスフォルダーにあります: | 複数のリポジトリ、キットごとに1つ。 |
Bluetooth SDK | <インストール>\libraries\bt_20819A1-1.0\components\BT-SDK; cypress.comからアップデートをダウンロードします | SDKを構成する複数のリポジトリ |
Wifiホストドライバーライブラリ | WWDという名前で、WICED Studioの一部としてインストールされたWICED SDKに含まれています | |
エンタープライズセキュリティライブラリ | WICED Studioの一部としてインストールされたWICED SDK | |
HTTPサーバーライブラリ | WICED Studioの一部としてインストールされたWICED SDK | |
接続ユーティリティライブラリ | WICED Studioの一部としてインストールされたWICED SDK | |
AWS-IOTライブラリ | WICED Studioの一部としてインストールされたWICED SDK | |
PSoC 6 BLEライブラリ | <インストール>\libraries\psoc6sw-1.1\components\psoc6mw\ble | biess |
CapSenseライブラリ | <インストール>\libraries\psoc6sw-1.1\components\psoc6mw\capsense | |
CSDADCライブラリ | <インストール>\libraries\psoc6sw-1.1\components\psoc6mw\csdadc | |
CSDIDACライブラリ | <インストール>\libraries\psoc6sw-1.1\components\psoc6mw\csdidac | |
USBデバイスライブラリ | <インストール>\libraries\psoc6sw-1.1\components\psoc6mw\usb_dev | |
デバイスファームウェアアップデートライブラリ | <インストール>\libraries\psoc6sw-1.1\components\psoc6mw\dfu | |
エミュレートされたEEPROMライブラリ | <インストール>\libraries\psoc6sw-1.1\components\psoc6mw\em_eeprom | |
FreeRTOSカーネル | <インストール>\libraries\psoc6sw-1.1\components\psoc6mw\rtos\freeRTOS | |
emWinグラフィックライブラリ | <インストール>\libraries\psoc6sw-1.1\components\psoc6mw\emWin | |
セキュアブートSDK | なし |