AnsweredAssumed Answered

How to program config data in a read-protected device

Question asked by M F on Jul 13, 2017
Latest reply on Jul 14, 2017 by Clive One

Hi all,


I am using the STM32L011G3U6 with 8kB FLASH.


We deliver this chip programmed with a firmware that is read protected (RDPROT = Level 1)

Our customer should be able to write certain data in predefined non-volatile memory (let's say EEPROM) to control certain firmware parameters (for instance, how often a LED blinks).


This configuration programming is neither via ST-LINK, my preferred method, nor Bootloader UART commands possible since memory is protected.


I cannot separate the code from the program data and then read-protect the 4kB code-sector via WRPi bits in Optional Bytes. My code is 6,5kB with compiler option armcc compiler option set to -O3 (the highest optimization possible).


To avoid the former data/code separation there is a compiler option:

armcc --no_literal_pools --max_string_in_code=0

recommend it in… 

but it did not work.

My firmware did not react.


My only idea would be to implement a UART command interpreter that receives customer commands with the address and value to program in memory.


Any other idea?


Thanks a lot for your input.