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

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:有关分散加载的说明,聚沃会有专题进行说明,如需要可以移步参考。

GD32MCU技术交流群:859440462

更多GD32 MCU相关咨询:单片机开发板_国产mcu视频_GD32 - 苏州聚沃电子科技有限公司

相关推荐
阿拉斯攀登3 小时前
第 9 篇 RK 平台安卓驱动实战 2:中断驱动开发,按键中断的完整实现
驱动开发·嵌入式硬件·rk3568·中断·瑞芯微·rk3576·rk安卓驱动
_muffinman3 小时前
LED点阵8*8驱动开发笔记(Ai8051U单片机)
驱动开发·笔记·单片机
LCMICRO-133108477463 小时前
长芯微LDC64115完全P2P替代AD4115,是一款低功耗、低噪声、24位、Σ-Δ(Σ-Δ)模数转换器(ADC)
stm32·单片机·嵌入式硬件·fpga开发·硬件工程·模数转换器
busideyang4 小时前
数据手册和参考手册区别
stm32·单片机·嵌入式硬件·嵌入式
逐步前行4 小时前
STM32_时钟树_寄存器操作
stm32·单片机·嵌入式硬件
三佛科技-134163842124 小时前
FT8440E 与FT8440S-RT非隔离12V/18V 200MA开关电源芯片区别与联系?
单片机·嵌入式硬件·物联网·智能家居·pcb工艺
同年紀4 小时前
C8051 U-EC6 keil无法连接下载器解决办法
单片机·嵌入式硬件
LCG元5 小时前
STM32项目开发:基于HC-SR04的超声波测距与倒车雷达系统
stm32·单片机·嵌入式硬件
Darth Nihilus5 小时前
Raspberry Pi Compute Module Zero Development Board开发板(四)
linux·嵌入式硬件
我不是程序猿儿5 小时前
【嵌入式】外部中断的学习小坑记录
单片机·嵌入式硬件·学习