Skip to main content
Associate III
June 30, 2026
Solved

What is NVSTATE in RM0481 rev 4?

  • June 30, 2026
  • 1 reply
  • 96 views

In RM0481 rev 4 April 2025 I find the following text:

7.6.8 Write protection

A write-protected group of sectors cannot be erased nor programmed. As a result, a bank
erase cannot be performed if one group of sectors is write-protected, unless a NVSTATE
transition to OPEN is triggered (erasing the whole user flash memory).

 

It is not clear what NVSTATE is in this context. Is this a left-over from documentation of a different MCU?

 

I don’t think it is PRODUCT_STATE. Because to my understanding you can have a PRODUCT_STATE > OPEN and not enable TrustZone and then write to FLASH_WRP1R_PRG to turn off write protection - you should be able to do a bank erase on bank 1. You can set initial values with an OB but I can’t see any documentation that this also makes changing FLASH_WRP1R_PRG illegal and the relevant OBs are not protected by PRODUCT_STATE the same way as e.g. SECWM and HDP.

Same reasoning for flash bank 2.

And if you enable TrustZone, it is stated that FLASH_WRP[1, 2]R_PRG is non-secure. So as long as you don’t set part of the flash to secure watermarked, bank erase should work.

Also note that a AFAIK a regression of PRODUCT_STATE do not restore the WRP OBs to their default state.

 

The only other place NVSTATE is mentioned in RM0481 is in Table 507 TAMP interconnection:

tamp_itamp6     JTAG/SWD access when NVSTATE ? OPEN

 

Here, “NVSATE” should be “PRODUCT_STATE”?

 

  Best regards, Jesper

 

Best answer by mƎALLEm

This is a feedback for the team:

“Based on the content of section 3.8.2 Embedded flash memory write protection of RM0481, the WRP is intended to prevent any unwanted write or erase operation on specific Flash areas, and this protection follows a content immutability logic. The WRP configuration can no longer be modified when the product is in PRODUCT_STATE = TZ-Closed, Closed or Locked, and in particular it is no longer dynamically modifiable in CLOSED state.
When a firmware is defined as immutable, the WRP is set together with the CLOSED state, which means that it is no longer possible to modify either that code or the WRP configuration afterward. In such a case, a firmware update can only be performed in a Flash area that is not write-protected.

1 reply

Pavel A.
June 30, 2026

Non-volatile ?

Ozone
Principal
July 1, 2026

I would think so, too.

The abbreviation NVM for any memory technology retaining it’s state during power-off is very common in the industry.

I don’t know the H5 reference manual in any detail, but I would start with searching the whole document for said term. Perhaps the name of a bit in some peripheral config or status register.

JesperECAuthor
Associate III
July 1, 2026

I don’t know the H5 reference manual in any detail, but I would start with searching the whole document for said term.

 

Already done. There are exactly 2 occurrences and both of them are listed in my post. 😎 

It is possible that the text exists in some bitmap image as well and then can’t be found by a standard pdf-viewer, but I consider that unlikely.

 

I think this needs to be addressed by someone from ST and I presume they need to correct the document.

 

    Best regards, Jesper