Cargador de arranque ATMEGA328p-AU

Tengo un chip ATMEGA328P-AU, para grabar el cargador de arranque usé la placa ARDUINO Uno como "ARDUINO como ISP" con la placa de configuración: Nanno. Recibo el siguiente error. Mientras buscaba la solución, recibí sugerencias de

  1. volviendo a verificar la conexión - Sí, lo hice
  2. Baje la tasa de Buad - Intenté observar el mismo resultado que a continuación
  3. Intenté variar el oscilador externo 8MHz/ 16Mhz El comando para cargar el cargador de arranque es el siguiente:

D:\WorkSpace\Arduino\arduino-1.8.7\hardware\tools\avr/bin/avrdude -CD:\WorkSpace\Arduino\arduino-1.8.7\hardware\tools\avr/etc/avrdude.conf -v - patmega328p -carduino -PCOM9 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0xFD:m -Uhfuse:w:0xDA:m -Ulfuse:w:0xFF:m

¿Quiero saber si esta firma 0xffffff indica que he fundido el IC de manera similar?

     Using Port                    : COM9
     Using Programmer              : arduino
     Overriding Baud Rate          : 19200 avrdude: stk50

0_recv(): el programador no responde avrdude: stk500_getsync() intento 1 de 10: no está sincronizado: resp=0x8e AVR Part: ATmega328P Chip Erase delay: 9000 us PAGEL: PD7 BS2: PC2 RESET disposición: dedicado REINTENTAR pulso: serie SCK modo de programa: sí modo de programa paralelo: sí Tiempo de espera: 200 StabDelay: 100 CmdexeDelay: 25 SyncLoops: 32 ByteDelay: 0 PollIndex: 3 PollValue: 0x53 Detalle de memoria:

                              Block Poll               Page                       Polled
       Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
       ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
       eeprom        65    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
       flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
       lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
       hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
       efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
       lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
       calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
       signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

     Programmer Type : Arduino
     Description     : Arduino
     Hardware Version: 2
     Firmware Version: 1.18
     Topcard         : Unknown
     Vtarget         : 0.0 V
     Varef           : 0.0 V
     Oscillator      : Off
     SCK period      : 0.1 us

avrdude: dispositivo AVR inicializado y listo para aceptar instrucciones

Lectura | ############################################## | 100% 0.00s

avrdude: Firma del dispositivo = 0xffffff (probablemente .avr8x_mega) (reintentando)

Lectura | ############################################## | 100% 0.01s

avrdude: Firma del dispositivo = 0xffffff (probablemente .avr8x_mega) (reintentando)

Lectura | ############################################## | 100% 0.00s

avrdude: Firma del dispositivo = 0xffffff (probablemente .avr8x_mega) avrdude: ¡Vaya! Firma de dispositivo no válida. Vuelva a verificar las conexiones e intente nuevamente, o use -F para anular esta verificación. Avrdude hecho. Gracias.

Debe usar la tasa de baudios exacta para el cargador de arranque que flasheó, la fuente de reloj correcta, el comando correcto, la conexión en serie correcta, para activar el reinicio en el momento correcto ... Esencialmente, ninguna de la información clave crítica está en su pregunta.
Gracias por la sugerencia ... agregó el comando
Todavía falta demasiado. Tal vez intente escribir un boceto que haga una salida en serie espontánea sin fin, idealmente con breves pausas, cárguelo con el ISP y asegúrese de que puede leer la salida antes de agregar todas las complicaciones adicionales de la comunicación del cargador de arranque. Una vez que eso funcione, puede intentar cargar un cargador de arranque nuevamente, informado por todo lo que aprendió sobre la situación.
lo siento, no te entiendo específicamente "Tal vez intente escribir un boceto que haga una salida en serie ilimitada e idealmente con breves pausas", usé este enlace para el procedimiento anterior arduino.cc/en/Tutorial/ArduinoToBreadboard
No se requiere un cargador de arranque para cargar un boceto, y un cargador de arranque requiere más para funcionar correctamente que un boceto que simplemente genera resultados. Entonces, comience con un boceto de este tipo, use "cargar a través del programador" (o como sea que llamen a esa opción de menú ahora) y obtenga la producción de salida en serie que puede capturar, primero. Al hacer eso, puede ayudarse a sí mismo en lugar de decir que siguió las instrucciones pero el resultado no funciona, no hace que una pregunta responda aquí.
Tengo un chip nuevo, así que para eso, primero necesito cargar el cargador de arranque y luego el código en serie, tengo problemas con el cargador de arranque
De acuerdo, entendí tu punto, traté de cargar el código de parpadeo básico con el siguiente comando: D:\WorkSpace\Arduino\arduino-1.8.7\hardware\tools\avr/bin/avrdude -CD:\WorkSpace\Arduino\arduino-1.8 .7\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -carduino -PCOM12 -b9600 -D -Uflash:w:C:\Users\Dell\AppData\Local\Temp\arduino_build_701939/Blink.ino. hex:i Resultado: avrdude: stk500_recv(): el programador no responde avrdude: stk500_getsync() intento 2 de 10: no sincronizado: resp=0x86
Entonces su problema es un problema de ISP, no un problema de cargador de arranque... Mire la fuente del boceto de Arduino ISP y vea qué velocidad de transmisión se usa. Asegúrese de haber hecho la modificación de reinicio. Verifique dos veces su cableado y editla documentación clara de él en su pregunta.
aclararía poco más y la solución para el mismo también; ¿Todos los errores de sincronización son fallas del ISP?
El error de sincronización suele ser la comunicación con el programador, la firma del dispositivo suele ser la comunicación entre el programador y el objetivo . Ahora ha informado de ambos en diferentes experimentos...
¡¡OK muchas gracias!! así que necesito cambiar el tablero del cargador de código, ¿verdad?
Tengo una duda con respecto a la carga de arranque. ¿Puede aclarar esta línea? "Sin embargo, debe tener en cuenta que el procedimiento Cargar usando el programador no quema fusibles, por lo que si tiene un microcontrolador de fábrica nuevo, primero debe quemar el cargador de arranque para tener un dispositivo que funcione correctamente". desde este enlace- arduino.cc/en/Hacking/Programmer y me pediste que subiera el código directamente, es un poco confuso
ARGH, como mucha documentación de Arduino, eso es horrible. Lo que probablemente quieren decir es "tomar prestado" el hecho de que quemar un gestor de arranque también establece fusibles. En realidad, no está utilizando el cargador de arranque (una vez que borra como parte de intentar cargar cualquier otra cosa, desaparece de todos modos), solo el efecto secundario de que el proceso también hace los fusibles, y persisten.
De acuerdo, ¿eso significa que "los fusibles necesarios para cargar el código (comunicación UART) están configurados en el arranque", que también se puede hacer sin cargar el arranque?

Respuestas (1)

Después de probar mucho tiempo en la carga de carga de arranque usando Arduino como ISP, cambié a USBASP. Y cargué con éxito el código en esos IC sospechosos, que dejé de lado por considerarlos muertos. Aunque no pude descubrir la falla en Arduino durante la carga, sugeriría hacer lo mismo si alguien tropezó con una pregunta similar.

Esta es una solución bastante aleatoria, pero acepte su propia respuesta para que la pregunta se muestre como resuelta y no se repita continuamente.