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

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

簡述STM32G4芯片內不同空間運行代碼的速率比較

茶話MCU ? 來源:茶話MCU ? 作者:茶話MCU ? 2021-11-26 11:34 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

最近有人問起程序在STM32G4片內不同存儲空間運行的速度差異。說實在的,這個很難說死或說出個絕對的數據,畢竟結果除了跟執行代碼的存放空間有關外,還跟代碼本身的內容、程序邏輯、編譯工具及優化等級等都息息相關。我這里設計了一個小測試程序做了下簡單比較,以供參考。

我們不妨先看看STM32G4系列內部系統框架圖。下圖是STM32G4芯片的系統框架圖,我將測試程序放在圖中三個黃色高亮位置來運行。

f6d4720e-4ddc-11ec-9eda-dac502259ad0.png

我將程序分別放在CCM、通用SRAM1、Flash區來運行,基于不同的配置,即是否開啟指令預取、指令/數據Cache等,得到下面一個表格。代碼所在區域欄里的數據代表各種情形下的執行時間。

f712c19e-4ddc-11ec-9eda-dac502259ad0.png

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

至于代碼放在SRAM和Flash里的執行速率,不同配置下結果并不太一樣。比如在開啟prefetch和使能指令/數據Cache時,即第(1)種配置條件下,在SRAM里運行的速率是最慢的,只有在上圖中的第(3)種情形下,代碼在SRAM里運行速率相比在FLASH里運行才凸顯出明顯優勢。

對于STM32G4系列芯片,芯片復位后其Prefetch功能是關閉的,而指令/數據Cache是開啟的,即復位后默認為上面的第(2)種情形。結合上圖,我們不難看出情形(1)與情形(2)的差別不大,至少不顯著。

上面數據雖只是基于特定代碼測試而得,但作為基本的方向性判斷還是可以的。

編輯:jq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 芯片
    +關注

    關注

    463

    文章

    54010

    瀏覽量

    466151
  • STM32
    +關注

    關注

    2309

    文章

    11162

    瀏覽量

    373474
  • CCM
    CCM
    +關注

    關注

    0

    文章

    173

    瀏覽量

    25612

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    LAT1180+STM32L4R9 的 QuadSPI Flash 通訊速率不理想應用筆記

    客戶反應 STM32L4R9 同 QSPI Flash 通訊,測出來的讀取速率為 10MB/s, 和理論值相差較大。按照客戶的時鐘配置和 STM32L4R9 的數據手冊中的數據,OSPI 讀數
    發表于 01-11 17:30 ?0次下載

    ?基于STM32G474的數字電源控制板設計解析與應用指南

    STMicroelectronics STEVAL-DPSG474Q數字電源控制盤基于STM32G4系列的STM32G474QE微控制器。STEVAL-DPSG474Q可控制需要高引腳數的轉換器的功率級(PFC、DCDC、DCAC),也可實現雙級轉換控制 (PFC+DCD
    的頭像 發表于 10-15 13:59 ?1546次閱讀
    ?基于<b class='flag-5'>STM32G</b>474的數字電源控制板設計解析與應用指南

    at_device 包 ml307長時間運行有內存泄漏問題怎么解決?

    使用 at_device 包中的 ml307 包長時間運行有大量內存泄漏問題,大概漲了20K,求助解決。
    發表于 09-24 07:41

    嵌入式系統中,FLASH 中的程序代碼必須搬到 RAM 中運行嗎?

    嵌入式系統里,FLASH 中的程序代碼并非必須搬到 RAM 中運行,這得由硬件配置、實際性能需求和應用場景共同決定。就像很多低端單片機,無論是依賴片 Flash 還是外掛的 SPI NOR
    的頭像 發表于 08-06 10:19 ?1366次閱讀
    嵌入式系統中,FLASH 中的程序<b class='flag-5'>代碼</b>必須搬到 RAM 中<b class='flag-5'>運行</b>嗎?

    STM32F103長時間運行,串口發送失敗怎么解決?

    STM32F103長時間運行,串口發送失敗,目前定位到一致卡在USART_FLAG_TC判斷那里,我們采用輪詢的方式發送數據,然后判斷USART_FLAG_TC是否發送成功,在大量發送后出現了一次發送后USART_FLAG_TC沒有置位,然后就一直卡在這里了,這可如何是好
    發表于 07-30 07:55

    STM32IDE如何設定代碼到ITCM中運行

    近期使用STM32MUX生成STM32IDE的代碼(MCU是STM32H743),目前希望可以將部分代碼定位到ITCM中
    發表于 06-24 06:45

    STM32F3系列、STM32F4系列、STM32L4系列和STM32L4+系列Cortex-M4編程手冊

    電子發燒友網站提供《STM32F3系列、STM32F4系列、STM32L4系列和STM32L4+系列Cortex-M4編程手冊.pdf》資料
    發表于 06-06 17:06 ?17次下載

    STM32G431移植FreeModbus

    STM32G431移植FreeModbus 的代碼已通過驗證,在WeActStudio的STM32G431CoreBoard上進行多次測試,均可正常讀取寄存器數值。STM32G431C
    發表于 04-19 16:50 ?2次下載

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

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

    使用STM32G431做HID Keyboard與CDC符合設備,為什么做不了?

    原先曾用STM32F4做過,沒什么問題,現在按照相同的思路使用STM32G431來做,怎么都不成了,我相信寫的代碼沒什么問題。 現在的情況是CDC能正常通訊,HID Keyboard能識別,但是有
    發表于 03-14 08:30

    使用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

    STM32G4 CAN為什么無法檢測到bus-off狀態?

    我將STM32G473的板子配置了CAN,并周期發送了報文,使用USBCANFD-200U進行了接收。 1、起先在CAN盒子的接口處直接對總線CAN-H和CAN-L進行短接,發現無法進入
    發表于 03-11 07:46

    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