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上所有的数据都清空,这时候从芯片读出来的数据就是没有用的“空”数据啦。

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

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

    关注

    6030

    文章

    44486

    浏览量

    631838
  • mcu
    mcu
    +关注

    关注

    146

    文章

    16865

    浏览量

    349852
  • GD32
    +关注

    关注

    7

    文章

    403

    浏览量

    24099
收藏 人收藏

    评论

    相关推荐

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

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

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

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

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

    GD32 MCU Dfu驱动64位Win8

    GD32 MCU Dfu驱动64位Win8
    发表于 10-08 14:55 0次下载

    GD32芯片MCU ISP下载工具

    GD32芯片MCU ISP 下载工具
    发表于 10-08 14:53 18次下载

    推出采用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 49次下载

    你了解GD32 MCU的命名规则吗

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

    GD32 MCU的选项字节是什么?

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

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

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

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

    GD32 MCU内部提供了一个RTC(实时时钟)模块,通过RTC可以实现日历时钟、闹钟等功能。RTC也可以用于深度睡眠或待机模式的低功耗唤醒。不同系列的GD32 MCU在RTC设计和功
    的头像 发表于 08-23 09:18 356次阅读
    【<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 入门教程】<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 常见外设介绍(14)RTC 模块介绍

    GD32 MCU 入门教程】GD32 MCU FPU 使用方法

    GD32 MCU FPU 使用方法
    的头像 发表于 08-25 09:24 406次阅读
    【<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 入门教程】<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> FPU 使用方法

    GD32 MCU入门教程】GD32 MCU GPIO 结构与使用注意事项

    本文是专门为基于GD32 MCU开发的工程设计人员提供,主要介绍了GPIO的功能配置、内部结构以及在不同场景使用时的注意事项,旨在帮助GD32 MCU开发者优化对通用型输入输出端口(G
    的头像 发表于 09-07 10:34 515次阅读
    【<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b>入门教程】<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> GPIO 结构与使用注意事项