电子产品世界 » 论坛首页 » 活动中心 » 板卡试用 » 【PSOCEdgeE84AIkit测评】2、ModusToolbox软件生态和程

共1条 1/1 1 跳转至页

【PSOCEdgeE84AIkit测评】2、ModusToolbox软件生态和程序开发

高工
2026-11-14 17:44:04     打赏

ModusToolbox软件是英飞凌官方提供的物联网应用开发平台

ModusToolbox_Intro.png

https://www.infineon.com/design-resources/development-tools/sdk/modustoolbox-software

ModusToolbox软件提供软件安装管理、BSP配置、MCU外设配置、工程创建、软件组件管理等功能,完成从底层MCU硬件配置、组件管理、应用程序开发和调试的全流程管理。

ModusToolbox_Eco.png

ModusToolbox软件由于ModusToolbox Setup管理和安装。

ModusToolbox_Install.png

使用到的软件包含基础的开发环境、工具链、软件包等,用于实现MCU工程的创建、编译等功能。ModusToolbox软件生态中还包含用于AI模型训练和部署的DEEPCRAFT工具集、烧录使用的ModusToolbox Programming tools以及MCU安全管理套件等功能软件包。

通过ModusToolbox Setup能方便地安装和管理需要的开发软件。

1、ModusToolbox创建开发板示例工程和烧录

PSOC Edge E84 AI Kit属于官方的开发板,ModusToolbox Project Creator支持创建基于该开发板的示例程序,ModusToolbox Dashboard中选择创建工程的平台类型为Eclipse for ModusToolbox。

Project_Type_Select.png

IDE中选择创建新的应用

Create_New_Application.png

选择开发板对应的BSPKIT_PSE84_AI,设置ModusToolbox Settings->Manifest DB的位置设置为Default China Manifest DB,提高资源的获取速度

Select_KIT_PSE84_AI_Res_Location.png

选择开发板支持的示例工程,

Select_APP_Project_Name.png

由于PSOC Edge E84是多核芯片,而且CortexM33内核分为安全程序和非安全程序,生成的示例工程的组成结构如下,在应用中包含cm33_ns、cm33_s以及cm55三个子工程。

Project_Struct.png

示例应用的启动按照cm33_s->cm33_ns->cm55的顺序启动。

image.png

cm33_s工程的main.c中的代码设置cm33_ns程序镜像的首地址到No-Secure的MSP(Main Stack Pointer),以及设置NonSecure_ResetHandler函数的地址,调用NoSecure的复位中断从而启动cm33_ns程序。

EEPW_Taks1\bsps\TARGET_APP_KIT_PSE84_AI\system_edge.h

#if (CY_SYSTEM_CPU_M33) && defined(COMPONENT_SECURE_DEVICE) && defined(__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U)
/**
  \brief CMSE void function pointer
*/
typedef void (*cy_cmse_funcptr) (void) __attribute__((cmse_nonsecure_call));
#endif // (CY_SYSTEM_CPU_M33) && defined(COMPONENT_SECURE_DEVICE) && defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U)

EEPW_Taks1\proj_cm33_s\main.c

    uint32_t ns_stack;
    cy_cmse_funcptr NonSecure_ResetHandler;

    ns_stack = (uint32_t)(*((uint32_t*)CM33_NS_APP_BOOT_ADDR));
    __TZ_set_MSP_NS(ns_stack);

    NonSecure_ResetHandler = (cy_cmse_funcptr)(*((uint32_t*)(CM33_NS_APP_BOOT_ADDR + 4)));

    /* Start non-secure application */
    NonSecure_ResetHandler();

cm33_ns启动,指定CM55的固件首地址,调用Cy_SysEnableCM55启动CM55程序。

EEPW_Taks1\proj_cm33_ns\main.c

/* App boot address for CM55 project */
#define CM55_APP_BOOT_ADDR          (CYMEM_CM33_0_m55_nvm_START + \
                                        CYBSP_MCUBOOT_HEADER_SIZE)

int main(void)
{
    .......
    /* Enable CM55. */
    /* CM55_APP_BOOT_ADDR must be updated if CM55 memory layout is changed.*/
    Cy_SysEnableCM55(MXCM55, CM55_APP_BOOT_ADDR, CM55_BOOT_WAIT_TIME_USEC);
    ......

}

编译工程和下载固件到开发板

build_program.png

串口输出的信息如下

Hello_World_Print.png





关键词: ModusToolBox     BSP    

共1条 1/1 1 跳转至页

回复

匿名不能发帖!请先 [ 登陆 注册 ]