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

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

3天内不再提示

STM32的Flash写了保护怎么办?STM32如何设置读保护和解除读保护?

工程师邓生 来源:未知 作者:刘芹 2023-10-29 17:24 次阅读

STM32的Flash写了保护怎么办?STM32如何设置读保护和解除读保护?

一、STM32的Flash写了保护怎么办?

当STM32的Flash写了保护后,我们需要先了解STM32的Flash的保护机制,然后才能更好地解决这个问题。

STM32的Flash有两种保护,一种是写保护,一种是读保护。写保护是指禁止对Flash进行写操作,而读保护是指禁止对Flash进行读操作。一般情况下,我们常用的是读保护。

如果STM32的Flash写了保护,那么我们就不能对其进行任何操作,包括读写。在解决这个问题之前,我们需要找到写保护的原因,一般情况下,STM32的Flash写保护有以下几种原因:

1、由于不合适的编程方式或参数设置导致错误

如果你在编写程序时使用了不适当的编程方式或不正确的参数设置,就会导致写保护。这种情况下,你需要重新编写程序,确保使用适当的编程方式和参数设置。

2、由于硬件故障导致

如果你的硬件存在故障,会导致写保护。这种情况下,你需要修复硬件故障。

3、由于Flash被意外擦除导致

如果Flash被意外擦除,也会导致写保护。这种情况下,你需要重新烧录程序。

如果你确定写保护是由于程序问题导致的,那么你需要重新编写程序,并确保使用正确的编程方式和参数设置。如果你确定写保护是由于硬件故障导致的,那么你需要修复硬件故障。如果你确定写保护是由于Flash被意外擦除导致的,那么你需要重新烧录程序。

二、STM32如何设置读保护和解除读保护?

STM32的Flash读保护用于保护Flash的机密信息,防止程序被非法复制或篡改。读保护可以分为两个级别,一级保护和二级保护。一级保护允许读取Flash第一扇区内的数据,而禁止读取其他扇区。二级保护则禁止读取所有扇区内的数据。

一般情况下,我们需要设置一级保护,以保护我们的程序不被非法复制或篡改。要设置STM32的Flash读保护,需要使用ST-Link Programmer或J-Link Programmer等程序烧录器。下面是具体的操作步骤:

1、将STM32单片机连接到烧录器上。

2、打开程序烧录器软件,并选择对应的芯片型号和连接方式。

3、在程序烧录器软件的选项卡里找到Flash读保护选项,并选择一级保护(或者选择不保护)。

4、按下“烧录”按钮,等待程序烧录器将保护信息烧录到STM32单片机内。

5、断开STM32单片机与烧录器的连接。

如果您需要取消STM32的Flash保护,可以使用ST-Link Programmer或J-Link Programmer等程序烧录器进行操作。下面是具体的操作步骤:

1、将STM32单片机连接到烧录器上。

2、打开程序烧录器软件,并选择对应的芯片型号和连接方式。

3、在程序烧录器软件的选项卡里找到Flash读保护解除选项,并选择解除读保护。

4、按下“烧录”按钮,等待程序烧录器将取消保护的指令烧录到STM32单片机内。

5、断开STM32单片机与烧录器的连接。

总结:

STM32的Flash保护是一个非常重要的问题,在使用STM32单片机的时候一定要注意设置保护。如果Flash写了保护,我们需要先找到原因,并采取相应的措施去解决问题。当然,为了更好地保护程序机密性,我们建议在使用STM32单片机的时候进行一级保护。如果需要解除保护,我们可以使用以上介绍的步骤进行操作。

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

    关注

    10

    文章

    1550

    浏览量

    146646
  • STM32
    +关注

    关注

    2239

    文章

    10671

    浏览量

    348746
  • 烧录器
    +关注

    关注

    3

    文章

    145

    浏览量

    25610
收藏 人收藏

    评论

    相关推荐

    STM32F446读写保护意外打开的原因?

    全被打开。 如果第一次上电不突然断电,则以后上电程序是运行正常的。 请问是什么造成这种情况发生?stm32f103上做此实验没有发现此问题。 另外,大家都是怎么开启芯片保护的?程序设置
    发表于 04-19 07:43

    请问STM32怎么在代码中把保护加进去呢?

    STM32怎么在代码中把保护加进去呢?
    发表于 04-16 06:28

    STM32F7开启保护Level2后,还能擦除重新烧录程序吗?

    STM32F7开启保护Level2之后,还能擦除重新烧录程序吗?
    发表于 04-01 07:38

    如何使用OPT_FLM文件实现解除保护功能?

    MDK工程里debug选项选择烧录的FLM文件就可以下载调试代码,那OPT_FLM文件该怎么在工程里使用实现解除保护功能呢?直接在debug里选择是不行的,求指点
    发表于 03-28 07:11

    STM32F030F4P6下载程序时提示Unable to run verification,设置保护失败的原因?

    新买的芯片STM32F030F4P6,测试时使用ST LINK可以正常连接读取FLASH,下载程序时提示Unable to run verification!然后尝试设置
    发表于 03-27 06:37

    STM32F407保护无法解锁如何解决?

    项目中用到STM32F407,程序烧录后,开始运行正常,后面出现芯片死机不运行的情况,Jlink重新烧录程序提示保护。 网上搜索方法,用STlink工具,STLNK Utility
    发表于 03-25 08:09

    STM32G0加保护后为什么就连不上了?

    STM32G0 加保护 百分之十芯片 发现再次连接不上用Jlink STLink都不行 怎么可以连接上
    发表于 03-25 06:27

    STM32F072连接ST LINK无法读取FLASH弹出提示,是哪里出了问题?

    STM32F072连接ST LINK 无法读取FLASH 弹出提示,保护(原本并未设置
    发表于 03-21 06:16

    stm32设置RDP保护LV2 chip protection怎么恢复啊?

    stm32设置 RDP 保护LV2chip protection 怎么恢复
    发表于 03-19 08:29

    STM32 FLASH模拟EEPROM,烧写程序时设置保护Level-2级别,还能正常读写这个模拟的EEPROM吗?

    STM32系列内部FLASH模拟EEPROM,烧写程序时设置保护Level-2级别,还能正常读写这个模拟的EEPROM吗?
    发表于 03-13 07:34

    PSoC6怎么设置Flash保护防止被外部读取?

    PSoC6 怎么设置Flash保护,防止被外部读取,最好是通过软件设置
    发表于 02-18 08:08

    STM32加密问题:怎样预置一段Flash保护和清除读保护的程序

    ,在STM32芯片中,我们可以通过设置BFB2和BFB1位来对Flash进行保护。BFB2位用于读保护和写
    的头像 发表于 10-29 17:24 1308次阅读

    讲讲STM32单片机Flash的读保护和写保护

    讲讲STM32单片机Flash的读保护和写保护
    的头像 发表于 10-26 15:52 4454次阅读
    讲讲<b class='flag-5'>STM32</b>单片机<b class='flag-5'>Flash</b>的读<b class='flag-5'>保护</b>和写<b class='flag-5'>保护</b>

    关于使用STM32H7在用户代码内增加开启保护代码的问题

    在使用STM32H7系列芯片时,在用户代码内增加了开启保护的代码,有设置了通过指令触发解除
    发表于 08-07 06:31

    STM32的存储与执行保护

    电子发烧友网站提供《STM32的存储与执行保护.pdf》资料免费下载
    发表于 07-31 14:28 0次下载
    <b class='flag-5'>STM32</b>的存储与执行<b class='flag-5'>保护</b>