GD32F系列MCU产品片上Flash分Code区和Data区,以GD32F303系列为例,从GD32F303xx Datasheet中可以获取code区和data区大小,那Code区和Data区在代码执行上有什么差别呢?
Code区代码运行0等待,一般用于存放实时性要求高的代码,比如中断服务程序等;Data区代码运行有较大延迟(平均比Code区慢一个数量级),Data区一般用于存放对实时性要求不高的代码或数据。
导致该问题的原因是GD32F系列产品架构决定,其采用SIP的方式叠封了GD Flash,带来的优势是代码执行在code区相同主频下具有最高的代码执行效率,带来的问题是data区代码执行会慢一些,该问题是个双刃剑,具有两面性,我们需要在了解原理的情况下,更大限度的发挥优势。
解决方案为如果代码量没有超过code区大小,恭喜你,没有这个问题的烦恼;如果代码量超过了code区大小,可以通过分散加载方式将实时性要求高的代码存放在Code区,将实时性要求低的代码存放在Data区。
PS:有关分散加载的说明,聚沃会有专题进行说明,如需要可以移步参考。
-
单片机
+关注
关注
6074文章
45335浏览量
663349 -
mcu
+关注
关注
147文章
18604浏览量
386652 -
Data
+关注
关注
0文章
63浏览量
39034 -
Code
+关注
关注
0文章
71浏览量
16152 -
GD32
+关注
关注
7文章
429浏览量
26930
发布评论请先 登录
兆易创新GD32 MCU家族高性能产品再添新锐:GD32F503/505系列芯片实力亮相
【RA4M2-SENSOR】读写Code Flash
RT-Thread适配兆易创新GD32F5系列MCU,开放免费试用申请!| 技术集结
MCU片上Flash
兆易创新推出GD5F1GM9系列高速QSPI NAND Flash
兆易创新推出GD5F1GM9系列高速QSPI NAND Flash
TikTok重新上架苹果美国区AppStore
AN122 GD32H7系列MCU OSPI flash执行环境用户指南
AN030 GD32F47x&F42x与GD32F45x&F40x系列间的差异

GD32F系列MCU片上Flash中Code区和Data区使用解密
评论