GD32F系列MCU產(chǎn)品片上Flash分Code區(qū)和Data區(qū),以GD32F303系列為例,從GD32F303xx Datasheet中可以獲取code區(qū)和data區(qū)大小,那Code區(qū)和Data區(qū)在代碼執(zhí)行上有什么差別呢?
Code區(qū)代碼運行0等待,一般用于存放實時性要求高的代碼,比如中斷服務程序等;Data區(qū)代碼運行有較大延遲(平均比Code區(qū)慢一個數(shù)量級),Data區(qū)一般用于存放對實時性要求不高的代碼或數(shù)據(jù)。
導致該問題的原因是GD32F系列產(chǎn)品架構(gòu)決定,其采用SIP的方式疊封了GD Flash,帶來的優(yōu)勢是代碼執(zhí)行在code區(qū)相同主頻下具有最高的代碼執(zhí)行效率,帶來的問題是data區(qū)代碼執(zhí)行會慢一些,該問題是個雙刃劍,具有兩面性,我們需要在了解原理的情況下,更大限度的發(fā)揮優(yōu)勢。
解決方案為如果代碼量沒有超過code區(qū)大小,恭喜你,沒有這個問題的煩惱;如果代碼量超過了code區(qū)大小,可以通過分散加載方式將實時性要求高的代碼存放在Code區(qū),將實時性要求低的代碼存放在Data區(qū)。
PS:有關(guān)分散加載的說明,聚沃會有專題進行說明,如需要可以移步參考。
-
單片機
+關(guān)注
關(guān)注
6023文章
44376瀏覽量
628345 -
mcu
+關(guān)注
關(guān)注
146文章
16667瀏覽量
347769 -
Data
+關(guān)注
關(guān)注
0文章
61瀏覽量
38157 -
Code
+關(guān)注
關(guān)注
0文章
67瀏覽量
15326 -
GD32
+關(guān)注
關(guān)注
7文章
400瀏覽量
23972
發(fā)布評論請先 登錄
相關(guān)推薦
評論