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:有关分散加载的说明,聚沃会有专题进行说明,如需要可以移步参考。
【解决方案】安科瑞基站能源物联网综合解决方案
华为已获全球22份5G网络合同 致力于5G技术商业化
单片机应用系统的开发流程
美国对EUV和5nm等六种新兴技术实施控制
关于相似边距离测量条码译码识别方案
GD32F系列MCU片上Flash中Code区和Data区使用解密
磁悬浮的基本原理
黑芝麻智能接连获2021年智驾独角兽等三项行业权威大奖
零距离“触摸科技”,创客火参展第四届科普嘉年华!
HK32MCU应用笔记(二)| 国外品牌采用航顺HK32F030R8T6代替出现串口不兼容解决方法
智能建筑中的无线控制装置设计
模拟量子计算的实力前景不可限量
轮毂电机关键技术问题及国内外发展对比
采用STC12C5A60S2单片机为核心实现自动配料控制系统的设计
基于以太网的EtherCAT协议技术
Hugging Face大语言模型优化技术
中国电信打造苏宁广场5G数字商业新模式,引领信息消费场景升级
迈测|位移传感器在实际应用中的意义
视频监控系统方面你知道的有哪一些
双面现场动平衡操作步骤