我們知道一般MCU的flash有等待周期,隨主頻提升需要插入flash讀取的等待周期,以stm32f103為例,主頻在72M時(shí)需要插入2個(gè)等待周期,故而代碼效率無法達(dá)到最大時(shí)鐘頻率。

所以STM32F103將代碼加載到sram運(yùn)行速度更快。
但使用GD32F303時(shí)將代碼加載到SRAM后速度反而下降了一些,這是為什么呢?
我們前面了解過GD32F303 flash的code area區(qū)是零等待的,GD32F系列MCU片上Flash中Code區(qū)和Data區(qū)使用解密
零等待訪問理論上就應(yīng)該和在sram運(yùn)行速度一樣,那么為何會(huì)比sram更快一些呢?
通過查閱GD32F303用戶手冊(cè)系統(tǒng)架構(gòu)章節(jié)我們可以知道,訪問flash時(shí)可以直接通過ibus和sbus專用總線進(jìn)行訪問,而訪問sram時(shí)通過AHB主機(jī)接口通過System BUS進(jìn)行訪問,AHB主機(jī)接口下更還有掛載有其他主機(jī)和外設(shè)總線,共享總線帶寬。

所以GD32F303的代碼運(yùn)行在code area零等待區(qū)時(shí),效率會(huì)比常規(guī)加載sram的方式更高。
-
單片機(jī)
+關(guān)注
關(guān)注
6067文章
44969瀏覽量
649177 -
嵌入式
+關(guān)注
關(guān)注
5147文章
19613瀏覽量
316452 -
sram
+關(guān)注
關(guān)注
6文章
784瀏覽量
115815 -
GD32
+關(guān)注
關(guān)注
7文章
420瀏覽量
25362
發(fā)布評(píng)論請(qǐng)先 登錄

為什么GD32F303代碼運(yùn)行在flash比sram更快?#GD32 #flash #SRAM #單片機(jī)
【GD32F303】星空派介紹
星空派GD32F303開發(fā)板的相關(guān)資料下載
在GD32f303工程里使用獨(dú)立看門狗
AN029 GD32F103程序在GD32F303和GD32F403芯片上運(yùn)行DSP

GD32F303固件庫開發(fā)

STM32CUBEMX開發(fā)GD32F303

STM32CUBEMX開發(fā)GD32F303(17)----內(nèi)部Flash讀寫

GD32F303為什么啟動(dòng)慢?

【GD32F303紅楓派開發(fā)板使用手冊(cè)】第五講 FMC-片內(nèi)Flash擦寫讀實(shí)驗(yàn)

【GD32F303紅楓派開發(fā)板使用手冊(cè)】第二十講 SPI-SPI NAND FLASH讀寫實(shí)驗(yàn)

【GD32 MCU 移植教程】2、從 GD32F303 移植到 GD32F503

評(píng)論