De repente no puede flashear ATmega328P debido a un error de verificación

0

Durante un par de años he estado flasheando algunos tableros que diseñé que usan un ATmega328P usando un USBtinyISP y avrdude. Tengo tres tableros idénticos que se han programado con éxito docenas de veces. De repente no puedo programar ninguno de ellos. En todos los casos, avrdude me da un error de verificación. Para cualquier tablero dado, es la misma dirección, pero cada tablero falla en una dirección diferente (0x02df, 0x0a97 y 0x043f). Después de la falla, dos de las placas parecen estar funcionando (los LED reaccionan adecuadamente) pero no confiaría en ellos. Curiosamente, una cuarta placa, utilizada para el desarrollo, ocasionalmente (rara vez) parpadea con éxito. FWIW, las tarjetas están conectadas al USBtinyISP a través de pogo pines. Pero este conector lleva funcionando un par de años. ¡Puedo ver en mi historial de desplazamiento varios flashes exitosos hace solo dos días!

¿Qué podría estar causando este fallo completo? ¿Qué puedo intentar? Estoy en mi ingenio final.

    
pregunta Russ Kuhn

1 respuesta

1

El problema se ha ido y me gustaría poder decir exactamente por qué. En un acto de pura desesperación hice un make clean y luego make en el directorio de firmware principal (hay bibliotecas en un par de otros directorios que no toqué). Entonces le mostré una placa que no había funcionado y ¡pasó la verificación! Así que hice otra tabla. Pasado Y otro. Pasado Y otro. 100% de éxito. Sin fallos en absoluto

No puedo explicar por qué con solo reconstruir el flash se solucionaría esto. Que yo sepa, avrdude simplemente escribe el archivo hexadecimal, lo lee de nuevo y compara los dos. Si alguien tiene alguna posible explicación, me encantaría escucharla.

Por otro lado, hubo un eclipse lunar la noche anterior a que todo esto comenzó ...

    
respondido por el Russ Kuhn

Lea otras preguntas en las etiquetas