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:有关分散加载的说明,聚沃会有专题进行说明,如需要可以移步参考。
-
单片机
+关注
关注
6044文章
44643浏览量
640013 -
mcu
+关注
关注
146文章
17401浏览量
353275 -
Data
+关注
关注
0文章
63浏览量
38370 -
Code
+关注
关注
0文章
70浏览量
15458 -
GD32
+关注
关注
7文章
416浏览量
24572
发布评论请先 登录
相关推荐
AN122 GD32H7系列MCU OSPI flash执行环境用户指南

【GD32 MCU 移植教程】10、从STM32F030系列移植到GD32E230系列

【GD32 MCU 移植教程】9、从 STM32F10x 系列移植到 GD32F30x 系列

【GD32 MCU 移植教程】8、从 STM32F4xx 系列移植到 GD32F4xx 系

【GD32 MCU 移植教程】7、从 GD32F10x 移植到 GD32E103

GD32 MCU 入门教程】GD32 MCU 常见外设介绍(12)FMC 模块介绍

【GD32 MCU 入门教程】二、GD32 MCU 烧录说明(1)ISP 烧录

评论