¿Cómo sé si tengo el cargador de arranque correcto instalado en mi ATMega328P-PU?

5

Tengo un ATMEGA328P-PU, ya cargado, pero cuando intenté cargar el programa (un programa simple para hacer parpadear el LED en el pin 13) Recibo un error como:

  

avrdude: stk500_getsync (): no está sincronizado: resp = 0x00

He buscado mucho en Google y he intentado varias maneras de deshacerme de este error a saber:

: presione restablecer justo antes de seleccionar Cargar elemento del menú

-corriente del puerto serie seleccionado

-correcto controlador instalado

-chip insertado en el Arduino correctamente

y seguí todas las instrucciones en www.arduino.cc pero diablos

    
pregunta thebugger

4 respuestas

3

¿Alguna vez has programado tu ATmega328P con éxito antes? Si no, ese mensaje probablemente signifique un problema de configuración. Solo está diciendo que su IDE no puede comunicarse con la MCU. Puede tomar un tiempo antes de que pueda programar exitosamente su ATmega por primera vez. En este caso, no puedo ayudarlo sin más información sobre su configuración.

Si pudo programarlo en algún momento, pero no puede hacerlo más, entonces el mensaje que recibe de avrdude puede ser una señal de que su MCU ya no funciona.

Para verificar si su ATmega todavía está vivo, siga estas instrucciones:

  1. ¿El ATmega sigue mostrando su heartbeat ? Normalmente, el gestor de arranque para Arduino Uno y tableros similares tiene la función heartbeat para indicar a los usuarios que está vivo: son tres parpadeos rápidos en el LED conectado al pin 13, justo después del arranque. ¿El tuyo todavía lo hace? Si es así, puedes relajarte: está vivo.

  2. Si ya no parpadea tres veces más, ¿alguna vez ha parpadeado después del inicio? Por ejemplo, cuando conectaste tu placa Arduino a un puerto USB de tu computadora (supongo que tienes una placa USB), ¿alguna vez ha parpadeado tres veces después del inicio?

No quiero alarmarte ni nada. No estoy diciendo que tu ATmega esté quemada. Pero es un poco difícil saber cuándo se quema. El mensaje que está recibiendo es una señal de ello, pero puede ser muchas otras cosas. He quemado 3 de esos chips, yo mismo, y es un momento triste, eso es seguro.

En mi caso, algunas cosas indicaron el problema. Antes de que tuviera el problema, pude programar mi MCU utilizando mi placa Arduino Uno. En algún momento, hice algo que hizo que la MCU dejara de funcionar. A menudo es un cortocircuito que causé al realizar cambios en un circuito en una placa de pruebas. Después de ese evento, el latido del corazón se detuvo y ya no pude programar el chip con mi Arduino Uno ni quemar un cargador de arranque en él. El mensaje de avrdude en todos mis casos fue el mismo que recibiste. Sin embargo, pude programar otros ATmegas que tenía utilizando ambos métodos (lo que significaba que no era un problema con el tablero).

Si su MCU continúa haciendo el latido del corazón, entonces está vivo y está experimentando algún otro problema, probablemente la comunicación o la configuración de IDE. Lo que generalmente intento a continuación es volver a grabar el gestor de arranque. Si la MCU está bien, con gusto tomará el cargador de arranque. De esta manera, también se asegura de que el gestor de arranque correcto esté en su lugar.

    
respondido por el Ricardo
1

Sugeriría comprar uno con el gestor de arranque ya programado. De esa manera, puede conectarlo y verificar que el latido del corazón parpadee al encenderse. Una vez que tengas eso, intenta cargar el boceto de parpadeo.

¿Dices que estás poniendo esto en un Arduino? Podría ser que el chip de interfaz usb sea malo. ¿Qué modelo de tablero?

    
respondido por el BrianK
1

En tus etiquetas usaste Arduino, así que supongo que tienes una.

Así que primero coloqué el ATMEGA328P-PU en la dirección correcta sobre la placa (la punta en la dirección ICSP-Pin). Intente grabar el Bootloader una vez más y si también ha intentado utilizar otra MCU ATMEGA328P-PU. Después de esto, intente cargar el programa blink nuevamente.

    
respondido por el kimliv
0

La mejor manera de asegurarse de tener el cargador de arranque correcto es programarlo usted mismo. Si el problema persiste después de actualizar el gestor de arranque correcto (o no puede actualizar el gestor de arranque), el siguiente sospechoso sería la falta de coincidencia de la tasa de transmisión. Tendrá que comprobar la siguiente configuración:

  • la placa de destino correcta se selecciona en la configuración IDE
  • el reloj XTAL ( f_cpu paramter en board.txt ) coincide con lo que realmente tiene en su tablero (muchos clones de Arduino son en su mayoría compatibles con el original, excepto la frecuencia de cuarzo)
  • la velocidad en baudios para cargar su software (el parámetro upload.speed en board.txt ) coincide con el cargador de arranque que tenga (si no puede volver a instalar el cargador de arranque, es posible que desee probar varios valores y ver cuál funciona. Por lo general, el valor predeterminado es 19200).

Tenga en cuenta que hay un gran sitio enlace donde los expertos de Arduino se reúnen, por lo que en el futuro tal vez desee consultar a su Arduino- Preguntas específicas allí.

    
respondido por el Dmitry Grigoryev

Lea otras preguntas en las etiquetas