news 2026/7/10 12:24:26

linux下RP2350芯片rt-thread开发(四)SRAM性能测试优化

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
linux下RP2350芯片rt-thread开发(四)SRAM性能测试优化

一、前言

之前的文章中我仅通过rt-thread系统配置未改动源码的情况下,就在RP2350芯片上跑起了系统和测试。CPU性能测试能完美完成,但用MemoryPerf工具的默认配置去测试SRAM性能还不能精确完成,误差会有些大。本文说明如何优化RP2350芯片的SRAM性能测试。

二、测试源码修改

2.1 MemoryPerf工具修改

MemoryPerf工具测试的目标是测试cpu对内存的连续读写性能。

MemoryPerf的默认配置是给大块内存(比如1MB)读写性能测试准备的,对整个内存块的单次读测试或者写测试的重复次数是200次,所以,对1MB内存进行测试会产生200MB的数据量。MCU对这种量级的数据读写耗时一般以秒计,从系统获得的计时值与实际耗时之间的误差可以忽略,测试运行结果会很精确。但用默认的200次重复计数测量小块内存时,比如4KB的内存块,只测试800KB的数据量,MCU实际完成时间是毫秒级的,而从系统获得的计时值是10毫秒的整数倍,会造成从系统获得的计时值与实际耗时之间的误差比较大,测试运行结果不精确。

所以,对于小内存块测试需要增大测试重复次数值,但该值无法通过menuconfig配置,只能修改源码。

测试重复次数值由工程的packages/MemoryPerf-latest/src/mem_pef.c文件里的ITERATIONS宏定义,默认值是200,我改成了20000。这样小块内存性能测试就能比较精确。

2.2 rt-thread修改

从上面的RP2350芯片系统总线连接图可以看出,芯片的520KB SRAM其实分了3大块:

  • 4x64KB的SRAM0-3:地址0x20000000~0x2003FFFF
  • 4x64KB的SRAM4-7:地址0x20040000~0x2007FFFF
  • 2x4KB的SRAM8-9:地址0x20080000~0x20081FFF

据此,我修改了rt-thread内存配置,在工程的board/board.h文件中,把PICO_SRAM_SIZE宏从520改成256。

这样就把RP2350芯片520KB SRAM内存的前256KB(即SRAM0-3)给rt-thread系统使用,剩下SRAM的可以进行内存测试。这样,系统内存和测试内存在逻辑上和物理上完全独立,互不干扰。

三、测试及结果

将修改的代码编译下载到pico2兼容板上后,先运行了SRAM4-7的4KB、16KB、32KB块测试。

4KB测试结果:

16KB测试结果:

32KB测试结果:

可以看出RP2350片上arm核对SRAM 4KB及以上数据块的内存读写性能基本相同。arm核32bit写性能达到了近400MBps,32bit读性能达到了240MBps。

下面是SRAM8-9的4KB块测试。

结果与SRAM4-7一致。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/10 4:31:34

β-Amyloid (25-35);GSNKGAIIGLM

一、基础性质英文名称:β-Amyloid (25-35);Amyloid β-Protein (25-35);Aβ25-35中文名称:β- 淀粉样蛋白 (25-35);β- 淀粉样肽 (25-35)单字母序列:GSNKGAIIGLM(标准 Aβ25-35 序列&#xff09…

作者头像 李华
网站建设 2026/7/9 13:51:54

冰 挂——冬日的风景线

冬日群峰,俨然一座童话秘境。溪流收住奔涌的脚步,倒挂悬崖,凝作晶莹剔透的冰景。 有的如乳白软酪,柔润饱满,铺满整面山壁;有的似银白玉柱,清透晶亮,挺立于崖下石阶;有的像…

作者头像 李华
网站建设 2026/7/10 11:06:42

Linux SSH隧道代理转发及多层转发

描述 SSH 协议是 Linux 系统中使用较为频繁的协议之一,通常用于远程管理主机或服务器,默认使用 22 端口,可类比 Windows 系统中的 telnet(23 端口),这里要介绍的是 ssh 除了远程连接外的另一强大特性&…

作者头像 李华
网站建设 2026/7/10 11:06:38

Codebuddy使用CloudBase MCP辅助AI编码基于Spec工作流开发的坦克大战小游戏

目录引言一、什么是基于Spec的工作流二、基于Spec的工作流实现方式1、专为规范驱动设计的IDE2、集成规范驱动功能的工具或插件三、实践开发坦克大战小游戏1、IDE Codebuddy插件安装CloudBase MCP2、需求澄清3、技术方案设计4、任务分解5、技术实现总结引言 在上一篇文章《浅谈…

作者头像 李华
网站建设 2026/7/10 11:10:08

Java真的不行了,一天收到586份简历

这是小红书上一位招聘Java的人事发布的Java人员找工作现状。 Java以前有多火,现在就有多难挤进这条赛道,岗位越来越少,就业人越来越多,技术越来越新,时代越来越进步,这十分要求还在传统Java道路上的人&…

作者头像 李华