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

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

3天内不再提示

STM32用串口下载后,不小心写保护和读保护了,如何解锁?

工程师邓生 来源:未知 作者:刘芹 2023-10-29 17:24 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

STM32用串口下载后,不小心写保护和读保护了,如何解锁?

在STM32的开发过程中,有些时候可能会不小心开启了写保护和读保护,这将导致程序无法正常使用。此时,需要解锁芯片以便重新烧写程序。本文将介绍如何在STM32中解锁写保护和读保护,并提供详实的步骤以供参考。

1. 测试板子

在开始解锁之前,需要测试板子是否在保护状态下。首先,连接板子到电脑,并打开开发环境。在开发环境的终端中输入命令:

``` bash
stm32flash /dev/tty.usbserialXXXX -Rs
```

如果板子上的芯片已经被保护,则会显示以下信息:

``` bash
Failed to init device.
```

如果芯片没有被保护,则会显示以下信息(具体数字可能会有所不同):

``` bash
Device ID: 0x414
Memory Size: 256KB
Pages: 128
Page Size: 2048B
Option Byte: 0xff
```

2. 准备J-Link软件

为了解锁STM32芯片,需要安装J-Link软件。首先,需要下载并安装J-Link软件包,然后将STM32的JTAG或SWD接口与J-link进行连接。连接后,启动J-Link软件,并按照以下步骤进行设置:

a. 选择Options > Project Settings

b. 选择Target、Interface和Device选项卡,并设置正确的芯片型号和调试器

c. 在Option选择卡上,选择Unlock option bytes选项

d. 点击OK并保存设置

3. 进行解锁

解锁STM32的步骤如下:

a. 连接J-Link调试器,并在J-Link软件中配置正确的芯片型号和调试器

b. 选择J-Link > Connect

c. 在J-Link软件中选择Target > disable readout protection

d. 等待解锁完成

4. 测试解锁状态

在解锁完成后,需要重新测试板子是否能够成功烧写程序。首先,断开J-Link调试器,并使用以下命令测试:

``` bash
stm32flash /dev/tty.usbserialXXXX -Rs
```

如果芯片已被解锁,则会显示板子的相关信息,如:

``` bash
Device ID: 0x414
Memory Size: 256KB
Pages: 128
Page Size: 2048B
Option Byte: 0xff
```

5. 确认解锁状态

为了确认芯片是否已经解锁,需要查看芯片的Option Byte值,其中0xAA代表未开启读保护,而任意其他值则代表开启了读保护。打开开发环境的终端,输入以下命令:

``` bash
stm32flash /dev/tty.usbserialXXXX -RW 0x1FFF7800:1
```

其中,dev/tty.usbserialXXXX为串口名称,根据实际情况进行修改。如果芯片未被锁定,则会返回Option Byte的值。

