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

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

所以GD32F303的代碼運(yùn)行在code area零等待區(qū)時(shí),效率會(huì)比常規(guī)加載sram的方式更高。
-
單片機(jī)
+關(guān)注
關(guān)注
6076文章
45495瀏覽量
670407 -
嵌入式
+關(guān)注
關(guān)注
5198文章
20449瀏覽量
334088 -
sram
+關(guān)注
關(guān)注
6文章
820瀏覽量
117471 -
GD32
+關(guān)注
關(guān)注
7文章
432瀏覽量
27355
發(fā)布評(píng)論請(qǐng)先 登錄
為什么GD32F303代碼運(yùn)行在flash比sram更快?#GD32 #flash #SRAM #單片機(jī)
【GD32F303】星空派介紹
星空派GD32F303開(kāi)發(fā)板的相關(guān)資料下載
在GD32f303工程里使用獨(dú)立看門(mén)狗
AN029 GD32F103程序在GD32F303和GD32F403芯片上運(yùn)行DSP
GD32F303固件庫(kù)開(kāi)發(fā)
STM32CUBEMX開(kāi)發(fā)GD32F303
STM32CUBEMX開(kāi)發(fā)GD32F303(17)----內(nèi)部Flash讀寫(xiě)
GD32F303為什么啟動(dòng)慢?
【GD32F303紅楓派開(kāi)發(fā)板使用手冊(cè)】第五講 FMC-片內(nèi)Flash擦寫(xiě)讀實(shí)驗(yàn)
【GD32F303紅楓派開(kāi)發(fā)板使用手冊(cè)】第二十講 SPI-SPI NAND FLASH讀寫(xiě)實(shí)驗(yàn)
【GD32 MCU 移植教程】2、從 GD32F303 移植到 GD32F503
為什么GD32F303代碼運(yùn)行在flash比sram更快?
評(píng)論