chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

簡(jiǎn)述STM32G4芯片內(nèi)不同空間運(yùn)行代碼的速率比較

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

掃碼添加小助手

加入工程師交流群

最近有人問(wèn)起程序在STM32G4片內(nèi)不同存儲(chǔ)空間運(yùn)行的速度差異。說(shuō)實(shí)在的,這個(gè)很難說(shuō)死或說(shuō)出個(gè)絕對(duì)的數(shù)據(jù),畢竟結(jié)果除了跟執(zhí)行代碼的存放空間有關(guān)外,還跟代碼本身的內(nèi)容、程序邏輯、編譯工具及優(yōu)化等級(jí)等都息息相關(guān)。我這里設(shè)計(jì)了一個(gè)小測(cè)試程序做了下簡(jiǎn)單比較,以供參考。

我們不妨先看看STM32G4系列內(nèi)部系統(tǒng)框架圖。下圖是STM32G4芯片的系統(tǒng)框架圖,我將測(cè)試程序放在圖中三個(gè)黃色高亮位置來(lái)運(yùn)行。

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

我將程序分別放在CCM、通用SRAM1、Flash區(qū)來(lái)運(yùn)行,基于不同的配置,即是否開(kāi)啟指令預(yù)取、指令/數(shù)據(jù)Cache等,得到下面一個(gè)表格。代碼所在區(qū)域欄里的數(shù)據(jù)代表各種情形下的執(zhí)行時(shí)間。

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

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

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

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

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

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 芯片
    +關(guān)注

    關(guān)注

    462

    文章

    53179

    瀏覽量

    453713
  • STM32
    +關(guān)注

    關(guān)注

    2301

    文章

    11073

    瀏覽量

    369367
  • CCM
    CCM
    +關(guān)注

    關(guān)注

    0

    文章

    169

    瀏覽量

    25275

原文標(biāo)題:STM32G4芯片內(nèi)不同空間運(yùn)行代碼的速率比較

