jackliu999的个人空间 https://bbs.21ic.com/?342049 [收藏] [复制] [RSS]

日志

使用ST-Link Utility对STM32单片机读写保护设置与去除

已有 1506 次阅读2018-10-24 10:07 |个人分类:STM32单片机|系统分类:单片机| STM32, 读写保护

最近研究了STM32单片机读写保护问题,将收集整理的信息汇总如下:

1 读保护:保护保存在MCU上的执行代码不会被调试/下载工具拷贝出来。STM32 读保护有三个等级 L0 L1 L2 
  •   L0 是没有保护,可以随意读出来的,一般调试过程中选择。在L0 状态可以设置成L1 或者L2,修改完成不会擦除芯片已有的代码;
  •   L1 是可恢复读保护,L1-->L0状态,,会自动擦除已有的程序。L1->L2,这个设置还没有试过,(正常理解是不擦除);
  •   L2 是不可恢复读保护,此状态下,不可恢复到其他的状态,同时芯片里的程序不能再升级 类似OTP了
    这个主要是保护代码不会被其他人恶意拷贝,保护原作者的权益。

2 写保护: 保护存在MCU上的代码 不会被异常修改。正常的代码更新流程需要先失能对应的保护位,更新完成再次恢复之前的保护位。
   这个主要是保护程序正常运行的时候,不会被异常更改。

3 如图的STM32 ST-LINK UNILITY 工具上的读写保护和一些用户设置,包括在调试的停时 看门狗是否继续计数等设置

STM32 读写保护.png (170.95 KB, 下载次数: 60)

STM32 读写保护.png

读保护去除步骤:

  1. 使用ST-Link连接到STM32芯片,点击Connect。 

     2. 存在读保护。 
     
     3.  修改选项字节。 

     4.将读保护等级修改为Level 0。 

      5.  打钩的扇区会添加写保护,点击Unselect all不选择写保护。 

      6.  写入选项字节后Flash会被擦除。 

   7.  能正常写入程序。 


路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)