Problema de programación Mini Pro a través de Arduino como ISP


9

Acabo de comprar un par de placas clon Arduino Mini Pro 5v (Inland, vendido en Microcenter, actualmente $ 4 USD) y quería usar mi Uno como ISP como lo hice antes con los chips ATmega328 y ATtiny85. He programado el Uno con las instrucciones en la página del tutorial de ArduinoISP y he conectado el Uno al Mini Pro usando las instrucciones de esta página . No puedo obtener el Arduino IDE o avrdude de la línea de comando para programar con éxito estas placas sin importar lo que intente. Excepto que puedo usar Arduino IDE para grabar un nuevo gestor de arranque en el Mini Pro.

También conecté los LED de estado (pines 7, 8 y 9), y puedo ver que el programador tiene una condición de error (pin 8) cuando intento programar algo además del gestor de arranque.

Aquí está mi línea de comando avrdude donde intenté configurar los fusibles en el Mini Pro:

avrdude -P /dev/tty.usbmodema0121 -b 57600 -c avrisp -p atmega328p -U lfuse:w:0xff:m -U hfuse:w:0xdb:m -U efuse:w:0xfd:m

Recibo lo siguiente de avrdude:

avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x1c

avrdude done.  Thank you.

No he tenido ningún problema con el uso de esta misma configuración, pero con un chip ATmega328 o ATtiny85 en una placa de prueba con avrdude en el pasado, así que no sé qué está sucediendo aquí.

También he echado un vistazo al código ArduinoISP, y no estoy realmente seguro de cuál es el resp = 0x1c. No veo un valor 0x1c definido en la sección Definiciones STK del código, por lo que no estoy seguro de qué podría estar causando esto.

Cualquier sugerencia aquí sería apreciada. Y sí, sé que puedo usar la placa Uno con el chip ATmega328 extraído para usar también como programador. Pero quiero poder sobrescribir el área del cargador de arranque con mi propio código como puedo con un chip ATmega328 normal.

¡Gracias!

Respuestas:


7

Después de hurgar un poco más, resulta que mi problema era la velocidad en baudios. Podría hacerlo funcionar configurándolo en 19200, solo un poco más lento. Alternativamente, puede modificar el boceto ArduinoISP para permitir velocidades de transmisión más altas. He utilizado este post para permitir 115200 baudios y yo era capaz de utilizar con éxito avrdude a las tasas más altas.

No estoy seguro de cómo me perdí esto antes, pero al menos es fácil de resolver.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.