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

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

    关注

    6029

    文章

    44480

    浏览量

    631602
  • mcu
    mcu
    +关注

    关注

    146

    文章

    16840

    浏览量

    349729
  • Data
    +关注

    关注

    0

    文章

    62

    浏览量

    38215
  • Code
    +关注

    关注

    0

    文章

    68

    浏览量

    15350
  • GD32
    +关注

    关注

    7

    文章

    403

    浏览量

    24088
收藏 人收藏

    评论

    相关推荐

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

    GD32F30x 系列 MCU 是基于 Arm® Cortex®-M4 处理器的 32 位通用微控制器,与 STM32F10x 系列
    的头像 发表于 09-07 09:57 418次阅读
    【<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 843次阅读
    【<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 移植教程】6、从GD32F1x0和GD32F3x0移植到GD32E230

    GD32E230 系列GD 最新推出的 Cortex_M23 系列产品,该系列资源与既有的
    的头像 发表于 09-04 09:38 343次阅读
    【<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 765次阅读
    【<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 1272次阅读
    【<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 烧录说明(1)ISP 烧录

    ISP:In System Programing,在系统编程,通过MCU内的引导程序进行Flash编程。 GD32内有一个只读信息块,用
    的头像 发表于 08-08 16:20 640次阅读
    【<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 660次阅读
    【<b class='flag-5'>GD32F</b>303红枫派开发板使用手册】第五讲 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>数据手册

    GD32的FLASH读、擦除、写操作

    )的GD32F10x_CL和GD32F10x_XD,使用了两闪存;前512KB容量在第一闪存(bank0),后续的容量在第二
    的头像 发表于 02-19 12:46 3635次阅读
    <b class='flag-5'>GD</b>32的<b class='flag-5'>FLASH</b>读、擦除、写操作

    如何对GD32 MCU进行加密?

    :首先GD32MCU本身支持防硬开盖破解的功能,GD32MCU内部Flash直接硬开盖破解读取的数据无法在同型号的产品运行,因为GD32MCU
    的头像 发表于 01-20 09:30 1357次阅读
    如何对<b class='flag-5'>GD</b>32 <b class='flag-5'>MCU</b>进行加密?

    你了解GD32 MCU的命名规则吗

    下面为大家介绍GD32 MCU的通用命名规则,以GD32F303ZGT6为例,其中,GD32代表GD32
    的头像 发表于 01-13 09:38 3337次阅读
    你了解<b class='flag-5'>GD</b>32 <b class='flag-5'>MCU</b>的命名规则吗

    如何把ADUCM320 MCU里面所有flash都擦除干净?

    今天我在使用ADUCM320的评估版 优化、调试代码的时候,添加了一些dataflash:0x1F800-0x1FFFF的地方,可能导致MCU保留区域的一些数据被我修改。 导致结果就
    发表于 01-11 06:00

    GD32F系列MCUFlashCodeData使用解密#MCU #单片机 #GD32

    单片机mcu
    聚沃科技
    发布于 :2024年01月09日 10:58:22