cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F4DISCOVERY issue - RDP stuck at 0xFF

raniaa
Associate II

 

Hey everyone,
I'm having a weird issue with my STM32F4DISCOVERY board (MB997). It was working fine before, but now I can't program it anymore.
Board info:

 

  • Board: STM32F4DISCOVERY
  • Device: STM32F407VGT6
  • ST-LINK FW: V2J46M33
  • ST-LINK SN: 0671FF37324D423143244649

 

Symptoms:

 

  • STM32CubeProgrammer connects OK (Device ID 0x413 confirmed)
  • Flash erase fails: Error: failed to erase memory sectors [0-2]
  • RDP Option Byte shows 0xFF (corrupted)
  • BOR_LEV = 3 (BOR OFF)
  • Writing RDP from 0xFF to 0xAA fails, always comes back as 0xFF
  • VDD measured at 2.89V

 

What I've tried:

 

  • Under Reset mode
  • ST-LINK Utility
  • STM32cubeProgrammer
  • Different USB cable
  • ST-LINK firmware update
Nothing works. RDP is stuck at 0xFF.
Has anyone seen this before? Any suggestions?
Thanks in advance!
22 REPLIES 22
Gyessine
ST Employee

Hello @raniaa 
This is kind a weird issue to have
first did you apply any
-hardware modification
-flashed some code
-modified the RDP
between when the board was working fine and stopped working?
-Also, the 2.89V is suspicious
-also, do you feel like the MCU itself gets overheated? 
can you test the voltage at MCU level and see what you get? maybe the board voltage regulator becomes faulty
which lead to some corruption when flashing the memory: (don't forget to remove the jumper before measuring)

Gyessine_0-1776779317776.png

-Also, can you try to connect it using the under-reset mode then reprogram RDP to 0xAA enable BOR and do a power cycle
BR
Gyessine

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

Hello,

Yes, I did flash code before the issue appeared.
I did not modify the RDP manually.

The MCU is not overheating.

I measured the voltage directly on the MCU VDD pins using a multimeter, and I get around 2.93V


@raniaa wrote:

I measured the voltage directly on the MCU VDD pins using a multimeter, and I get around 2.93V


The idea here is to remove JP1 and measure the voltage of the power source side on that jumper. The purpose is to detect if there is a voltage drop on the voltage regulator output while powering supply the MCU.

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.

I get around 2.94V

Voltage seems ok

MM1_0-1776794855744.png

try measure too current over removed jumper.

Measured current across J1 after removing the jumper: 0 A. Same result observed on a known good board


@raniaa wrote:

Measured current across J1 after removing the jumper: 0 A. Same result observed on a known good board


How did you measure the current? 0A doesn't make sense.

You need to measure the current consumption on both pins on JP1 as the following:mALLEm_0-1776804141013.png

 

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.

I think there is an issue with my multimeter because I'm getting a reading of 0 on both boards 

there is not another test ? 

Try connect under reset and test lower speeds less as 400kb. Next variant is use DFU mode. After connect check write protection option bytes. How is last flashed software? 

PS: Basic multimeters require reconnect wires for current meas, check labels on it.