【STM32MP135F-DK】实时性能评估
<div class='showpostmsg'> 本帖最后由 fangkaixin 于 2024-1-7 15:27 编辑<!--
* @Author: fangkaixin fangkaixin@estun.com
* @Date: 2024-01-04 18:10:57
* @LastEditors: fangkaixin fangkaixin@estun.com
* @LastEditTime: 2024-01-04 19:11:59
* @FilePath: \undefinedc:\Users\fangkaixin\Desktop\# STM32MP13X 实时性能评估综述.md
* @Description: 图片上传还有点问题,周末搞一下
*
* Copyright (c) 2024 by fangkaixin, All Rights Reserved.
-->
# STM32MP13X 实时性能评估综述
STM32MP13X系列处理器作为一款注重实时性能的处理器,在X-LINUX-RT扩展包的支持下,展现出了其强大的实时处理潜力。本文将对其实时性能进行全面评估,并探讨其在实时应用中的优势与应用前景。
## 硬件特性与性能
STM32MP13X系列处理器低功耗设计和丰富的外设支持而闻名。这为其在实时应用领域提供了强大的硬件基础,能够应对各种实时场景的需求。
## X-LINUX-RT扩展包功能
X-LINUX-RT扩展包是针对STM32MP系列处理器的实时特性设计的,其为该系列处理器带来了以下关键功能:
- **确定性与低延迟:** 通过固定处理器频率和使用高分辨率定时器,实现了对延迟的极低要求。
- **电源管理优化:** 确保了处理器的最佳性能和寿命,针对不同系列进行了频率设置优化。
## 实时应用场景
在实时要求较高的领域,如工业自动化、机器人技术和医疗设备领域,STM32MP13X的实时性能展现出了其巨大的潜力。例如,在工业自动化中,其能够快速响应传感器数据,并实时进行处理,从而提高了生产线的效率和精确度。
## 开发工具和支持
针对STM32MP13X的开发环境和工具链提供了完善的支持,配备了强大的IDE和调试工具,为开发人员提供了便捷的开发体验。技术支持和丰富的资源也为开发者提供了极大的帮助。
## 实时性能测试
### 1. 准备测试环境(本文仅基于Developer Package添加X-LINUX-RT扩展包测试)
#### 1.1 OpenSTLinux SDK + 开发包STM32MP1 Developer Package,之前我们已经下载并安装好了,详见之前的文章[《玩转ecosystem软件包,内核编译初尝试》](https://bbs.eeworld.com.cn/thread-1267897-1-1.html)
#### 1.2 下载X-LINUX-RT meta,克隆以下仓库到指定路径
```bash
cd <Developer Package installation directory>/stm32mp1-openstlinux-6.1-yocto-mickledore-mp1-v23.06.21/sources/arm-ostl-linux-gnueabi/
git clone -b mickledore https://github.com/STMicroelectronics/meta-st-x-linux-rt.git
```
#### 1.3 修改BSP,为了启用实时性能特性,需要修改两个BSP组件:Linux kernel和OP-TEE OS
##### 1.3.1 修改Linux kernel
应用在Linux kernel路径下的补丁`<Developer Package installation directory>/stm32mp1-openstlinux-6.1-yocto-mickledore-mp1-v23.06.21/sources/arm-ostl-linux-gnueabi/meta-st-x-linux-rt/recipes-kernel/linux/6.1/6.1.28`
```bash
for p in `ls -1 <Developer Package installation directory>/stm32mp1-openstlinux-6.1-yocto-mickledore-mp1-v23.06.21/sources/arm-ostl-linux-gnueabi/meta-st-x-linux-rt/recipes-kernel/linux/6.1/6.1.28/*.patch`; do patch -p1 < $p; done
```
##### 1.3.2 修改OP-TEE OS
应用在OP-TEE OS 目录下的补丁 `<Developer Package installation directory>/stm32mp1-openstlinux-6.1-yocto-mickledore-mp1-v23.06.21/sources/arm-ostl-linux-gnueabi/meta-st-x-linux-rt/recipes-security/optee/optee-os`
```bash
for p in `ls -1 <Developer Package installation directory>/stm32mp1-openstlinux-6.1-yocto-mickledore-mp1-v23.06.21/sources/arm-ostl-linux-gnueabi/meta-st-x-linux-rt/recipes-security/optee/optee-os/*.patch`; do patch -p1 < $p; done
```
### 2. 运行性能测试命令
使用cyclictest工具进行系统的实时性能测试。以下是测试命令:
```bash
cyclictest --mlockall -t -a --priority=99 --interval=200 --distance=0 -l 1000
```
## 性能测试与比较
针对实时性能,在使用X-LINUX-RT实时拓展包前后,以及增加压力负载前后,进行了一系列测试,以下是执行cyclictest测试的结果:
#### 1.无负载,未使用X-LINUX-RT实时拓展包
#### 2.无负载,使用X-LINUX-RT实时拓展包
#### 3.加负载,使用X-LINUX-RT实时拓展包
从上述结果可以看出,在主频最高1Ghz的单核处理器下,运行富生态的OpenSTlinux系统,X-LINUX-RT实时拓展包给出的优化效果已经非常明显了,相信未来在更多实时场景下会见到它的身影。
## 未来展望
随着技术的不断发展,STM32MP13X系列处理器将继续在实时领域不断进步。未来版本将可能进一步优化实时性能,并针对用户反馈不断改进,以满足更广泛的实时应用需求。
综上所述,对于STM32MP13X系列处理器,ST定制化开发了X-LINUX-RT扩展包,而不是直接使用内核社区的实时补丁,表明其对实时应用领域的重视,凭借其强大的硬件支持和X-LINUX-RT扩展包的实时优化,展现出了在实时领域的显著优势。它不仅适用于现有的实时场景,而且在未来有望成为更多实时应用的首选处理器之一。相信未来会越做越好
</div><script> var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;" style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
if(parseInt(discuz_uid)==0){
} </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script> <p>它不仅适用于现有的实时场景,而且在未来有望成为更多实时应用的首选处理器之一。相信未来会越做越好。</p>
<p>现在mcu,mpu的界限是越来越分不清了。可以相互补充了。</p>
<p>定制化的X-LINUX-RT扩展包还是很好的嘛</p>
Jacktang 发表于 2024-1-5 07:27
定制化的X-LINUX-RT扩展包还是很好的嘛
<p>ST生态确实做的好,各种扩展包很齐全</p>
本帖最后由 fangkaixin 于 2024-1-7 15:33 编辑
<div class="quote">
<blockquote><font size="2"><a href="forum.php?mod=redirect&goto=findpost&pid=3291504&ptid=1268866" target="_blank"><font color="#999999">lugl4313820 发表于 2024-1-4 19:58</font></a></font> 它不仅适用于现有的实时场景,而且在未来有望成为更多实时应用的首选处理器之一。相信未来会越做越好。 ...</blockquote>
</div>
<p>其实mcu,mpu侧重点还是不同的。现在mpu的实时化方案很多,比如用mpu上的小核心运行rtos弥补,与运行Linux的大核心进行核间通信,再比如虚拟化也是一个发展方向。这方面ST官方想的很周到了,既有实时扩展包,还可以直接运行RTOS</p>
<p>版主,您本章节的内容从1.1开始都是在开发板上操作吗?</p>
zhgongzuoshi 发表于 2024-7-10 10:43
版主,您本章节的内容从1.1开始都是在开发板上操作吗?
<p>是的</p>
页:
[1]