Kinetis K64 Flash Block 0 no se puede programar

1

He escrito mis propias funciones de programación flash para ser utilizadas en un gestor de arranque.

Tengo una pequeña función que realiza la operación de escritura que se copia en el ram para que se puedan escribir los dos bloques de memoria flash.

La documentación revisada y el código cumple con: AN4695 "Evitar leer mientras se escriben errores Al desarrollar en software Aplicaciones de programación flash para Kinetis y ColdFire + MCU "y el" Manual de referencia de la subfamilia K64 "

He probado completamente la escritura en el bloque flash 1 y todo funciona como se esperaba.

Cuando intento escribir en un bloque alineado correctamente en el bloque de flash 0, K64 (FTFE_FSTAT) no advierte ningún error, PERO el flash en la ubicación especificada NO se cambia.

Nuevamente, todo funciona bien en el bloque 1, pero no escribe en el bloque 0 y no se informan errores.

He comprobado los registros de protección de flash y no hay ninguna protección de escritura flash en su lugar.

Me quedé sin ideas, así que espero que haya alguien en el foro y ofrezca alguna información.

Gracias.

Joe

    
pregunta JHinkle

1 respuesta

1

El código es correcto.

Resulta que mi depurador tiene un problema al mostrar datos flash que cambian en el bloque inferior.

Se supone que las herramientas ayudan, ¡no causan dolor!

Gracias

    
respondido por el JHinkle

Lea otras preguntas en las etiquetas