这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 【英飞凌开发经验】ModusToolbox配置EdgeTalk外设

共1条 1/1 1 跳转至页

【英飞凌开发经验】ModusToolbox配置EdgeTalk外设

高工
2026-10-02 20:03:24     打赏

RTThread出品的Edge Talk开发板使用Infineon的PSoC Edge E84芯片作为主控,本文介绍如何使用英飞凌的ModusToolbox工具集配置开发板的外设,运行英飞凌的官方例程。

1、英飞凌ModusToolbox工具集

英飞凌的ModusToolbox工具集,用于英飞凌MCU的片上资源配置(Device Configurator)、BSP生成(BSP Assistant)、外部存储器件管理(QSPI Configurator)、工程组件库管理(Library Manager)等。相关的工具在VSCode开发环境中进行调用。

ModusToolbox_Functions.png

2、RTThread Edge Talk硬件资源配置

对于RTThread的Edge Talk,不算官方的开发板,ModusToolbox默认安装中不支持这块开发板,需要相应的BSP支持包,RTThread官方提供的仓库中可以找到相应的BSP支持包,类似ST的CubeMX、Renesas的FSP(RASC)、NXP的MCUXpresso SDK,作用是用于提供MCU的驱动代码。

Edge Talk的仓库文档中,有开发板的核心板和基板的原理图。

"sdk-bsp-psoc_e84-edgi-talk\docs\board\PSOC-Edge-E84\PSoc_Edge_Core_Schematic.pdf"

"sdk-bsp-psoc_e84-edgi-talk\docs\board\PSOC-Edge-E84\PSoc_Edge_Basic_Schematic.pdf"

以调试器串口的引脚为例,下图左侧为核心板原理图的截图,引脚名称左侧的数字表示关联该引脚的其他页面的序号。右侧为基板的原理图,从原理图的引脚连接,通过几张图连接到一起,确定调试器串口引脚和MCU引脚的连接关系。

Debug_Uart_Select.png

调试器引脚连接器引脚MCU引脚

DEBUG_UART_RXUART_RXP6_7
DEBUG_UART_RXUART_TXP6_5

同样地,可以找到板载的三个LED的引脚。

Basic_LED1_2_3.png

调试器引脚连接器引脚MCU引脚

USER_LED1USER_LED1P16_7
USER_LED2USER_LED2P16_6
USER_LED3USER_LED3P16_5

ModusToolbox DashBoard提供BSP Assistant的启动和说明书。

BSP Assistant选择Create a new BSP->Select device part numbers,根据PSE846GPS2DBZC4选择芯片,并指定BSP的存储位置。

BSP_Target_Select.png

在管理界面显示BSP可配置的不同选项以及对应选项可以使用的软件工具。

BSP_management_page.png

启动Device Configurator,配置MCU的引脚、时钟等资源,核心板使用ECO外部晶振电路用于提供外部时钟源,Device Configurator的Clock选项卡中设置ECO时钟源。

ECO_Clock.png

Peripherals选项卡中用于使能MCU使用到的外设和设置相应的外设参数

SCB2_Periph_Settings.png

Clock界面中调整时钟树的配置,用于生成SCB2的时钟驱动。

CLK_for_SCB2.png

板载的LED引脚设置,通过Pins选项卡,使能引脚和设置GPIO的参数。

LED_Pins_Settings.png

PSoC Edge E84可以选择从内部地RRAM启动或者外部的Flash启动,开发板默认是从外部的Flash启动,通过调整开发板的拨码开关进行BOOT选项的切换。

BOOT_Selection.png

核心板的外部Flash(S25FS128SAGMFI101)和PSRAM(S70KS1283GABHV020)的原理图如下。

Core_SMIF_Flash_PSRAM.png

两个器件对应的MCU引脚如下

SMIF_MCU_Siganals.png

Device Configurator的Perpherals选项卡中勾选用于管理外部Flash和HyperRAM的QSPI0和QSPI1外设。

Select_QSPI_for_ext_storage.png

时钟树中配置CLK_PATH0、PLL0和CLK_HF3,用于QSPI0的时钟驱动

clk_for_qspi0.png

QSPI0外设配置页面选择时钟和引脚

QSPI0_Paras.png

类似地,QSPI1的时钟和外设配置如下。

clk_for_qspi1.png

QSPI1_Paras.png

BSP Assistant中添加用于管理QSPI存储的QSPI Configuration,其中用于管理QSPI存储器件的地址和指令,是高度集成化的工具。完成QSPI的读写驱动、外部FlashLoader生成等。

BSP_add_QSPI_Configuration.png

启动QSPI Configurator,配置外部Flash和HyperRAM,关于QSPI Configurator的具体使用说明,可以查看Help链接的文档。

Open_QSPI_Configurator.png

QSPI Configrator中默认支持开发板的Flash和HyperRAM型号,根据对应的QSPI接口设置相应的存储芯片型号、接口类型、读写权限和XIP参数。QSPI可以生成用于烧录外部Flash的FlashLoader文件,勾选上方的FlashLoader Directories并设置文件夹名称,保存QSPI Configurator文件,在BSP的bsps\TARGET_Edge_Talk\config\GeneratedSource路径下会生成PSE84_SMIF.FLM用于外部Flash烧录的FlashLoader文件,将其复制到bsps\TARGET_Edge_Talk\config\FlashLoaders中,用于工程后续的固件烧录。

QSPI_Configurator_Options.png

BSP Assistant中,可以额外添加宏定义,经过测试,工程需要添加CYBSP_MCUBOOT_HEADER_SIZE=0x400宏。

Add_Additional_Defines.png

生成的宏设置可以在bsps\TARGET_Edge_Talk\bsp.mk中找到。

3、使用BSP创建ModusToolbox示例工程

ModusToolbox的Project Creator中会自动导入创建的BSP,根据创建的BSP的存放路径,选择自定义的Edge Talk BSP。

Select_Defined_BSP.png

由于BSP只配置了串口,在示例选择界面,选择Hello World示例程序,用于验证BSP设置是否正确。

Edge_Talk_Hello_World\proj_cm33_ns\main.c

    /* \x1b[2J\x1b[;H - ANSI ESC sequence for clear screen. */
    printf("\x1b[2J\x1b[;H");

    printf("****************** "
           "PSOC Edge MCU: RTThread Edge Talk "
           "****************** \r\n\n");

    printf("Hello World!\r\n\n");
    printf("For more projects, "
           "visit our code examples repositories:\r\n\n");

    printf("https://github.com/Infineon/"
           "Code-Examples-for-ModusToolbox-Software\r\n\n");

编译并烧录程序到开发板后,查看开发板的串口输出信息如下

Example_Output.png





关键词: ModusToolBox     BSP    

共1条 1/1 1 跳转至页

回复

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