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

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

所以GD32F303的代碼運(yùn)行在code area零等待區(qū)時,效率會比常規(guī)加載sram的方式更高。
-
單片機(jī)
+關(guān)注
關(guān)注
6063文章
44915瀏覽量
646905 -
嵌入式
+關(guān)注
關(guān)注
5141文章
19528瀏覽量
314927 -
sram
+關(guān)注
關(guān)注
6文章
781瀏覽量
115665 -
GD32
+關(guān)注
關(guān)注
7文章
418瀏覽量
25152
發(fā)布評論請先 登錄

為什么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(17)----內(nèi)部Flash讀寫

GD32F303為什么啟動慢?

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

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

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

評論