Skip to main content
GMeta.1
Associate III
September 20, 2020
Question

Programming error writing to OTP on STM32F412xx

I am trying to write to the OTP on a STM32F412xx using version v4.5.0.0 of ST-LINK but am getting "Error occured during memory writing!" (note bad spelling is not mine but ST's :-))

The memory area for the OTP is 0x1FFF7800 and I can read it ok. I've tried 8/16/32 bit accesses but nothing works. It has never been programmed before and reads as all F's as you'd expect and the lock values are all F's as well.

This topic has been closed for replies.

2 replies

TDK
September 20, 2020

Longstanding issue. Some workarounds here:

https://community.st.com/s/question/0D50X00009XkeKc/stlink-utility-cant-program-otp-memory

Might work if you can find v3.8 of STM32 ST-Link Utility:

https://community.st.com/s/question/0D50X00009XkiXG/otp-programming-stm32f4-with-stlink

Might work with STM32CubeProgrammer.

"If you feel a post has answered your question, please click ""Accept as Solution""."
GMeta.1
GMeta.1Author
Associate III
September 21, 2020

Hi

Yeah I did see that link but it's 4 years old so had assumed it was fixed by now.

I did create a mini .bin file with a single 32-bit word and program it that way. It's a bit time-consuming as you have to have a second .bin file with just 0x00000000 to program the 'lock OTP' word when you're done.

If I get a chance I might revert to the old v3.8 ST-Link as you suggested thanks. Doesn't sound like it should be much of a fix if they can just merge what has worked in the past, but anyway good that there is a workaround.