0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

恩智浦MCXN947 MCU多核应用程序的创建和调试

恩智浦MCU加油站 来源:恩智浦MCU加油站 2025-04-07 15:17 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

一场静默的算力进化正在微控制器(MCU)领域爆发。当传统单核MCU在实时响应与多任务处理间艰难平衡时,双核架构带来历史破局:尤其在处理如兼具电机网络通信这类不同类型的协同应用时尤其有优势,应用双核MCU正在重构物联网终端的基因序列。

MCXN系列MCU包含两个Cortex M33内核,一个“主内核”(Master),以及一个可选的“从属”(Slave)Cortex M33内核(功能减少)。详细配置可见下图:

9205aa0e-1026-11f0-9310-92fbcf53809c.png

在通电或重置后,主内核启动执行(一般是Core0),从属核心处于重置状态(即其代码未开始执行)。然后,主内核运行负责将“从内核“从重置中释放出来。实际上,Master Slave角色只适用于引导过程,启动后,应用程序可能会将其中任何一个内核视为主内核或从内核。MCUXpresso IDE为创建和调试MCXN947提供了高度灵活的支持适用于单核和多核系统。本文详细介绍了MCXN947创建和调试这样的多核应用程序。

建立一个多核工程

MCUXpresso IDE中的多核应用程序由两个链接的项目组成——一个项目包含“从属“(下文称Slave)代码的项目和包含“主内核”(下文称Master)的另一个项目。“Master”项目还将包含一个指向“Slave”项目的链接。

创建新的多核应用程序的推荐方法是首先创建首先为“从属“(下文称Slave)核心创建项目,然后为Master核心创建项目。

打开 Quickstart Panel -> New project

921c6302-1026-11f0-9310-92fbcf53809c.png

922fecf6-1026-11f0-9310-92fbcf53809c.png

选择 “MCXN947” 后并点击Next,首先我们先建立slave工程。如下图所示:

924173ea-1026-11f0-9310-92fbcf53809c.png

点击Finish完成创建:

924ef3c6-1026-11f0-9310-92fbcf53809c.png

Memory Configuration中内存区域配置如上图所示, 在此应用中我们将Core1的代码存放在PROGRAM_FLASH1中,并在通过Flash运行,也可选择将Core1的代码链接到RAM中,在Core0运行后将Core1的代码拷贝加载到RAM中再运行,同时Core0和Core1通过rpmsg_sh_mem进行通信交互,最后点击Finish完成Slave工程的建立,接下来建立Master工程:

925d2ee6-1026-11f0-9310-92fbcf53809c.png

选择cm33_core0作为Master,点击Next:

926e28d6-1026-11f0-9310-92fbcf53809c.png

点击Finish完成Master工程的建立。打开工程的属性页,选择Settings->Multicore项目,选择Muticore slaves对应在Master memory region中的存储段为PROGRAM_FLASH1。

92800f74-1026-11f0-9310-92fbcf53809c.png

对于Multicore直接的相互通信,NXP主要提供如下所示的中间件,例如MCMGR, rpmsg_lite(远程消息机制),Remote ProcedureCall(远调用), 关于这些库的详细介绍,其中MCMGR提供了多核间的通信和同步机制,可在NXP官网下载MCXN947 SDK或者相应库代码,参阅软件包里的详细文档说明,我们也后续的文章中也会慢慢详细介绍这些库的使用。

当前在我们的工程中,通过增加 Available SDK components 加入MCMGR相应的组件。

928fad76-1026-11f0-9310-92fbcf53809c.png

92a06b8e-1026-11f0-9310-92fbcf53809c.png

9342dc0c-1026-11f0-9310-92fbcf53809c.png

多核项目的编译过程:

编译多核项目的最简单方法是触发Master项目的构建,通常使用快速启动面板中的“Build”选项。编译器会优先编译Slave项目,然后编译Master项目——最终将从属项目中的固件嵌入到主项目中完成构建。

935bb330-1026-11f0-9310-92fbcf53809c.png

如此我们完成了建立一个双核工程应用的第一步。

当万物互联进入深水区,双核MCU已不仅仅是芯片面积的简单倍增,而是演变为一场嵌入式系统的认知革命。它用物理核的确定性终结软件虚拟化的性能损耗,以硬件级任务隔离破解系统的实时性瓶颈,更通过核间通信总线构建出数据流转的专属高速公路。

据预测,未来双核MCU将占据工业自动化市场63%的份额,这场始于芯片架构的变革,终将催化出智能终端从「机械执行」到「自主决策」的质变---在算力与功耗的天平上,双核架构正在为万物装上隐形的智能翅膀。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    48

    文章

    8258

    浏览量

    162541
  • mcu
    mcu
    +关注

    关注

    147

    文章

    18635

    浏览量

    387682
  • 内核
    +关注

    关注

    4

    文章

    1436

    浏览量

    42508
  • 恩智浦
    +关注

    关注

    14

    文章

    6055

    浏览量

    135211

原文标题:邀你玩转MCXN947双核应用的强大内芯

