2026-05-05 1:32 AM - last edited on 2026-05-14 2:56 AM by KDJEM.1
Hello,
In the reference manual rm0481 (stm32h562) in chapters 7.11.38 and 7.11.51 it is stated that EDATAx_STRT Bits do not have any hardware effect. Can I assume that the corresponding bits in FLASH_EDATAxR_CUR are set from option bits only? In that case what is purpose of these bits in FLASH_EDATAxR_PRG? Are rhey also set from option bytes?
What about the EDATAx_EN bit in FLASH_EDATAxR_PRG? Here the documentation is NOT stating that there is NO hardware effect. Is this correct? If yes, where does the actual setting of EDATAx_EN in FLASH_EDATAxR_CUR come from?
By the way in Table 51 there is an DATA_EN1 bit in FLASH_EDATA2R option bytes. May I assume that this is a documentation error and it should in fact be DATA_EN2
Thank you
2026-05-14 2:55 AM
Hello @Nabidev ;
The FLASH_EDATAxR_CUR register is read only. This register is non-secure, can be read by both secure and non-secure accesses. This register can be protected against unprivileged access when NSPRIV = 1 in the FLASH_PRIVCFGR register.
FLASH_EDATAxR_PRG register is read write register. This register is non-secure. It can be read and written by both secure and non-secure accesses, and protected against unprivileged access when NSPRIV = 1 in the
FLASH_PRIVCFGR register. It is used to program values in corresponding options bits.
For the question about EDATAx_EN bit and table 51, I reported internally for checking.
Internal ticket number CDM0062647 (This is an internal tracking number and is not accessible or usable by customers).
Thank you.
Kaouthar
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.
2026-05-18 7:09 AM
Hello @Nabidev;
1. In RM0481 for STM32H562, the bit EDATAx_EN in FLASH_EDATAxR_PRG is a programming field only. It does not directly control hardware immediately.
The actual hardware-effective value is reflected in FLASH_EDATAxR_CUR.EDATAx_EN, which comes from the programmed option-byte value after the flash/option-byte reload sequence. So;
PRG = requested/programmed configuration
CUR = current effective hardware configuration
2. And yes, Table 51 should use DATA_EN2, not DATA_EN1, for FLASH_EDATA2R.
Thank you.
Kaouthar
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.