Error al cargar el archivo hexadecimal a AVR uC

Estoy tratando de cargar un archivo hexadecimal en un ATtiny85 desde Ubuntu ejecutando estos comandos:

avr-gcc -mmcu=attiny85 -Wall -Os -o src.elf main.cpp
avr-objcopy -j .text -j .data -O ihex src.elf src.hex
avrdude -p t85 -c avrispmkII -e -U flash:w:src.hex

me sale este error:

avrdude: ser_open(): can't set attributes for device "/dev/ttyS0": Inappropriate ioctl for device

Traté de usar diferentes puertos USB, pero eso no ayudó. ¿Cómo puedo resolver este problema?

Intente usar 'sudo' antes del comando avrdude, es posible que sus permisos usb sean un poco extraños. También es posible que deba asegurarse de que está utilizando el puerto correcto que puede anular con el indicador -P para avrdude.
No, 'sudo' no funcionó...
Es posible que vea stackoverflow.com/questions/9929587/… Realmente no puedo ayudarlo con el AVRISP más allá de eso, así que eliminé mi respuesta que se aplicaba más a los programadores en serie USB de estilo stk500/bocetos de Arduino ISP.
) Desenchufe su programador; 2) En la línea de comando ingrese sudo dmesg -c; 3) Conecte su programador; 4) En la línea de comando, ingrese `sudo dmesg -c nuevamente y copie su salida en su pregunta.
Esto es bastante fácil de resolver una vez que sabes qué buscar. Considere unirse a nosotros en el chat: chat.stackexchange.com/rooms/15/electrical-engineering Puedo explicarlo.

Respuestas (1)

Un breve artículo del chat.

Primero asegúrese de que el módulo del controlador esté cargado, aparentemente esto no sucede automáticamente:

Opción 1: Sobre la marcha:modprobe cdc-acm

Opción 2: Para cargar el módulo en el momento del arranque:

  • sudo bash -c 'echo hoi >> /etc/modulesNote que el doble >> es importante.
  • reiniciar
  • comprobar si el módulo está cargado:lsmod | grep cdc-acm && echo success || echo failed

Debería poder programar el dispositivo usando:

sudo avrdude -v -p t85 -c avrispmkII -P usb -U flash:w:src.hex

Consulte esta pregunta para obtener más información: https://stackoverflow.com/questions/5412727/avrisp-mkii-doesnt-work-with-avrdude-in-linux

No estoy seguro de cuál es el motivo del mensaje de error que informó en este momento:

avrdude: stk500v2_command(): command failed
avrdude: stk500v2_program_enable(): bad AVRISPmkII connection status: Target not detected
avrdude: initialization failed, rc=-1 

Tu lista de tareas:

  1. Cargue automáticamente el módulo cdc-acm => Descrito anteriormente.
  2. Averigüe qué está mal con sus udevreglas, para que no tenga que usar sudopara programar => verifique https://askubuntu.com/ para eso.
  3. Averigua por qué el programador no responde. https://electronics.stackexchange.com/ es el lugar correcto. Una imagen de su configuración ayudará. Como es un error diferente al que comenzaste, creo que se justifica una nueva pregunta.