文章出处:【微信号:NXP_SMART_HARDWARE,微信公众号:恩智浦MCU加油站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    MCU MCXN947 基于MCUXpresso Config tools创建IIC的教程步骤

    MCXN947是NXP推出的高性能微控制器,支持丰富的通信接口,如I2C。借助MCUXpresso Config Tools,开发者可快速配置I2C外设,生成初始化代码。该工具提供图形化界面,简化
    的头像 发表于 05-22 09:40 1820次阅读
    <b class='flag-5'>恩</b>智<b class='flag-5'>浦</b><b class='flag-5'>MCU</b> <b class='flag-5'>MCXN947</b> 基于MCUXpresso Config tools<b class='flag-5'>创建</b>IIC的教程步骤

    如何在MCXN947板的FlexSPI接口接HyperRAM

    MCXN947芯片是一款高度集成的微控制器,具有强大的处理能力、丰富的外设支持和高级安全特性,适用于多种复杂应用。其中有个非常重要的外设为FlexSPI。
    的头像 发表于 06-04 09:39 1748次阅读
    如何在<b class='flag-5'>MCXN947</b>板的FlexSPI接口接HyperRAM

    如何在MCXN947微控制器上配置安全启动和生命周期

    本文档旨在介绍如何在MCXN947微控制器上配置安全启动和生命周期,以确保产品在量产阶段的安全性,防止代码被窃取和篡改,并且能够安全地升级更新固件。通过本应用笔记,开发者可以更好地理解和实施安全启动和固件更新的最佳实践。
    的头像 发表于 06-26 09:49 2095次阅读
    如何在<b class='flag-5'>MCXN947</b>微控制器上配置安全启动和生命周期

    关于将Flash写入FRDM-MCXN947的问题求解

    这次我想问一个关于使用 MCXN947 将 Flash 写入另一个板的问题。 我尝试使用 FRDM-MCXN947 的写入方法作为参考写入此板,但发生了错误。 下面是当时控制台的内容。 NXP
    发表于 03-17 06:29

    MCXN947使用ADC并编写代码,总是报警告是怎么回事?

    我使用 MCXN947,我想使用 ADC 并编写代码,但警告总是发生。然后我创建了一个新项目进行调试,它仍然发生了。 我试着打扫,但还是没用。 警告:无法将 \'main\' 从主机编码 (CP1252) 转换为 UTF-32。
    发表于 03-20 08:17

    MCXN947如何配置和外扩PSRAM?

    mcxn947自带的ram太小了,无法满足需求,想外扩一块psram,比如乐鑫的esp-psram64芯片,这个需求有哪个案例可以参考吗?
    发表于 03-31 06:54

    《电子发烧友电子设计周报》聚焦硬科技领域核心价值 第7期:2025.04.7--2025.04.11

    设置安全边界——瑞萨RA系列FSP库开发实战指南 5、MCXN947 MCU多核应用程序
    发表于 04-11 19:51

    MCXN947怎么驱动FRDM-STBI-A8974三轴陀螺仪?

    MCXN947怎么驱动FRDM-STBI-A8974三轴陀螺仪
    发表于 04-14 10:50

    MCX系列MCU的新品MCXN947

    鉴于 N54x 是 N94x 的简配版,我们今天主要聊 MCXN947 这个型号。老规矩先来看一下 MCXN947 内部模块框图,它搭载了两个 Arm Cortex-M33 内核,主频可达 150MHz,此外还为 CM33 配备了 DSP 协处理器(PowerQuad)。
    的头像 发表于 12-21 12:57 3297次阅读

    【上海】5月25日-基于MCX N系列MCU结合RT-Thread的应用与实践 线下培训

    5月25号,RT-Thread将携手共同举办基于MCXN系列MCU结合RT-Thre
    的头像 发表于 05-13 18:19 2030次阅读
    【上海】5月25日-基于<b class='flag-5'>恩</b>智<b class='flag-5'>浦</b>MCX N系列<b class='flag-5'>MCU</b>结合RT-Thread的应用与实践 线下培训

    FRDM-MCXN947开发实践指南》上线啦

    RT-Thread率先支持NXPFRDM-MCXN947,并联合半导体推出了NXPFRDM-MCXN947开发板评测活动。测评活动顺利完成,并且有了不错的产出,我们将大家的测试文
    的头像 发表于 05-13 18:19 3496次阅读
    《<b class='flag-5'>恩</b>智<b class='flag-5'>浦</b>FRDM-<b class='flag-5'>MCXN947</b>开发实践指南》上线啦

    使用VSCode调试FRDM MCXN947开发板

    想必关注MCXN947系列MCU的朋友们已经知道板载MCXN947的FRDM开发板已经正式和大家见面了。
    的头像 发表于 05-16 11:16 1775次阅读
    使用VSCode<b class='flag-5'>调试</b>FRDM <b class='flag-5'>MCXN947</b>开发板

    新品MCX N系列线下培训来啦!LVGL、AI等超多精彩Demo演示,快来报名吧!

    5月25号,RT-Thread将携手共同举办基于MCXN系列MCU结合RT-Thre
    的头像 发表于 05-19 08:36 1954次阅读
    <b class='flag-5'>恩</b>智<b class='flag-5'>浦</b>新品MCX N系列线下培训来啦!LVGL、AI等超多精彩Demo演示,快来报名吧!

    MCXN947系列高性能微控制器产品介绍

    基于Arm® Cortex®-M33的双核边缘人工智能新品MCXN947系列,搭配功能强大且完全开源的AWTK GUI框架,可轻松令产品方案实现成本与性能的完美平衡。
    的头像 发表于 08-06 16:14 2388次阅读
    <b class='flag-5'>MCXN947</b>系列高性能微控制器产品介绍

    使用NXP MCX-N板卡搭建环境及点灯

    FRDM-MCXN947开发板是一个基于MCXN947器件的低成本设计的评估板。MCXN947器件将两个Arm Cortex-M33微控制器和神经处理单元(NPU)集成在一个封装中。
    的头像 发表于 02-12 09:07 1691次阅读
    使用NXP MCX-N板卡搭建环境及点灯