0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

聚沃科技 2024-01-09 10:07 次阅读

GD32F系列MCU产品片上Flash分Code区和Data区,以GD32F303系列为例,从GD32F303xx Datasheet中可以获取code区和data区大小,那Code区和Data区在代码执行上有什么差别呢?

?code=NjBlZTJiYTk1MTBjNDZiYWFiMDM5Y2I3NjY4YzIwZjFfWEpUQlg5dGg3bzl2YkdYblJ5UkNQbEo4R25FUnR0NzlfVG9rZW46VzVpN2JhZWVwb1RqUkt4NG9EZmN3TGRrbmhkXzE3MDQ3NjU4ODk6MTcwNDc2OTQ4OV9WNA

Code区代码运行0等待,一般用于存放实时性要求高的代码,比如中断服务程序等;Data区代码运行有较大延迟(平均比Code区慢一个数量级),Data区一般用于存放对实时性要求不高的代码或数据。

导致该问题的原因是GD32F系列产品架构决定,其采用SIP的方式叠封了GD Flash,带来的优势是代码执行在code区相同主频下具有最高的代码执行效率,带来的问题是data区代码执行会慢一些,该问题是个双刃剑,具有两面性,我们需要在了解原理的情况下,更大限度的发挥优势。

解决方案为如果代码量没有超过code区大小,恭喜你,没有这个问题的烦恼;如果代码量超过了code区大小,可以通过分散加载方式将实时性要求高的代码存放在Code区,将实时性要求低的代码存放在Data区。

PS:有关分散加载的说明,聚沃会有专题进行说明,如需要可以移步参考。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6044

    文章

    44643

    浏览量

    640013
  • mcu
    mcu
    +关注

    关注

    146

    文章

    17401

    浏览量

    353275
  • Data
    +关注

    关注

    0

    文章

    63

    浏览量

    38370
  • Code
    +关注

    关注

    0

    文章

    70

    浏览量

    15458
  • GD32
    +关注

    关注

    7

    文章

    416

    浏览量

    24572
