¿Puede avrdude dirigirse a programadores usbtiny individuales?

Estoy imaginando una plantilla de programación de panel. En mi opinión, consiste en una Raspberry Pi, un concentrador USB alimentado y una colección de clones usbtiny, cada uno conectado a una plantilla pogo y un objetivo en un panel.

La única pregunta que aún no he resuelto es, cuando invoco avrdude, puedo usar -c para decirle que use usbtiny... pero ¿cómo puedo decirle qué usbtiny quiero que use? El plan es usar una secuencia de comandos para revisarlos todos uno a la vez, y en mi humilde opinión, solo adjuntar un grupo de programadores es más fácil que intentar crear un complemento para multiplexar el bus SPI de un programador a todos los objetivos.

Respuestas (1)

Se pueden identificar varios dispositivos USBasp o USBtinyISP por su información de conexión. Del manual AVRDUDE, apéndice B, "Resolución de problemas" :

  • Problema: No se encuentran varios programadores USBasp o USBtinyISP conectados simultáneamente.

    Solución: el código USBtinyISP admite la distinción de varios programadores en función de su tupla de conexión bus:dispositivo que describe su lugar en la jerarquía USB en un host específico. Esta tupla se puede agregar a la opción -P usb , similar a agregar un número de serie en otros programadores basados ​​en USB.

    La convención de nomenclatura real para los nombres de bus y dispositivo depende del sistema operativo; AVRDUDE imprimirá lo que encontró en el bus al ejecutarlo con (al menos) una opción -v . Al especificar una cadena que no puede coincidir con ningún dispositivo existente (por ejemplo, -P usb:xxx ), el escaneo enumerará todos los posibles dispositivos candidatos encontrados en el bus.

    Ejemplos:

    avrdude -c usbtiny -p atmega8 -P usb:003:025 (Linux)
    avrdude -c usbtiny -p atmega8 -P usb:/dev/usb:/dev/ugen1.3 (FreeBSD 8+)
    avrdude -c usbtiny -p atmega8 \
      -P usb:bus-0:\\.\libusb0-0001--0x1781-0x0c9f (Windows)
    
Excelente. Me alegro de que haya una solución. Encontré muchos documentos para avrdude, pero no esa parte del manual. ¡Gracias!