STM32的内部SRAM和外部SRAM读取速度对比

前言

在STM32的SRAM不足时,我们第一时间会想到使用外部SRAM扩展SRAM。外部的SRAM读取速度显然会比内部SRAM低,但这一差别有多大呢?本文以F407ZGT6单片机为例,测试其内部SRAM读取速度和外部扩展的型号为IS62WV51216的SRAM读取速度。

测试方法

(1)TIM2和TIM5级联构成64位us时间基准,用于测量读取SRAM耗时

(1)中描述的级联方法可参考stm32定时器级联提供64位时间基准[HAL库]_Max_kevin的博客-CSDN博客_stm32 定时器级联

(2)分别以u8、u16、u32、u64为单位读取SRAM对比内部SRAM和外部SRAM速度差异

(3)每次读取测试执行的汇编指令均相同,不同的只是读取内部或外部SRAM

测试结果

1.以u8为单位读取SRAM

单位 SRAM类型 耗时(us) 速度(MB/s)
u8 内部 61562 162.438
外部 498469 20.061

2.以u16为单位读取SRAM

单位 SRAM类型 耗时(us) 速度(MB/s)
u16 内部 62659 319.188
外部 499567 40.035

3.以u32为单位读取SRAM

单位 SRAM类型 耗时(us) 速度(MB/s)
u32 内部 62658 638.386
外部 1123718 35.596

4.以u64为单位读取SRAM

单位 SRAM类型 耗时(us) 速度(MB/s)
u64 内部 499809 160.061
外部 2933516 27.271

内部SRAM和外部SRAM读取速度对比图:

STM32的内部SRAM和外部SRAM读取速度对比_第1张图片

 

你可能感兴趣的:(单片机开发,stm32,单片机,arm)