2026/6/28 18:43:39
网站建设
项目流程
已有网站开发app终端,wordpress如果有图片显示图片,html视频播放器代码,六年级做网站的软件一、前言之前的文章中我仅通过rt-thread系统配置未改动源码的情况下#xff0c;就在RP2350芯片上跑起了系统和测试。CPU性能测试能完美完成#xff0c;但用MemoryPerf工具的默认配置去测试SRAM性能还不能精确完成#xff0c;误差会有些大。本文说明如何优化RP2350芯片的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~0x2003FFFF4x64KB的SRAM4-7地址0x20040000~0x2007FFFF2x4KB的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写性能达到了近400MBps32bit读性能达到了240MBps。下面是SRAM8-9的4KB块测试。结果与SRAM4-7一致。