"); //-->
以下文章来源于茶话MCU ,作者Miler
最近有人问起程序在STM32G4片内不同存储空间运行的速度差异。说实在的,这个很难说死或说出个绝对的数据,毕竟结果除了跟执行代码的存放空间有关外,还跟代码本身的内容、程序逻辑、编译工具及优化等级等都息息相关。我这里设计了一个小测试程序做了下简单比较,以供参考。
我们不妨先看看STM32G4系列内部系统框架图。下图是STM32G4芯片的系统框架图,我将测试程序放在图中三个黄色高亮位置来运行。

我将程序分别放在CCM、通用SRAM1、Flash区来运行,基于不同的配置,即是否开启指令预取、指令/数据Cache等,得到下面一个表格。代码所在区域栏里的数据代表各种情形下的执行时间。

从上面表格可以看出,相同配置下在CCM里执行速率总是最高。
至于代码放在SRAM和Flash里的执行速率,不同配置下结果并不太一样。比如在开启prefetch和使能指令/数据Cache时,即第(1)种配置条件下,在SRAM里运行的速率是最慢的,只有在上图中的第(3)种情形下,代码在SRAM里运行速率相比在FLASH里运行才凸显出明显优势。
对于STM32G4系列芯片,芯片复位后其Prefetch功能是关闭的,而指令/数据Cache是开启的,即复位后默认为上面的第(2)种情形。结合上图,我们不难看出情形(1)与情形(2)的差别不大,至少不显著。
上面数据虽只是基于特定代码测试而得,但作为基本的方向性判断还是可以的。
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
瑞萨RA0单片机连载——面向对象编程之SHT31温度计
超低功率高性能新一代产品MSP430F5xx
[转帖]从Cygnal C8051F看8位单片机发展之路
介绍采用 nanoWatt XLP技术的超低功耗系列单片机
长虹R2118A型彩电开关电源(LA单片机)电路
用单片机制作的纯正弦波逆变电源电路
AVR 单片机专栏,资料下载!之二
《AVR单片机C语言库》
MSP430单片机TIMER_A在产品设计中的应用
功率监测与控制系统DIY——搭建环境,定时器翻转LED
语音合成芯片T6668和单片机8031的接口电路图
创维数码5000系列彩电开关电源(AN单片机)电路
瑞萨单片机技术概述
用AT89C2051单片机实验合弦乐
Microchip推出集成高性能模拟外设的32位PIC32A单片机
GD32E230F6V6实用指南:为下一个项目选择合适单片机
倾情奉献:MSP430汇编指令集(中文),详解带实例!
Microchip发布PIC16F17576单片机(MCU)系列,简化模拟传感器设计
瑞萨RA0单片机连载——PWM实现呼吸灯
利用PIC12C508单片机来实现加密狗技术[转帖]
单片机语言C51应用实战集锦
MSP430 电表解决方案
双芯智控革命:IGBT与单片机如何重塑智能微波炉
16位语言函数工具库
《ATmega8原理及应用手册》
MSP430x2xx4xx系列
5V 单片机与5V 耐压单片机有何区别,为什么至关重要
AVR 单片机专栏,资料下载!
新手必看的单片机知识
车规级MCU介绍