国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

    文章

    54007

    瀏覽量

    465949
  • STM32
    +關注

    關注

    2309

    文章

    11162

    瀏覽量

    373413
  • 代碼
    +關注

    關注

    30

    文章

    4967

    瀏覽量

    73960

原文標題:STM32G4芯片內不同空間運行代碼的速率比較

文章出處:【微信號:stmcu832,微信公眾號:茶話MCU】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    智能顯示模塊Flash存儲空間有多大?模塊的內存有多大?

    智能顯示模塊Flash存儲空間有多大?模塊的內存有多大?
    發表于 02-26 09:17

    單片機里的程序運行方式

    數據存儲物理結構上分程序存儲器和數據存儲器,有四個物理上相互獨立的存儲空間,即
    發表于 01-16 06:57

    存儲空間的小端格式

    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 ?1523次閱讀
    ?基于<b class='flag-5'>STM32G</b>474的數字電源控制板設計解析與應用指南

    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

    IMX93自定義構建期間運行bitbake imx image full時遇到報錯怎么解決?

    IMX93 自定義構建期間運行 bitbake imx image full 時,我們遇到錯誤。您能否盡早提供解決方案?我們使用的是 imx 6.6.52 版本。
    發表于 04-10 06:29

    STM32L431RCT6主芯片 搭配 SD NAND-動態心電圖設備存儲解決方案

    高性能的同時,顯著降低了設備的運行功耗。結合STM32L431RCT6主芯片的能效優化特性(基于ARM Cortex-M4的低功耗架構),動態心電圖設備能夠長時
    發表于 03-27 10:56

    使用Hal庫的SPI讀取磁邊傳感器導致STM32G4無法運行怎么解決?

    使用 HAL庫 STM32G431 + SPI ,讀取磁邊傳感器系統運行一會直接卡死,使用調試功能最后發現卡死if ((__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_TXE
    發表于 03-14 08:24

    STM32G4串口無法發送正確的信息是怎么回事?

    STM32G4串口無法發送正確的信息
    發表于 03-14 07:14

    NAND Flash與SD NAND的存儲扇區架構差異

    NAND Flash?和?SD卡(SD NAND)的存儲扇區分配表都是用于管理存儲設備中扇區的分配信息。它們記錄了哪些扇區已被使用、哪些是空閑的,以及文件或數據與扇區的對應關系,以便實現數據的準確讀寫和存儲空間的有效管理。
    的頭像 發表于 03-13 15:20 ?1871次閱讀
    NAND Flash與SD NAND的<b class='flag-5'>存儲</b>扇區架構<b class='flag-5'>差異</b>

    STM32L431上使用內部RTC,時間運行到23:59:59秒后,變為了24:00:00并不是00:00:00,為什么?

    大家好,我STM32L431上使用內部RTC,時間運行到23:59:59秒后,變為了24:00:00,并不是00:00:00,并且weekday也沒有加一,這是為什么呢?
    發表于 03-11 06:32

    STM32和MCP2515通信,STM32這端還需要接CAN PHY嗎?

    最近在做CAN通信的相關項目,STM32G4負責接收,對端是一個MCP2510+TJA1040的組合, 想問下應該如何接?STM32這端還需要接CAN PHY嗎?
    發表于 03-10 06:18