cancel
Showing results for 
Search instead for 
Did you mean: 

Knowledge Base Articles

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

Employee

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

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 Likes
Version history
Revision #:
1 of 1
Last update:
‎May 25, 2020 09:42 AM
Updated by:
 
Contributors