STM32 blackout mientras se escribe con flash

2

Intenté detectar un apagón en un stm32F405VGT6, que debería escribir un contador dentro de la EEPROM virtual (Flash). Parece que el proceso de escritura no fue lo suficientemente rápido. Ahora, ya no puedo inicializar Flash, siempre me devuelve un HAL_ERROR (FLASH_FLAG_PGPERR y FLASH_FLAG_PGSERR) cuando llamo a la función HAL_FLASH_Program (uint32_t TypeProgram, uint32_t Address, uint64_t Data).

Ya intenté borrar completamente el STM32 con la herramienta STUtility, pero tampoco funcionó. ¿Es posible, que rompí mi flash? ¿Hay alguna forma de proteger el flash de un apagón mientras se escribe?

    
pregunta HansPeterLoft

1 respuesta

0

Intenta realizar un borrado en masa. Utilice registros en lugar de esta biblioteca tonta

Los comentarios sobre los peligros de la programación FLASH en tiempo de ejecución son incorrectos. No hay otra forma de programación FLASH e incluso cuando programa el chip con su sonda de depuración favorita (no importa SWD o JTAG) el software (en la mayoría de los casos, ooenOCD o gdbserver cargan un pequeño programa en la RAM que programa el FLASH. No hay mecanismos de hardware de escritura STM32 FLASH.

    
respondido por el P__J__

Lea otras preguntas en las etiquetas