PSoC 4和PSoC 6 MCU软件体系结构之间的差异 – KBA220606 (ZH)

Version 2

    Author: LinglingG_46         Version: **

     

    问题: PSoC® 4PSoC 6 MCU的软件体系结构之间的主要区别是什么?我可以把PSoC 4固件直接移植到PSoC 6 MCU吗?

    答案:为其它PSoC架构创建的固件与PSoC 6不兼容。主要的不同是PSoC 6是双核架构,且同时具有Arm® Cortex®-M0+Cortex-M4核。创建PSoC 6工程时必须为每个核提供代码(例如main.c文件)。

    此外,PSoC 4PSoC 6 MCU器件都使用基于组件的API。但是,对于PSoC 6 MCUAPI建立在外围设备驱动程序库PDLv3.0.x。每个组件都经过了重新设计,以透明地支持双核体系结构。从固件的角度来看,这意味着为PSoC 4生成的代码和APIPSoC 6PDL不兼容。

    例如,对于SCB UART组件。你可以使用基于组件的函数来启用外设。

    UART_Start();

    其中UARTSCB UART组件实例的名称。该调用背后的实际生成代码对于PSoC 4PSoC 6 MCU完全不同。其它UART API调用也不同,具有不同的参数。对于PSoC 6 MCU, 基于API的组件是PDL函数的封装。函数UART_Start()调用PDL函数Cy_SCB_UART_Init()

    对于PSoC 6 MCU, 您可以直接调用PDL函数,而无需使用PSoC Creator组件API。在这种情况下,您将编写:

     

    Cy_SCB_UART_Init(UART_HW, &UART_config, &UART_context);

     

    其中UART_HW, UART_configUART_context是指向硬件基址的指针,指向实例具体的配置结构的指针和指向上下文结构的指针。PDL使开发人员如果选择这样做,则无需使用PSoC CreatorTMPSoC 6 MCU架构。

     

    但是,当您在TopDesign上放置组件的实例时,PSoC Creator会生成包含所有您的设置的结构。固件可以在PDL函数调用中使用这些生成的结构,从而简化固件的开发。

     

    同样,BLE API已重新设计为支持双核体系结构。具有BLEPSoC 6 MCUBLE源代码连接作为PDL的中间件工。PSoC 6 MCU中用于BLEAPIPSoC 4 BLE/PRoCTM BLE不同,因此使用一个固件的固件不能直接移植到另外一个固件。

    此外,PSoC4PSoC6中的bootloader架构的设计过程有所不同。PSoC 6使用赛普拉斯Bootloader SDK。作为赛普拉斯外围驱动器库(PDL3.0.x的一部分提供。它是由一组可调用函数和其它函数组成的API支持快速引导加载程序开发的元素。有关更多详细信息,请参见AN213924-PSoC6 MCU Bootloader 软件开发套件(SDK)指南

    有关PDL的更多详细信息,请参阅PDL用户指南,可以在目录<PDL Installation directory>\doc中找到。此外,有关开发的更多详细信息可以参考下面文档: