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

    文章

    1629

    浏览量

    147880
  • STM32
    +关注

    关注

    2269

    文章

    10883

    浏览量

    355459
  • 烧录器
    +关注

    关注

    3

    文章

    179

    浏览量

    26271
收藏 人收藏

    评论

    相关推荐

    BLUENRG-LP开启保护的问题求解

    表示已经开启保护。 但是保护开启后,芯片RESET,再次拉高PA10 进入BOOTLOADER,串口就没有任何反应,发0x7f不会有任何响应了,这样无法用
    发表于 05-29 06:20

    STM32G0如果只执行写保护编程时,先擦除选项字节,此时保护字节是FF,那是不是就读保护生效了?

    如果只执行写保护编程时,先擦除选项字节,此时保护字节是FF,那是不是就读保护生效了?程序再修改为A5,会不会就引起FLASH整块擦除?不想
    发表于 05-20 08:17

    STM32F1 IAP操作保护选项字节设置,APP使用系统复位跳转后无法运行IAP的原因?

    最近调试一个程序,是基于STM32F1做的IAP,升级前后需要修改选项字节,FLASH_EraseOptionBytes函数内OB->RDP=RDP_Key语句实现保护
    发表于 05-13 08:09

    求助,关于STM32F302_FLASH保护的问题求解

    查看好些STM32F302资料,想通过FLASH保护来实现加密功能,添加以下代码后,没能实现预期功能: #define OB_RDP_Level_0((uint8_t)0xAA)
    发表于 05-08 06:26

    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

    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

    介绍一种使用MDK解除保护的方法

    经历过产品量产的同学应该都知道,芯片一般会在出厂时开启保护:要么在代码中加入,要么在烧录程序后人工通过软件开启该功能,比如 STM32 ST-LINK Utility
    的头像 发表于 12-26 09:18 1066次阅读
    介绍一种使用MDK<b class='flag-5'>解除</b><b class='flag-5'>读</b><b class='flag-5'>保护</b>的方法