Tip / ログイン to post questions, reply, level up, and achieve exciting badges. Know more

cross mob

PSoC® 4 と PSoC 6 MCU のソフトウェアアーキテクチャの違い - KBA220606 - Community Translated (JA)

PSoC® 4 と PSoC 6 MCU のソフトウェアアーキテクチャの違い - KBA220606 - Community Translated (JA)

ChaitanyaV_61
Employee
Employee
50 questions asked 25 likes received 25 sign-ins

Community Translated by  MoTa_728816          Version: **

質問:

PSoC 4 PSoC 6 MCU  のソフトウェアアーキテクチャの主な違いは何でしょうか? PSoC 4 のファームウェアを直接 PSoC 6 MCU に移植することは可能ですか?

回答:

他の PSoC ーキテクチャ用に作成されたファームウェアは PSoC 6 と互換性がありません。主な違いは PSoC 6 Arm® Cortex®-M0+ Cortex-M4 両コアを持つデュアルコアアーキテクチャであることです。PSoC6 のデザインを作成する場合、ファームウェアはそれぞれのコアにード(main.c ファイル等)を提供する必要があります。

更に、PSoC 4 PSoC 6 MCU デバイスは コンポーネントベースの API を使用します。しかし、PSoC 6 MCU では、API Cypress Peripheral Driver Library (PDL) v3.0.x 上に構築されています。各コンポーネントはデュアルコアアーキテクチャを透過的にサポートするように再設計されています。これはファームウェアの視点からは PSoC 4 用に生成されたコードや API PSoC 6 PDL 対して互換性が無いということになります

例えば、SCB UART コンポーネントを考えます。コンポーネントベースの関数を呼んでそのペリフェラルを有効にすることができます

UART_Start() ;

ここで UART SCB UART コンポーネントのインスタンス名です。その関数の中に実際に生成されるコードは PSoC 4 PSoC 6 MCU では全く異なります。その他の UART API ールもその引数も同様に異なります。PSoC 6 MCU では、コンポーネントベースの API PDL のラッパーとなります。UART_Start() 関数は PDL Cy_SCB_UART_Init() 関数を呼び出します

PSoC 6 MCU では、PSoC Creator コンポーネント API を使用せずに、PDL 関数を直接呼び出すことも可能です。この場合の記述は以下のようになります

Cy_SCB_UART_Init(UART_HW, &UART_config, &UART_context) ;

ここで UART_HWUART_configUART_context はそれぞれ、ハードウェアのベースアドレスへのポインタ、インスタンスの設定ストラクチャへのポインタ、コンテクストストラクチャへのポインタとなります。PDL を使用すると開発者が望む場合には PSoC Creator™ を使用しなくても PSoC 6 MCU ーキテクチャ用のファームウェアを作成することが可能になります

しかし、PSoC Creator ではトップデザインにコンポーネントを配置することで、そのインスタンスの設定を反映したストラクチャが生成されます。ファームウェアでその生成されたストレクチャを PDL 関数のコールに使用することが可能なため、ファームウェア開発の負担を軽減できます

様に、BLE API もデュアルコアアーキテクチャをサポートするように再開発されました。PSoC 6 MCU with BLE Connectivity 用の BLE ースコードはミドルウェアとして PDL とともに提供されます。PSoC 6 MCU BLE API PSoC 4 BLE / PRoC™ BLE のものと異なります、そのため一方を使用するファームウェアは他方に直接移植することはできません

その上、ブートローダのアーキテクチャと設計プロセスも PSoC 4 PSoC 6 では異なります。PSoC 6 Cypress Peripheral Driver Library (PDL) 3.0.x に含まれている Cypress Bootloader SDK を使用します。これはブートローダの短期開発を可能とする呼出し可能な関数とその他の要素から構成されている API です。詳細は AN213924 - PSoC 6 MCU Bootloader Software Development Kit (SDK) Guide をご参照ください。

PDL 関する詳細は <PDLのインストールディレクトリ>\doc にある PDL User Guide をご参照ください。さらに、PSoC 6 MCU 用ファームウェアの開発に関する詳細は以下のドキュメントが用意されています

0 件の賞賛
324 件の閲覧回数
寄稿者