avrdude -B 3 parámetro

5

Soy nuevo en la programación AVR, obtuve este chip atmega8A y uso avrdude con un USB asp que hice yo mismo, para programarlo.

Por alguna razón, el chip no responde si no uso el parámetro -B 3 con avrdude, aunque he restablecido los bits de fusible del chip a los valores predeterminados de fábrica.

Ahora mi pregunta es qué es este parámetro -B 3 y cómo puedo solucionarlo.

    
pregunta Farzad Bekran

2 respuestas

5

De la documentación:

-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.

En mi opinión, esto significa que no es tanto un 'arreglo', sino una configuración regular para ajustar el reloj del programador al reloj del controlador receptor. Si mi memoria me funciona bien, un ATmega8 predeterminado de fábrica funciona a 1MHz, mientras que avrdude está configurado en 4MHz de manera predeterminada y, por lo tanto, su programador es demasiado rápido para que su controlador se mantenga actualizado. Esto implica que cuando cambias los fusibles de reloj de tu controlador, se requiere un -B diferente para programarlo.

    
respondido por el jippie
1

El indicador B en avrdude está allí para configurar la velocidad de reloj del reloj JTAG / ISP.

Dado que su microcontrolador es el predeterminado de fábrica, probablemente se ejecute a 1 MHz y la configuración predeterminada para la velocidad del reloj para la transferencia del ISP es demasiado alta para que pueda hacer frente.

Así que el parámetro -B 3 no es nada realmente malo. Pero si configura su controlador para que funcione a 8 MHz (elimine la división por 8 en los bits de fusible) o conecte un cristal más rápido, es probable que no necesite el -B 3 y pueda ejecutarse con la configuración predeterminada.

Al comenzar a usar un nuevo controlador, es muy común que tenga que configurarlo inicialmente usando un ISP-clock más lento, ya que el controlador se está ejecutando a baja velocidad.

    
respondido por el Tomas

Lea otras preguntas en las etiquetas