cancel
Showing results for 
Search instead for 
Did you mean: 

Programming error writing to OTP on STM32F412xx

GMeta.1
Associate III

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 discussion is locked. Please start a new topic to ask your question.
2 REPLIES 2
TDK
Guru

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
Associate III

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.