0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

在STM32G4片内不同存储空间运行的速度差异

茶话MCU 来源:茶话MCU 作者:Miler 2021-09-09 09:57 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

最近有人问起程序在STM32G4片内不同存储空间运行的速度差异。说实在的,这个很难说死或说出个绝对的数据,毕竟结果除了跟执行代码的存放空间有关外,还跟代码本身的内容、程序逻辑、编译工具及优化等级等都息息相关。我这里设计了一个小测试程序做了下简单比较,以供参考。

我们不妨先看看STM32G4系列内部系统框架图。下图是STM32G4芯片的系统框架图,我将测试程序放在图中三个黄色高亮位置来运行。

491077a8-10d3-11ec-8fb8-12bb97331649.png

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

492011a4-10d3-11ec-8fb8-12bb97331649.png

从上面表格可以看出,相同配置下在CCM里执行速率总是最高。

至于代码放在SRAM和Flash里的执行速率,不同配置下结果并不太一样。比如在开启prefetch和使能指令/数据Cache时,即第(1)种配置条件下,在SRAM里运行的速率是最慢的,只有在上图中的第(3)种情形下,代码在SRAM里运行速率相比在FLASH里运行才凸显出明显优势。

对于STM32G4系列芯片,芯片复位后其Prefetch功能是关闭的,而指令/数据Cache是开启的,即复位后默认为上面的第(2)种情形。结合上图,我们不难看出情形(1)与情形(2)的差别不大,至少不显著。

上面数据虽只是基于特定代码测试而得,但作为基本的方向性判断还是可以的。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    463

    文章

    54375

    浏览量

    468986
  • STM32
    +关注

    关注

    2312

    文章

    11189

    浏览量

    374514
  • 代码
    +关注

    关注

    30

    文章

    4975

    浏览量

    74349

原文标题:STM32G4芯片内不同空间运行代码的速率比较

文章出处:【微信号:stmcu832,微信公众号:茶话MCU】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    LAT1596一文说明白STM32G4双Bank启动与升级

    以及应用该特性进行程序升级。2. STM32G4 双 Bank 特性本章节以 STM32G474RET6 为例,介绍双 Bank 的特性,文中所引用到的参考代码都是基于 NUCLEO-G474RE 测试通过。2.1. 双 Ban
    发表于 04-15 16:14 0次下载

    STM32N6 PSRAM 上运行代码的调试

    1. 引言STM32N6 项目中,用户代码可能会比较大,此时仅用内部 SRAM 并不能满足用代码运行需求。那么,将代码放置到 PSRAM 上运行也是个不错的选择。2. 问题2.1. 问题详情客户
    发表于 04-15 16:02 0次下载

    LAT1596 一文说明白 STM32G4 双 Bank 启动与升级

    STM32G4 系列 MCU 越来越多的应用在数字电源项目中,客户希望软件升级的过程中,不影响当前程序的执行或者尽量减少打断当前程序执行的时间,本文介绍 STM32G4 的双Bank 特性以及应用该
    发表于 03-11 10:47 0次下载

    智能显示模块Flash存储空间有多大?模块的内存有多大?

    智能显示模块Flash存储空间有多大?模块的内存有多大?
    发表于 02-26 09:17

    单片机里的程序运行方式

    数据存储物理结构上分程序存储器和数据存储器,有四个物理上相互独立的存储空间,即
    发表于 01-16 06:57

    极致空间,极致性能:9.5mm光驱位变身超快NVMe存储

    ICYDOCKMB411V4PO-2B,这款设备完美解决了空间优化需求。它将标准9.5mm光驱位巧妙转变为专业NVMe存储空间,支持安装7mm厚的U.2/U.3企业级SSD,通过原生P
    的头像 发表于 01-04 15:41 912次阅读
    极致<b class='flag-5'>空间</b>,极致性能:9.5mm光驱位变身超快NVMe<b class='flag-5'>存储</b>

    CW32F030上FLASH闪存存储器物理区域的划分

    上 FLASH 闪存由两部分物理区域组成:主 FLASH 存储器和启动程序存储器。 1、主 FLASH 存储器,共 64KB,地址空间
    发表于 12-23 08:28

    存储空间的小端格式

    CW32F030 内核为 32 位的 ARM® Cortex®-M0+ 微处理器,最大寻址空间4GB。芯片内置的程序存储器、数据存储器、各外设及端口寄存器被统一编址
    发表于 12-11 07:03

    C语言和单片机C语言有什么差异

    的目标代码短、运行速度高、存储空间小、符合C语言的ANSI标准,生成的代码遵循Intel目标文件格式,而且可与A51汇编语言PL/M51语言目标代码混合使用。 4、C只是一种高级语言。它除具有一般高级
    发表于 11-14 07:55

    芯源的存储器介绍

    上FLASH 闪存由两部分物理区域组成:主FLASH 存储器和启动程序存储器。 ●● 主 FLASH 存储器,共 64KB,地址空间为 0
    发表于 11-12 07:34

    ‌基于STM32G474的数字电源控制板设计解析与应用指南

    STMicroelectronics STEVAL-DPSG474Q数字电源控制盘基于STM32G4系列的STM32G474QE微控制器。STEVAL-DPSG474Q可控制需要高引脚数的转换器的功率级(PFC、DCDC、DCAC),也可实现双级转换控制 (PFC+DCD
    的头像 发表于 10-15 13:59 1919次阅读
    ‌基于<b class='flag-5'>STM32G</b>474的数字电源控制板设计解析与应用指南

    CPM系列核心板,一款存储灵活的嵌入式核心板

    嵌入式产品开发中,存储空间不足是一个常见问题。一旦硬件设计定型,后期想扩容往往面临成本飙升、周期拉长、可靠性风险等难题。本文将介绍一种创新的解决方案,帮助开发者灵活应对存储空间不足的挑战。硬件定型
    的头像 发表于 08-13 11:34 582次阅读
    CPM系列核心板,一款<b class='flag-5'>存储</b>灵活的嵌入式核心板

    STM32F103长时间运行,串口发送失败怎么解决?

    STM32F103长时间运行,串口发送失败,目前定位到一致卡在USART_FLAG_TC判断那里,我们采用轮询的方式发送数据,然后判断USART_FLAG_TC是否发送成功,大量发送后出现了一次发送后USART_FLAG_TC
    发表于 07-30 07:55

    请问cyw20719b2的nvram的存储空间有多少字节?

    1)请问cyw20719b2的nvram 的存储空间有多少字节? 2)用wiced_hal_write_nvram()或wiced_hal_read_nvram()从nvram 写入或读出一字节数据需要多少时间
    发表于 07-08 07:41

    IDE中运行固件自带的AI程序,约2分钟左右就死机了,为什么?

    1、IDE中运行固件自带的AI程序,约2分钟左右就死机,点击停止报 繁忙,点连接也报 忙碌中。从资源管理器中点击CanMV可以访问下一级文件夹。 2、过几分钟后IDE中点击“连接
    发表于 06-06 07:28