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

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

3天内不再提示

什么是GD32 MCU读保护?

聚沃科技 2024-03-11 09:14 次阅读

如今电子产品市场风云变幻,暗流汹涌,有没有小伙伴遇到自己费了大力气写出来的代码,很容易就被别人“借鉴”了,真的是让闻者伤心,听着落泪啊。

那有没有什么方法可以防止别人将你的代码从MCU读出来呢?答案当然是肯定的,GD32 MCU全系列都有“读保护”功能,我们以GD32F30x系列为例,来看下用户手册中的选项字节的介绍:

wKgZomXuWuaACFIyAAFT_6WZR3A131.png

我们可以看到,地址0x1fff f800存储的是安全保护值,也就是我们所说的读保护。当该值为0xA5的时候,MCU处于无保护状态,此时可以通过Jlink、GDlink配合一些上位机比如Jflash、GDlink Programmer就可以读出,当然,通过串口ISP也可以读出代码;当读保护值为非0xA5时,就说明MCU已经进入读保护状态了,此时除了MCU自己的程序可以访问flash外,其他方式的片上flash访问都是无效的。所以,读保护加上后小伙伴们就可以不用担心代码被别人读出来了。

所以加读保护和解除读保护的操作就很好理解了,实际上就是对选项字节进行操作,将0x1fff f800地址的值设置为保护值/非保护值就可以了。

这时候有小伙伴就会问了,那既然读保护状态可以解除,别人拿到我的芯片,先解除保护,再读出来不就可以了?实际上这个问题完全不用担心,当MCU被加读保护后,MCU内部同时也给Flash上的数据增加了一个“自毁装置”,当有人对芯片进行解保护操作的时候,这个“自毁装置”就会将Flash上所有的数据都清空,这时候从芯片读出来的数据就是没有用的“空”数据啦。

小伙伴现在知道什么是读保护了吗?我们后面也会介绍加读保护和去除读保护的方法哦。

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

    关注

    6001

    文章

    43973

    浏览量

    620830
  • mcu
    mcu
    +关注

    关注

    146

    文章

    16016

    浏览量

    343615
  • GD32
    +关注

    关注

    7

    文章

    333

    浏览量

    23740
收藏 人收藏

    评论

    相关推荐

    使用MCU GD32替代STM32的体会

    GD32作为国产MCU里的佼佼者,产品线也比较丰富,是替代STM32的一个很好的选择。前段时间有个项目用到GD32的单片机,今天来说说使用的一些体会。
    发表于 07-29 08:53 8433次阅读

    什么是GD32 MCU保护?#GD32 #单片机 #嵌入式开发 #MCU

    mcu嵌入式开发
    聚沃科技
    发布于 :2024年03月11日 09:17:43

    GD32 MCU移植

    gd32是一款国产单片机。该芯片在很多方面和STM32有异曲同工之处。资料不是很多! GD32在外设方面、和STM32没有多大区别。 只是需要注意资源的引脚分配。虽然和STM32使用方式一样、但是也存在GD自带的一些设计理念。
    发表于 03-23 13:40

    GD32MCU介绍

    吧,但是基本上有99%,有部分寄存器比特位存在区别。另外兆芯的手册写的实在是不够精确,很多时候出现一种情况就是,我命名特么的用的是GD32MCU,写个驱动还要参考ST的手册?!真是见了鬼了。比如USB的这个寄存器,兆芯的描述简直了。很多时候吧,真的想支持国产,奈何国产芯
    发表于 11-01 06:03

    JFlash解除GD32保护的方法

    JFlash解除GD32保护如果用户添加了保护或者误操作等导致的下载不了,可以先进行解锁尝试,步骤如下:1、打开J-Flash V6.4
    发表于 11-04 09:10

    GD32 MCU学习这本书的理由

    首先,学习GD32 MCU原理固件库开发指南可以让我了解这个芯片的内部结构和工作原理,从而深入理解如何在嵌入式系统中使用它。其次,固件库是嵌入式系统中必不可少的软件组件之一,它提供了基本的底层
    发表于 03-10 20:06

    GD32 MCU原理及固件库开发指南》 + 初感悟

    GD32 MCU原理固件库开发指南这本书内容丰富,囊括了GD32中的所有外设,书中首先介绍了如何使用MDK或IAR软件搭建GD32工程环境,让初学者能快速基于工程上手编程。书中主要对
    发表于 03-31 22:11

    GD32 MCU原理及固件库开发指南》+读后感

    工作很多年了,之前公司基本上用的MCU都是STM32,现在公司要使用国产的MCU做项目,并能把之前的项目也移植过来。经过比较了几家,最终选择了GD32。因为GD32和STM32使用起来
    发表于 06-06 21:52

    推出采用GD32 RISC-V的MCU

    推出采用GD32 RISC-V的MCU ppt分享
    发表于 07-14 17:15 0次下载

    兆易创新GD32 MCU选型手册,适用于GD32全系列MCU

    兆易创新GD32MCU选型手册,适用于GD32全系列MCUGD32MCU选型手册,适用于GD32全系列MCU
    发表于 10-19 17:26 44次下载

    你了解GD32 MCU的命名规则吗

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

    GD32 MCU的选项字节是什么?

    GD32 MCU的选项字节是什么,有什么功能呢?选项字节被误篡改如何回复?
    的头像 发表于 01-17 09:42 470次阅读
    <b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b>的选项字节是什么?

    不同型号的GD32 MCU如何区分?

    大家是否碰到过以下应用场景:同一套软件代码希望跑在不同型号的GD32 MCU中,但有些地方需要根据MCU型号进行调整?或者上位机或其他MCUGD3
    的头像 发表于 01-27 09:32 343次阅读
    不同型号的<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b>如何区分?

    你了解GD32 MCU上下电要求吗

    你了解GD32 MCU的上下电要求吗?MCU的上下电对于系统的稳定运行非常重要。
    的头像 发表于 02-02 09:36 342次阅读
    你了解<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b>上下电要求吗

    GD32 MCU ISP失败的原因

    玩过GD32的小伙伴们都知道,GD32 MCU支持ISP,即在系统编程,前面的常见问题也给大家讲过什么是ISP,什么是IAP?那有没有小伙伴遇到过ISP失败的情况,失败的原因是什么呢?
    的头像 发表于 02-28 09:23 393次阅读
    <b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> ISP失败的原因