综上所述,解锁STM32芯片需要安装J-Link软件,并设置正确的芯片和调试器。然后,选择disable readout protection选项进行解锁。最后,通过测试和查看Option Byte值来确认解锁是否成功。若果您在进行解锁 STM32 的过程中遇到了任何问题,建议您参考资料或者联系相关的技术支持部门寻求帮助。

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

    关注

    1

    文章

    325

    浏览量

    24925
  • STM32芯片
    +关注

    关注

    0

    文章

    38

    浏览量

    4814
  • stm32串口
    +关注

    关注

    0

    文章

    6

    浏览量

    2139
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    4级保护等级的设置

    FLASH 存储器擦写以及保护:通过寄存器进行FLASH存储器的擦写保护,通过 ISP 指令进行 4 级保护等级设置。 ‒ LEVEL
    发表于 11-28 07:16

    CW32L010jlink能去除保护吗?

    如题,板上的CW32L010有保护,JLINK能识别到内核,但无法擦除下载程序。 要怎么才能去除保护
    发表于 11-20 06:23

    SD NAND写保护问题的分析

    说起SD NAND /SD卡写保护的问题,我们先分析一下出现写保护的一些原因 首先,我们先除去SD大卡的物理开关的问题,目前TF卡和SD NAND都是通过软件进行写保护的开关。 读写中意外断电、未
    的头像 发表于 10-21 10:28 276次阅读
    SD NAND<b class='flag-5'>写保护</b>问题的分析

    PY32F003解除保护,实在很困难

    近日拿出之前购买的每片1元的PY32F003出来玩。 抱着尝试的想法,代码实现启动保护,再也回不去了:无法解除
    发表于 10-12 17:55

    Flash保护怎么实现?

    我们客户要求要对代码存储区(code flash)增加外部保护机制 我在TRM手册中只看到有flash 写保护 保护应该怎么实现?
    发表于 07-30 07:30

    什么是SD卡、TF卡写保护写保护的常见原因

    部分SD卡、TF卡适配器或卡套上设有物理写保护开关,当开关滑动到"锁定"位置时,卡片会自动进入写保护状态。这是最常见也是最容易解决的写保护原因。
    的头像 发表于 06-10 00:00 3938次阅读
    什么是SD卡、TF卡<b class='flag-5'>写保护</b>?<b class='flag-5'>写保护</b>的常见原因

    STM32G473解除写保护失败的原因?

    在进行使用串口升级,下载程序时,有一个步骤是解除flash的写保护。在此过程中是基本上按照官方例程的实现的,包括flash、选项字节的解锁
    发表于 04-28 07:05

    STM32G473解除写保护失败的原因?

    在进行使用串口升级,下载程序时,有一个步骤是解除flash的写保护。在此过程中是基本上按照官方例程的实现的,包括flash、选项字节的解锁
    发表于 04-22 10:29

    STM32H533芯片设置保护何解决?

    下载STM32H533u3000FLASH下载之后,芯片进入了保护状态,现在在系统管理里面
    发表于 03-11 07:31

    DLPC900进行外触发同步时,不小心把trigger input2接地,无法进行外触发怎么解决?

    DLPC900 进行外触发同步时,不小心把trigger input2 接地,之后重新正确接入(trigger in1 ,地线,trigger in2 分别接好),无法进行外触发。请问这是不是电路板烧坏了?
    发表于 02-21 08:41

    AN4254-在24CS系列串行EEPROM中使用增强软件写保护功能

    电子发烧友网站提供《AN4254-在24CS系列串行EEPROM中使用增强软件写保护功能.pdf》资料免费下载
    发表于 01-22 15:43 0次下载
    AN4254-在24CS系列串行EEPROM中使用增强软件<b class='flag-5'>写保护</b>功能

    请问DAC8871不小心接错线,而且没共地,导致在VOUT端加了18V的电压,会不会烧坏芯片?

    请问DAC8871芯片由于不小心接错线,而且没VCC,VSS没有和DGND共地,导致我在VOUT端加了18V的电压,会不会烧坏芯片
    发表于 01-17 08:49

    在24CS系列串行EEPROM中使用增强软件写保护功能

    电子发烧友网站提供《在24CS系列串行EEPROM中使用增强软件写保护功能.pdf》资料免费下载
    发表于 01-15 15:21 0次下载
    在24CS系列串行EEPROM中使用增强软件<b class='flag-5'>写保护</b>功能

    如何根据AD的数据手册来设计输入保护电路呢?

    在使用AD的时候有时候经常不小心让输入电压超过额定输入值,造成AD的损坏。那么该如何根据AD的数据手册来设计输入保护电路呢? 比如ADS1115, 如果使用单端输入,是不是应该在输入前添加一个电阻
    发表于 12-26 07:36

    不小心EVM GUI刷错了固件,连接不上LDC1612怎么解决?

    电磁感应设计用到的LDC1612,但是我不小心EVM GUI刷错了固件,虽然电脑端口可以识别,但是连接不上LDC。连接的时候 亮几下红灯就没反应。现在用EVM固件也刷不进去了,
    发表于 12-16 08:33