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

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

    关注

    455

    文章

    50804

    浏览量

    423507
  • STM32
    +关注

    关注

    2270

    文章

    10900

    浏览量

    355928
  • 代码
    +关注

    关注

    30

    文章

    4787

    浏览量

    68591

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

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

收藏 人收藏

    评论

    相关推荐

    单片机的存储空间不够用了,有哪些解决办法?

    数据或程序;还可以对数据进行压缩处理,不影响功能的前提下,减少数据占用的存储空间;另外,根据实际需求,重新选择存储空间更大的单片机型号也是一个可行的方案。 上面说发是否正确a
    发表于 10-15 22:33

    Synology如何使用Nvme固态做存储空间

    Synology 如何使用Nvme固态做存储空间
    发表于 10-09 10:55 0次下载

    STM32G4系列到底支不支持位带操作

    印象中不止一次有人询问STM32G4系列到底支不支持位带操作。
    的头像 发表于 07-29 09:45 1550次阅读
    <b class='flag-5'>STM32G4</b>系列到底支不支持位带操作

    stm32G4的tim2有霍尔模式,能不能用tim1的通道4连接tim2?

    stm32G4的tim2有霍尔模式,能不能用tim1的通道4连接tim2
    发表于 07-24 07:47

    STM32G4芯片怎么使用最新功能三角函数?

    求助各位大佬: STM32G4芯片怎么使用最新功能三角函数?
    发表于 04-15 08:17

    关于STM32G473程序运行于Flash和Ram速度的疑问求解

    关于STM32G473程序运行于Flash和Ram速度问题,向大家请教一下。之前用的是F4系列的程序(没有指定ram区),移植到G473里
    发表于 04-12 07:18

    请问STM32G4的ADC1,ADC2,ADC3,ADC4可以同时工作独立模式吗?

    咨询下各位: STM32G4的ADC1,ADC2,ADC3,ADC4可以同时工作独立模式吗?每个ADC的触发条件为同一个条件。或者说其他STM32也行。这样是否相当于我同事采样和转换
    发表于 04-10 06:01

    STM32G4系列的comp比较器的刹车事件和比较中断怎么用?

    STM32G4系列的comp比较器的刹车事件和比较中断怎么用
    发表于 04-03 07:33

    请问STM32G4的推挽PWM如何配置?

    STM32G4的推挽PWM如何配置?
    发表于 04-03 06:17

    使用RT-Thread操作系统时,STM32G4系列微控制器上使用PWM设备驱动时遇到了编译错误怎么解决?

    使用RT-Thread操作系统时,尝试STM32G4系列微控制器上使用PWM设备驱动时遇到了编译错误。具体来说,问题出现在处理不同STM32系列时钟配置的条件编译指令中。编译器报
    发表于 03-22 07:22

    对于STM32G4系列的MCU,其GPIO的位操作是否还支持位带操作?

    STM32G4的memory map。GPIO是挂在AHB2总线上的。 但是手册里面没有明确找到,其别名区的起始地址。
    发表于 03-21 07:34

    PCAN系列网关内部存储空间解析:EEPROM与Flash的集成应用

    Flash的配置与利用,并解析如何通过C编程实现快速实时的信号存读。通过虹科PCAN-Router FD的实例,我们将展示这些存储空间如何助力网关设备复杂环境中保持卓越性能。
    的头像 发表于 03-18 13:45 524次阅读
    PCAN系列网关内部<b class='flag-5'>存储空间</b>解析:EEPROM与Flash的集成应用

    请问STM32G4系列的MCU可以支持以太网吗?

    请问STM32G4系列的MCU可以支持以太网吗?该系列同时支持以太网和USB Host或OTG接口的型号有吗?
    发表于 03-15 06:14

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

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

    记忆黑板与存储空间:探讨其限制与可能性

    记忆黑板与存储空间:探讨其限制与可能性 在当今的数字化时代,信息的存储和管理已经成为一项重要的任务。记忆黑板作为一种信息存储和展示工具,其存储空间是否有限制,成为了许多用户关心的问题。
    的头像 发表于 01-17 19:16 333次阅读