突破异构设计瓶颈!以Cortex-M33核实现硬实时与高性能的完美平衡

发布时间:2025-11-7 阅读量:640 来源: 发布人: suii

在嵌入式系统设计领域,如何在高性能应用处理与硬实时控制任务之间取得完美平衡,一直是工程师面临的核心挑战。传统方案往往采用多芯片或性能折衷的方式,存在成本高、结构复杂、实时性不足等痛点。我爱方案网推荐STM32MP257系列异构微处理器,以其Cortex-M33实时核是实现硬实时性能的关键所在,为这一难题提供了优雅而高效的解决方案。


一、异构架构:分工明确,效能卓越

STM32MP257采用创新的双核子系统设计:

Cortex-A35应用核(双核1.5GHz):运行Linux系统,负责复杂UI、网络通信、文件管理等非实时任务。

Cortex-M33实时核(400MHz):专攻实时控制,具备纳秒级中断响应,集成FPU和DSP指令集。


二、架构优势凸显:

硬件级资源隔离:通过RIF单元确保M33核独占关键外设,避免核间冲突

能效精细控制:支持独立电源域,M33可在A核休眠时单独运行

安全可靠:TrustZone技术,为关键代码提供硬件级保护

 

三、OpenAMP:异构通信的桥梁

OpenAMP是异构系统中核心间消息通信的开源框架,基于RPMsg+共享内存+中断,让Linux核和Cortex-M核可以可靠地传递消息和数据,高效地共享数据或协调任务的机制,简化异构多核开发。

在STM32MP257中,典型实现方式包括remoteproc+virtio+RPMsg等。它的核心目标是让Cortex-A核和Cortex-M核协同工作,同时保持资源隔离和实时性能。


· Remoteproc框架

STM32MP257使用了RemoteProc框架让A核运行的Linux系统可以更加轻松的和M核进行通信控制,RemoteProc主要作用就是对远程处理器的生命周期进行管理,即启动、停止远程处理器。该框架还会创建 RPMsg Virtio 设备。以下是RemoteProc的逻辑框图:

图片2.png 

图1 RemoteProc运行逻辑

在RemoteProc框架中,需要在Linux系统中将M核的固件通过命令加载到M核的内存中。


· RPMsg框架

RPMsg框架( Remote Processor Messaging Framework )则是实现对远程处理器信息传递。RPMsg是基于VirtIO的消息总线,它允许内核驱动程序与系统上可用的远程处理器进行通信。通讯框架入下图:

图片3.png 

图2 RPMSG框架

消息服务基于共享内存,使用 RPMsg 和 Virtio 框架,RemoteProc框架则控制远程处理器生命周期。信号通知( Mailbox )服务则基于内部IPCC( Inter-Processor communication controller ),ST提供 OpenAMP相关库。


· Virtio(虚拟化模块)

Virtio 是一个支持虚拟化的 I/O 框架,通过共享环形缓冲区(vring)提供高效的消息传输层。Virtio中有两个单向的vring,分别用于处理器之间的消息传递,RX VRING 用于接收来自远程处理器的消息,TX VRING专用于将消息发送到远程处理器。


四、实战演练:异核控制LED

基于异构通讯框架,A核通过发送LED控制命令,驱动M33核响应并实现LDE灯的开关操作。

在构建前需要将开发板设备树中的gpio_led的蓝灯关闭,关闭A核占用,设备树中修改位置具体如下:

图片4.png 

图3 设备树屏蔽蓝灯

关闭后将设备树单独构建并更新到开发板中,具体方式请查阅《MYD-LD25X Linux 软件开发指南》中4.3章节。

在IDE中导入OpenAMP_TTY_echo_Led例程,导入完成后如下所示:

图片5.png

 

图4 例程导入

该例程由官方例程OpenAMP_TTY_echo修改,主要修改即为下图中虚拟串口回调函数的框选部分:

图片6.png 

图5 回调函数修改

实现过程比较简单,基本是对A核的消息进行了判断处理,针对GPIO的主要控制使用了HAL_GPIO_WritePin函数,该函数位于Drivers/BSP/stm32mp2xx_hal_gpio.c:

图片7.png 

图6 函数实现

 

程序运行流程图:

image.png

图7 OpenAMP_TTY_echo_Led流程图

然后继续构建,点击上图4中的OpenAMP_TTY_echo_Led_CM33_NonSecure,然后点击上方锤子右边箭头并选择CA35TDCID_m33_ns_sign:

图片9.png 

图8 编译选择

选择后会立即构建编译,完成后在CA35TDCID_m33_ns_sign目录中拷贝elf文件到开发板中:

图片10.png 

图9 拷贝文件

确保在开发板中目录结构如下:

图片11.png 

图10 目录结构

输入以下内容执行脚本,运行后如图所示:

image.png

图片12.png 

图11 运行程序

在A核输入以下命令后台监控M核虚拟串口反馈:

image.png

输入以下命令控制Led蓝灯亮灭:

image.png

结果如下:

图片13.png

 

图12 运行结果

图片14.png

图13 基于STM32MP257核心板及开发板

相关资讯
【原理图&源代码开源】国产800W大功率微型逆变器方案,双路MPPT效率达99.80%!

在光伏发电系统的技术演进中,逆变器作为连接新能源发电系统(光伏、风电)与电网的核心电力电子装置,负责将直流电(DC)转换为与电网同频、同相的交流电(AC)并馈入电网,并且能直接决定着电能转换效率、电能质量和系统稳定性。

内置1.2T至3.0T算力!瑞芯微高性能SOC实现800W像素的AI智能摄像头方案

随着人工智能技术的快速变革,安防监控摄像头融合了前沿的AI技术,从早期的图像记录发展到如今具备AI运算能力和算法,可进行目标识别、行为分析以及事件反馈,完成了从被动记录到主动预警的智能化升级。

25.6Gbps高带宽、高存储的国产工业级FPGA全栈方案,适用于工业控制、高速数据采集等场景

FPGA技术具备专用集成电路(ASIC)的高性能与低延迟特性,还拥有通用处理器的灵活性,非常适用于对实时性、可靠性和定制化要求高的场景。

基于 RK3576 开发板的 MIPI 摄像头 ISP 全链路调试方案:主观调优与工程实战(下)

在上篇我们完成了 BLC、LSC、AWB 及 CCM 的客观标定、建立科学成像基准的基础上,本文将延续 ISP 调试流程,依次进行主观画质调试、IQ 文件配置与常见问题排查,直至实现全流程闭环落地。

4K分辨率+夜视算法!全新瑞芯微RV1126B摄像头方案上市

瑞芯微RV1126B夜视摄像头方案集成新一代AI双ISP(图像信号处理)模块、夜视算法,具备强大的图像处理与硬件加速能力