cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F405RGT6: reset command doesn't work after flash operation

Wu_wu
Associate

求助篇!
使用主控芯片STM32F405RGT6 在操作flash后 复位指令不起作用 这是什么问题呢?
////////////////////以下是代码段////////////////////////////

/*注释以下语句就可以自动复位成功*/

Translation:

I'm using STM32F405RGT6 microcontroller, the reset command doesn't work after flash operation. What could be the problem?

HAL_FLASH_Unlock();

if (HAL_FLASH_Program(TYPEPROGRAM_WORD, FWR_ADDR, 0) != HAL_OK)

{

printf("Clear OTA flag error\n");

} else {

HAL_Delay(10);

uint32_t flag_sttus = HAL_FLASH_GetError;

if(flag_sttus & HAL_FLASH_ERROR_PGA)

{

printf("flash_err!\r\n");

}

printf("Clear OTA flag\n");

}

HAL_FLASH_Lock();


请各位大佬看看是什么情况 感谢!!!!

Translation:

Could someone please take a look and tell me what's going on? Thanks

3 REPLIES 3
mƎALLEm
ST Employee

Hello @Wu_wu and welcome to the St community,

1- In next time please use English in this community. This is not a Chinese Forum.

2- To share a code please use </> button.

Please see How to write your question to maximize your chances to find a solution

PS: I've edited your post to complies with this community rules.

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.
TDK
Super User

There's no reset command in the posted code.

Does HAL_FLASH_Program work? Does it return an error code?

Insufficient information is presented.

If you feel a post has answered your question, please click "Accept as Solution".
Pavel A.
Super User
HAL_FLASH_GetError(); // note the ()

Look for the compiler warnings.