文章出處:【微信號(hào):stmcu832,微信公眾號(hào):茶話MCU】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    ?基于STM32G474的數(shù)字電源控制板設(shè)計(jì)解析與應(yīng)用指南

    STMicroelectronics STEVAL-DPSG474Q數(shù)字電源控制盤(pán)基于STM32G4系列的STM32G474QE微控制器。STEVAL-DPSG474Q可控制需要高引腳數(shù)的轉(zhuǎn)換器的功率級(jí)(PFC、DCDC、DCAC),也可實(shí)現(xiàn)雙級(jí)轉(zhuǎn)換控制 (PFC+DCD
    的頭像 發(fā)表于 10-15 13:59 ?146次閱讀
    ?基于<b class='flag-5'>STM32G</b>474的數(shù)字電源控制板設(shè)計(jì)解析與應(yīng)用指南

    at_device 包 ml307長(zhǎng)時(shí)間運(yùn)行有內(nèi)存泄漏問(wèn)題怎么解決?

    使用 at_device 包中的 ml307 包長(zhǎng)時(shí)間運(yùn)行有大量?jī)?nèi)存泄漏問(wèn)題,大概漲了20K,求助解決。
    發(fā)表于 09-24 07:41

    STM32F103長(zhǎng)時(shí)間運(yùn)行,串口發(fā)送失敗怎么解決?

    STM32F103長(zhǎng)時(shí)間運(yùn)行,串口發(fā)送失敗,目前定位到一致卡在USART_FLAG_TC判斷那里,我們采用輪詢(xún)的方式發(fā)送數(shù)據(jù),然后判斷USART_FLAG_TC是否發(fā)送成功,在大量發(fā)送后出現(xiàn)了一次發(fā)送后USART_FLAG_TC沒(méi)有置位,然后就一直卡在這里了,這可如何是好
    發(fā)表于 07-30 07:55

    STM32IDE如何設(shè)定代碼到ITCM中運(yùn)行?

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

    STM32G431移植FreeModbus

    STM32G431移植FreeModbus 的代碼已通過(guò)驗(yàn)證,在WeActStudio的STM32G431CoreBoard上進(jìn)行多次測(cè)試,均可正常讀取寄存器數(shù)值。STM32G431C
    發(fā)表于 04-19 16:50 ?1次下載

    在IMX93自定義構(gòu)建期間運(yùn)行bitbake imx image full時(shí)遇到報(bào)錯(cuò)怎么解決?

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

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

    原先曾用STM32F4做過(guò),沒(méi)什么問(wèn)題,現(xiàn)在按照相同的思路使用STM32G431來(lái)做,怎么都不成了,我相信寫(xiě)的代碼沒(méi)什么問(wèn)題。 現(xiàn)在的情況是CDC能正常通訊,HID Keyboard能識(shí)別,但是有
    發(fā)表于 03-14 08:30

    使用Hal庫(kù)的SPI讀取磁邊傳感器導(dǎo)致STM32G4無(wú)法運(yùn)行怎么解決?

    使用 HAL庫(kù) STM32G431 + SPI ,讀取磁邊傳感器系統(tǒng)運(yùn)行一會(huì)直接卡死,使用調(diào)試功能最后發(fā)現(xiàn)卡死在if ((__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_TXE
    發(fā)表于 03-14 08:24

    STM32G4串口無(wú)法發(fā)送正確的信息是怎么回事?

    STM32G4串口無(wú)法發(fā)送正確的信息
    發(fā)表于 03-14 07:14

    STM32G4 CAN為什么無(wú)法檢測(cè)到bus-off狀態(tài)?

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

    STM32L431上使用內(nèi)部RTC,時(shí)間運(yùn)行到23:59:59秒后,變?yōu)榱?4:00:00并不是00:00:00,為什么?

    大家好,我在STM32L431上使用內(nèi)部RTC,時(shí)間運(yùn)行到23:59:59秒后,變?yōu)榱?4:00:00,并不是00:00:00,并且weekday也沒(méi)有加一,這是為什么呢?
    發(fā)表于 03-11 06:32

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

    最近在做CAN通信的相關(guān)項(xiàng)目,STM32G4負(fù)責(zé)接收,對(duì)端是一個(gè)MCP2510+TJA1040的組合, 想問(wèn)下應(yīng)該如何接?STM32這端還需要接CAN PHY嗎?
    發(fā)表于 03-10 06:18

    STM32G474的DAC4無(wú)輸出怎么解決?

    STM32G474 的DAC4采用定時(shí)器4觸發(fā)dma,OUT1連接到比較器5,測(cè)試下來(lái) DAC4沒(méi)輸出,是配置哪里有問(wèn)題嗎 定時(shí)器
    發(fā)表于 03-07 06:06

    DLPC3478長(zhǎng)時(shí)間運(yùn)行投影停止是什么原因?qū)е碌模?/a>

    1 原理圖設(shè)計(jì)是根據(jù)參考設(shè)計(jì)設(shè)計(jì)的 2 元器件是使用參考設(shè)計(jì)的元器件 3 在長(zhǎng)時(shí)間工作時(shí)候會(huì)出現(xiàn)投影停止,通過(guò)IIC可以讀取到芯片的信息。投影停止時(shí)間是不確定的,運(yùn)行2小時(shí)-24小時(shí)都可能出現(xiàn)不
    發(fā)表于 02-21 07:53

    基于STM32設(shè)計(jì)的大氣氣壓檢測(cè)裝置

    長(zhǎng)時(shí)間運(yùn)行同時(shí)又要求較高計(jì)算性能的應(yīng)用。特別是選用型號(hào)為STM32F103RCT6的微控制器,它不僅具備足夠的Flash存儲(chǔ)空間和RAM來(lái)支持復(fù)雜的軟件算法,還內(nèi)置了多種通信接口,便于連接外部傳感器和其他設(shè)備。
    的頭像 發(fā)表于 01-09 11:15 ?1671次閱讀
    基于<b class='flag-5'>STM32</b>設(shè)計(jì)的大氣氣壓檢測(cè)裝置