Cómo actualizar el firmware en un USBasp-Clone económico: 9 pasos
Cómo actualizar el firmware en un USBasp-Clone económico: 9 pasos
Anonim
Cómo actualizar el firmware en un USBasp-Clone económico
Cómo actualizar el firmware en un USBasp-Clone económico

Esta es una pequeña guía para actualizar el nuevo firmware en un clon USBasp como el mío. Esta guía está escrita específicamente para el clon USBasp que se ve en las imágenes, sin embargo, aún debería funcionar con otros. El cableado se muestra en el paso 5, hay un TL; DR en el paso 9.

¡Disfrutar!

Paso 1: el problema

El problema
El problema
El problema
El problema

Avrdude me dice que el programador que estoy usando tiene un firmware desactualizado. El puente normal para autoprogramación no existe en mi placa. He aquí cómo solucionarlo. Los esquemas para USBasp se pueden encontrar en fischl.de.

Paso 2: Materiales necesarios

Necesitará…

  • Un soldador
  • Un Arduino (preferiblemente Nano)
  • Algunos cables de puente
  • Una PC con Arduino IDE y avrdude instalados

Paso 3: la solución

La solución
La solución
La solución
La solución
La solución
La solución

Para que podamos actualizar el nuevo firmware en el ATmega8, necesitamos obtener el control de su pin RESET. Normalmente, un puente en el USBasp se puede cerrar para permitir la autoprogramación, sin embargo, el fabricante de mi placa no incluyó uno.

En el ATmega8, el pin RESET es el pin 29, el cuarto pin en la parte superior desde la izquierda. Está conectado a una resistencia pull-up de 10k a 5V. Tenemos que conectarlo al pin 5 del encabezado ICSP.

Podríamos intentar soldar un cable directamente a la resistencia o al pin en sí, sin embargo, es tedioso y puede dañar su placa. (Lo probé y arranqué la resistencia pull-up, no lo recomiendo) ¡Además, hay una manera mucho más fácil!

Aunque el fabricante no incluyó un puente real para permitir la autoprogramación, sí colocó un encabezado debajo del microcontrolador. Simplemente podemos soldar un cable y …

Paso 4: ¡Voilà

¡Voilà!
¡Voilà!

¡Hemos conectado los dos pines de reinicio! Los dos orificios de la parte inferior conectan el pin 29 y el pin 14 del microcontrolador.

Paso 5: Configuración del Arduino

Para actualizar el nuevo firmware en el programador, necesitamos otro programador, en este caso un Arduino con el boceto de ArduinoISP. Solo para asegurarse de que su configuración sea la misma, descomente la línea 81

// #define USE_OLD_STYLE_WIRING

Ahora conecte el Arduino con el encabezado ICSP en su programador.

Arduino USBasp

5V Pin 2 (VCC) GND Pin 4/6/8/10 (GND) Pin 10 Pin 5 (Reset) Pin 11 Pin 9 (MISO) Pin 12 Pin 1 (MOSI) Pin 13 Pin 7 (SCK)

El USBasp permanece desconectado de la PC.

Abra una terminal y escriba

avrdude -cavrisp -pm8 -b19200 -P [Su número de puerto va aquí, debería ser el mismo que en el IDE de Arduino]

Si todo va bien, avrdude debería imprimir alguna información sobre el ATmega8 (fusibles, firma, etc.)

Paso 6: flasheo del ATmega8

Para actualizar el chip, todavía necesitamos el firmware. Visite fisch.de y descargue la versión más reciente. Extraiga el archivo y navegue hasta él usando el shell.

Compilar el código no me funcionó, pero afortunadamente el archivo contiene todos los programas compilados en

bin / firmware

Aquí debería ver tres archivos.hex. Elija el que tenga el mismo nombre que su chip. Mi programador usa un ATmega8, así que elegí

usbasp.atmega8.yyyy-mm-dd.hex

Con una conexión que funcione al ATmega8, flashearlo debería requerir solo escribir

avrdude -cavrisp -pm8 -b19200 -P [PUERTO] -U flash: w: [archivo hexadecimal]

Si todo se hizo correctamente, avrdude debería escribir y verificar el firmware seleccionado.

Paso 7: Asegurarse de que el programador funcione

Asegurarse de que el programador funcione
Asegurarse de que el programador funcione

Para volver a usar el USBasp como programador, tenemos que quitar la conexión entre el pin 29 y el pin 14. Cortar el jumper por la parte inferior debería ser suficiente, pero quitarlo tampoco hace daño.

Puede probarlo conectándolo de nuevo a la PC y escribiendo

avrdude -cusbasp -pm8

Incluso si avrdude no puede alcanzar el objetivo, al menos debería reconocer el nuevo firmware de nuestro programador.

Paso 8: solución de problemas

Solución de problemas
Solución de problemas

Si avrdude muestra un error como este, probablemente tenga algo que ver con la función de reinicio automático de Arduino. Para evitar esto, agregue un condensador entre RESET y GND del Arduino. Generalmente se recomienda usar un capacitor de 10 µF, sin embargo, en mi caso, un capacitor de 100 µF funcionó bien.

Si recibe un error como

avrdude: error: habilitación del programa: el objetivo no responde. 1

o se devuelve una firma no válida, verifique su cableado. Tuve un problema con mis cables de alimentación oxidados y que ya no conducían electricidad. Recomiendo comprobar todos los cables de puente de antemano.

También asegúrese de cambiar el pin 11 y el pin 12 en el Arduino, si el problema persiste.

Asegúrese también de configurar la velocidad de transmisión correcta para Arduino como ISP, 19200. Se puede configurar con la opción

-b19200

Si tiene alguna pregunta o ha detectado un error, hágamelo saber:)

Paso 9: TL; DR

  1. Suelde un cable a través de los dos pines en la parte inferior de la placa.
  2. Configure un Arduino como ISP, asegurándose de habilitar el esquema de cableado anterior
  3. Conecte el Arduino al programador a través del encabezado ICSP
  4. Actualice el nuevo firmware en el programador
  5. Retire la conexión en la parte inferior
  6. No robes ninguna resistencia SMD