cancel
Showing results for 
Search instead for 
Did you mean: 

The correct value cannot be read without resetting after flash writing with the B-U585I-IOT02A

MSuzu.3
Associate

I use B-U585I-IOT02A to read after writing Flash Memory, 0xFF is read, but once I reset it, I can read the written value.

Similarly, when I use it to read after erasing the Flash Memory, the value before erasing is read, but once I reset it, I can read 0xFF.

In short, the correct value cannot be read unless reset once for both Write and Erase.

Is there any processing that must be done after programming or erasing?

1 ACCEPTED SOLUTION

Accepted Solutions
Mike_ST
ST Employee

Hello,

Please check the STM32U5 Flash examples in the STM32U5 software package available here:

https://www.st.com/en/embedded-software/stm32cubeu5.html#tools-software

You can find flash access examples inside the following directory:

STM32Cube_FW_U5_V1.1.1\Projects\NUCLEO-U575ZI-Q\Examples\FLASH

These examples should work for the U585 as well.

Hope that helps.

View solution in original post

3 REPLIES 3
Mike_ST
ST Employee

Hello,

Please check the STM32U5 Flash examples in the STM32U5 software package available here:

https://www.st.com/en/embedded-software/stm32cubeu5.html#tools-software

You can find flash access examples inside the following directory:

STM32Cube_FW_U5_V1.1.1\Projects\NUCLEO-U575ZI-Q\Examples\FLASH

These examples should work for the U585 as well.

Hope that helps.

MSuzu.3
Associate

Thank you.

I checked the example and found that HAL_ICACHE_Disable() is required before Write.

I also found that I needed HAL_ICACHE_Enable() after the Write.

I added these and it works as expected.

Erase also added the same processing and it worked as expected.

MKova.3
Associate II

Thanks MSuzu.3 I had the same problem with the SRM32H5 and your note helped me solve it.