ST意法半导体
直播中

杨雪

7年用户 1103经验值
私信 关注
[问答]

在STM32CubeProgrammer中读取闪存出错有什么办法可以解决这个问题吗?

我的 STM32H735G-DK 有问题。
当我尝试刷新一个已知良好的固件时,我得到以下信息:
命令:STM32_Programmer_CLI -c port=SWD freq=4000 mode=UR --erase all -d build/stm32h735.bin 0x08000000 -v --start 0x08000000
  • -------------------------------------------------------------------
  •                   STM32CubeProgrammer v2.5.0
  • -------------------------------------------------------------------
  • ST-LINK SN  : ***
  • ST-LINK FW  : V3J7M2
  • Board       : STM32H735G-DK
  • Voltage     : 3.28V
  • SWD freq    : 8000 KHz
  • Connect mode: Under Reset
  • Reset mode  : Hardware reset
  • Device ID   : 0x483
  • Revision ID : Rev Z
  • Device name : STM32H72x/STM32H73x
  • Flash size  : 1 MBytes
  • Device type : MCU
  • Device CPU  : Cortex-M7
  • Mass erase ...
  • Mass erase successfully achieved
  • Memory Programming ...
  • Opening and parsing file: sbsfu_H735.elf
  • File          : sbsfu_H735.elf
  • Size          : 54008 Bytes
  • Address       : 0x08000000
  • Erasing memory corresponding to segment 0:
  • Erasing internal memory sector 0
  • Download in Progress:
  • [==================================================] 100%
  • File download complete
  • time elapsed during download operation: 00:00:00.224
  • Verifying ...
  • Read progress:
  • Error: Failed to read memory at address 0x08000000 during verification
  • Error: Download verification failed
  • RUNNING Program ...
  • Address:      : 0x8000000
  • Warning: The core is locked up
  • Start operation achieved successfully
这可能是由于过去可能写了一个错误的 sbsfu 项目(对于 H753)
在 STM32CubeProgrammer 中尝试读取闪存时,我总是收到“错误:数据读取失败”。只有从地址 0x600、0x100 字节读取时,我才能读取全零。0x08080000 之前的任何其他地址都会给我错误。
查看选项字节时,RDP 设置为 AA(从未将其设置为 CC,但尝试使用 BB 然后 AA 尝试重置它)并且 WRP 已全部选中(未激活)。
SEC_AREA_END 的值低于 SEC_ARE_START,因此应将其禁用。
有什么办法可以解决这个问题吗?我真的希望我的设备没有变砖。
谢谢

回帖(1)

张晓宁

2023-1-5 15:33:30
结果 PCROP 开始设置为 0x6,结束设置为 0x8。经过一些摆弄后,我设法将其设置为 0xff 和 0x00,同时将 RDP 翻转为 BB 并返回 AA。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分