我們知道一般MCU的flash有等待周期,隨主頻提升需要插入flash讀取的等待周期,以stm32f103為例,主頻在72M時需要插入2個等待周期,故而代碼效率無法達到最大時鐘頻率。
所以STM32F103將代碼加載到sram運行速度更快。
但使用GD32F303時將代碼加載到SRAM后速度反而下降了一些,這是為什么呢?
我們前面了解過GD32F303 flash的code area區是零等待的,GD32F系列MCU片上Flash中Code區和Data區使用解密
零等待訪問理論上就應該和在sram運行速度一樣,那么為何會比sram更快一些呢?
通過查閱GD32F303用戶手冊系統架構章節我們可以知道,訪問flash時可以直接通過ibus和sbus專用總線進行訪問,而訪問sram時通過AHB主機接口通過System BUS進行訪問,AHB主機接口下更還有掛載有其他主機和外設總線,共享總線帶寬。
所以GD32F303的代碼運行在code area零等待區時,效率會比常規加載sram的方式更高。
-
單片機
+關注
關注
6042文章
44617瀏覽量
637540 -
嵌入式
+關注
關注
5090文章
19176瀏覽量
306886 -
sram
+關注
關注
6文章
768瀏覽量
114820 -
GD32
+關注
關注
7文章
413瀏覽量
24429
發布評論請先 登錄
相關推薦
評論