Seguimiento sobre el problema del pin de reset del S32K144 de ayer

,

【Documento de Kingsoft | Documento en la nube de WPS】 Nuevo documento DOC

https://www.kdocs.cn/l/cjaqKjk2mVFu

Este es el registro de depuración de S32DS

  1. Desmonté el LED, no pude medir el voltaje en R7, así que medí el voltaje de R8 a tierra y dio 3,08 V.
  2. Tras una nueva ronda de pruebas basada en la explicación de ayer, esta fue la respuesta de GPT:
    Escritura en la sesión (validación en múltiples zonas): 20007000 00000411 … :white_check_mark: Los datos existen realmente después del reinicio
    (misma sesión): 20007000 00000411 … :white_check_mark: Los datos siguen ahí
    Tras cortar la alimentación/desconectar y volver a conectar: FFFFFFFF FFFFFFFF … :cross_mark: Todo vacío

El programa puede escribir datos, puede leerlos de inmediato y pueden sobrevivir a un reinicio, pero en cuanto se corta la alimentación se pierden todos.

¿Podría ser un problema de configuración del modo de arranque?
Uno de los modos de arranque del STM32 se graba en la memoria y se pierde al apagar la alimentación. No sé si tu S32 también tiene esta configuración.

Tras volver a ejecutar el procedimiento cuidadosamente, la nueva conclusión de GPT: comparación de datos clave

Momento Zona 0x2400 Zona 0x0
Justo después de escribir 00800040 48484848 :white_check_mark: 20007000 00000411 :white_check_mark:
30 segundos después, en la misma sesión 00800040 48484848 :white_check_mark: ¡todavía está! Could not read memory(ha dejado de ser válido)
Después de salir y reconectar(1-2 minutos) FF(todo perdido) FF

La verdad sale a la luz: ¡la carga de la flash se fuga rápidamente en cuestión de minutos!

  • En el momento de la escritura: la carga es suficiente → los datos están intactos
  • A los 30 segundos: la zona de direcciones bajas(0x0) falla primero, mientras que la zona de direcciones altas(0x2400) aún se mantiene勉强
  • Después de 1-2 minutos: todo vuelve a FF

Esta es la conclusión final que dio GPT

La falla física de la celda de memoria flash del chip (fuga de carga en cuestión de minutos) ★ la causa real
│
▼
El programa nunca se guarda → la flash queda vacía/fallida de forma permanente
│
▼
Flash vacía → la CPU obtiene 0xFFFFFFFE → error de bus → HardFault recursivo → LOCKUP ★ real
│
▼
Ciclo de reinicio LOCKUP de 610 μs (onda de diente de sierra en el osciloscopio, 1,64 kHz) ★ real, incluso lo reproduciste en la simulación
│
▼
El depurador falla al detenerse → se interrumpe RAMCode → error de grabación (-1/-5) ★ real
│
▼
Escritura ocasionalmente exitosa (la carga es temporalmente suficiente) → lectura inmediata normal → después de 1-2 minutos se fuga a FF ★ real

Este problema es realmente poco común; prueba con otra placa.

Precisamente porque no tengo placas de sobra a mano, he estado dando vueltas a esta; cuando lleguen las nuevas placas, sabremos si es un problema del chip.

¿Encontraste el problema?

La placa nueva aún no ha llegado; por ahora, sigue siendo más probable que el fallo esté en la flash.