2021-11-08 07:00 AM
When configuring a network interface, there is usually a hard coded MAC address somewhere in a config file, which is used to setup the interface.
In production this address needs to be unique (purchased). For example in some stm32f4 mcus, there is a small OTP memory which can be used to program/store this unique MAC address and distinguish between them.
In stm32h743 there is no such OTP memory. Is there a recommended location in the internal memory to store this individual address? The regular flash interface/flash memory seems inappropriate, since the whole target sector (128kb) needs to be erased before writing to the sector.
2021-11-08 08:04 AM
Welcome, @emcewees, to the community!
depending in the STM32H7 derivative you have either e.g.:
Regards
/Peter
2021-11-08 08:21 AM
@Peter BENSCH On the STM32H743, how is the 2kB of user option bytes accessed? It is not memory mapped and there isn't an interface defined in the reference manual that I can locate. This is a continual source of confusion here.
2021-11-09 12:16 AM
Thanks Peter,
I have a STM32H743ZIT. So the way I see it, there is no OTP available in this version. I saw the non-memory mapped 2KB of user option bytes.
From the reference manual (RM0433):
>>> The embedded Flash memory includes a set of non-volatile option bytes. They are loaded at power-on reset and can be read and modified only through configuration registers.
...
Table 21 lists all the user option bytes managed through the embedded Flash memory registers, as well as their default values before the first option byte change (default factory value).
The table lists several bytes (apparently 32 bytes total), which are used for various purposes:
How to access the other 1992B of option bytes you mentioned?
As @TDK said, I can't find a way to access these remaining bytes.
It sounds like these 2KB of bytes can be used for arbitrary data.
There seems to be a simmilar post without a solution: How to write non-reserved option bytes on STM32H750xx MCU?