收藏 人收藏

    相关推荐

    AN122 GD32H7系列MCU OSPI flash执行环境用户指南

    电子发烧友网站提供《AN122 GD32H7系列MCU OSPI flash执行环境用户指南.pdf》资料免费下载
    发表于 01-17 15:57 0次下载
    AN122 <b class='flag-5'>GD</b>32H7<b class='flag-5'>系列</b><b class='flag-5'>MCU</b> OSPI <b class='flag-5'>flash</b>执行环境用户指南

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

    GD32E230 ,大体上来说工作量不大,移植后的效果也不错,GD32E230 相比 STM32F030 有不少功能的升级,主频也更高,能感觉到国产
    的头像 发表于 09-07 10:24 912次阅读
    【<b class='flag-5'>GD</b>32 <b class='flag-5'>MCU</b> 移植教程】10、从STM32<b class='flag-5'>F</b>030<b class='flag-5'>系列</b>移植到<b class='flag-5'>GD</b>32E230<b class='flag-5'>系列</b>

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

    GD32F30x 系列 MCU 是基于 Arm® Cortex®-M4 处理器的 32 位通用微控制器,与 STM32F10x 系列
    的头像 发表于 09-07 09:57 1105次阅读
    【<b class='flag-5'>GD</b>32 <b class='flag-5'>MCU</b> 移植教程】9、从 STM32<b class='flag-5'>F</b>10x <b class='flag-5'>系列</b>移植到 <b class='flag-5'>GD32F</b>30x <b class='flag-5'>系列</b>

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

    GD32F4xx 系列 MCU 是基于 Arm® Cortex®-M4 处理器的 32 位通用微控制器,与 STM32F4xx系列
    的头像 发表于 09-06 09:40 1643次阅读
    【<b class='flag-5'>GD</b>32 <b class='flag-5'>MCU</b> 移植教程】8、从 STM32<b class='flag-5'>F</b>4xx <b class='flag-5'>系列</b>移植到 <b class='flag-5'>GD32F</b>4xx 系

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

    本应用笔记旨在帮助您快速将基于 GD32F10x 2.0 版本及以上固件库开发的应用程序从GD32F10x 系列微控制器移植到 GD32E103
    的头像 发表于 09-05 09:40 697次阅读
    【<b class='flag-5'>GD</b>32 <b class='flag-5'>MCU</b> 移植教程】7、从 <b class='flag-5'>GD32F</b>10x 移植到 <b class='flag-5'>GD</b>32E103

    GD32 MCU 移植教程】6、从GD32F1x0和GD32F3x0移植到GD32E230

    GD32E230 系列GD 最新推出的 Cortex_M23 系列产品,该系列资源与既有的
    的头像 发表于 09-04 09:38 781次阅读
    【<b class='flag-5'>GD</b>32 <b class='flag-5'>MCU</b> 移植教程】6、从<b class='flag-5'>GD32F</b>1x0和<b class='flag-5'>GD32F</b>3x0移植到<b class='flag-5'>GD</b>32E230

    GD32 MCU 移植教程】5、GD32E230 系列移植到 GD32F330 系列

    GD32E230 系列GD 的 Cortex_M23 系列产品,GD32F330 系列
    的头像 发表于 09-03 10:05 1594次阅读
    【<b class='flag-5'>GD</b>32 <b class='flag-5'>MCU</b> 移植教程】5、<b class='flag-5'>GD</b>32E230 <b class='flag-5'>系列</b>移植到 <b class='flag-5'>GD32F</b>330 <b class='flag-5'>系列</b>

    GD32 MCU 移植教程】2、从 GD32F303 移植到 GD32F503

    GD32E503 系列GD 推出的 Cortex_M33 系列产品,该系列资源
    的头像 发表于 08-31 09:36 1668次阅读
    【<b class='flag-5'>GD</b>32 <b class='flag-5'>MCU</b> 移植教程】2、从 <b class='flag-5'>GD32F</b>303 移植到 <b class='flag-5'>GD32F</b>503

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

    闪存控制器(FMC),提供了闪存需要的所有功能。FMC 也提供了页擦除,整片擦除,以及32 位整字或 16 位半字编程闪存等操作。 GD32 MCU 支持不同类型编程的具体说明如下
    的头像 发表于 08-21 09:56 1408次阅读
    <b class='flag-5'>GD</b>32 <b class='flag-5'>MCU</b> 入门教程】<b class='flag-5'>GD</b>32 <b class='flag-5'>MCU</b> 常见外设介绍(12)FMC 模块介绍

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

    ISP:In System Programing,在系统编程,通过MCU内的引导程序进行Flash编程。 GD32内有一个只读信息块,用
    的头像 发表于 08-08 16:20 1260次阅读
    【<b class='flag-5'>GD</b>32 <b class='flag-5'>MCU</b> 入门教程】二、<b class='flag-5'>GD</b>32 <b class='flag-5'>MCU</b> 烧录说明(1)ISP 烧录

    GD32F303红枫派开发板使用手册】第五讲 FMC-Flash擦写读实验

    MC即Flash控制器,其提供了Flash操作所需要的所有功能,在GD32F303系列
    的头像 发表于 06-02 10:05 947次阅读
    【<b class='flag-5'>GD32F</b>303红枫派开发板使用手册】第五讲 FMC-<b class='flag-5'>片</b>内<b class='flag-5'>Flash</b>擦写读实验

    GD32H757Z海棠派开发板使用手册】第四讲 FMC-Flash擦写读实验

    FMC即Flash控制器,其提供了Flash操作所需要的所有功能,在GD32H7XX系列
    的头像 发表于 04-19 10:09 1469次阅读
    【<b class='flag-5'>GD</b>32H757Z海棠派开发板使用手册】第四讲 FMC-<b class='flag-5'>片</b>内<b class='flag-5'>Flash</b>擦写读实验

    GD32F10x系列MCU用户手册

    电子发烧友网站提供《GD32F10x系列MCU用户手册.pdf》资料免费下载
    发表于 03-13 10:27 14次下载
    <b class='flag-5'>GD32F</b>10x<b class='flag-5'>系列</b><b class='flag-5'>MCU</b>用户手册

    GD32F150xx系列MCU数据手册

    电子发烧友网站提供《GD32F150xx系列MCU数据手册.pdf》资料免费下载
    发表于 03-13 09:47 0次下载
    <b class='flag-5'>GD32F</b>150xx<b class='flag-5'>系列</b><b class='flag-5'>MCU</b>数据手册

    GD32F130xx系列MCU数据手册

    电子发烧友网站提供《GD32F130xx系列MCU数据手册.pdf》资料免费下载
    发表于 03-13 09:46 1次下载
    <b class='flag-5'>GD32F</b>130xx<b class='flag-5'>系列</b><b class='flag-5'>MCU</b>数据手册