Arrancador de arranque arduino con avrdude y AVR dragon en ATmega32U4 que falla

1

Estoy intentando grabar un gestor de arranque en un ATmega32U4 alias. Arduino Micro que no está teniendo éxito. Estoy usando un AVR Dragon con interfaz ISP.

avrdude -c dragon_isp -p m32u4 -P usb -U flash:w:Caterina-Micro.hex -U lfuse:w:0xff:m -U hfuse:w:0xd8:m -U efuse:w:0xcb:m -U lock:w:0x2f:m

Cuando este comando se ejecuta, obtengo un montón de errores siguientes:

savrdude: stk500v2_jtagmkII_recv(): failed

SO: OSX Mavericks

avrdude: v6.1

ACTUALIZAR

Cuando configuro el indicador -B con 200 , claramente comienza a quemar el cargador de arranque, pero ¿esto se debe a una falla de hardware? Se tarda más de 3 minutos en quemarse.

avrdude -c dragon_isp -p m32u4 -P usb -U flash:w:Caterina-Micro.hex -U lfuse:w:0xff:m -U hfuse:w:0xd8:m -U efuse:w:0xcb:m -U lock:w:0x2f:m -v -B 1000
avrdude: Device signature = 0x000100
avrdude: Expected signature for ATmega32U4 is 1E 95 87
         Double check chip, or use -F to override this check.

O:

avrdude -c dragon_isp -p m32u4 -B 1000

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.26s

avrdude: Device signature = 0x1e9587
avrdude: safemode: Verify error - unable to read efuse properly. Programmer may not be reliable.
avrdude: safemode: To protect your AVR the programming will be aborted

Y:

avrdude -c dragon_isp -p m32u4 -B 200000

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 2.46s

avrdude: Device signature = 0x1e9587
avrdude: safemode: Fuses OK (E:CB, H:D8, L:FF)
avrdude done.  Thank you.
    
pregunta JavaCake

1 respuesta

2
  

Cuando se usa en el modo ISP, el AVR Dragon se comporta de manera similar a un AVRISP mkII (o JTAG ICE mkII en el modo ISP), por lo que todos los comentarios específicos del dispositivo se aplicarán allí. En particular, el Dragón comienza con una frecuencia de reloj ISP bastante rápida, por lo que la opción -B bitclock podría ser necesaria para lograr una comunicación ISP estable.

enlace

       -B bitclock
               Specify the bit clock period for the JTAG interface or the ISP clock (JTAG ICE only).  The
               value is a floating-point number in microseconds.  The default value of the JTAG ICE results
               in about 1 microsecond bit clock period, suitable for target MCUs running at 4 MHz clock and
               above.  Unlike certain parameters in the STK500, the JTAG ICE resets all its parameters to
               default values when the programming software signs off from the ICE, so for MCUs running at
               lower clock speeds, this parameter must be specified on the command-line.  You can use the
               'default_bitclock' keyword in your ${HOME}/.avrduderc file to assign a default value to keep
               from having to specify this option on every invocation.

enlace

Parece que el Dragón está enviando datos más rápido a través del ISP de lo que ATmega puede administrar. Esto es bastante probable cuando está ejecutando el ATmega desde la fuente de reloj predeterminada. El parámetro -B es la forma de resolver estos problemas.

hoja de datos párrafo 6.2.1 :

  

El dispositivo se envía con un oscilador de cristal de baja potencia (8.0 - 16MHz) habilitado y   con el fusible CKDIV8 programado, lo que da como resultado un reloj del sistema 1.0MHz con un cristal de 8MHz.

    
respondido por el jippie

Lea otras preguntas en las etiquetas