¿He bloqueado mi ATMEGA3328p configurando

0

Estaba jugando con el ajuste del "sistema de reloj prescalar" (CLKPR).

Ahora estoy en una situación en la que puedo ver que el reloj es de 244.9 KHz, usando mi analizador lógico y el fusible de "Salida de reloj en PORTB0". (También estoy usando el fusible / 8).

Mi código todavía se está ejecutando en ATMEGA, incluso después de apagar / encender.

AVRdude ya no me dejará escribir en él, ni en el flash ni en los fusibles.

$ avrdude -p atmega328p -c avrispmkII -P usb -U flash:w:main.hex -F

avrdude: stk500v2_command(): command failed
avrdude: stk500v2_program_enable(): bad AVRISPmkII connection status: Unknown status 0x00
avrdude: initialization failed, rc=-1
avrdude: AVR device initialized and ready to accept instructions
avrdude: Device signature = 0x88ab81
avrdude: Expected signature for ATmega328P is 1E 95 0F
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
         To disable this feature, specify the -D option.

avrdude done.  Thank you.

¿Hay un modo de falla donde configurar el reloj del AVR demasiado lento puede hacer que no sea programable?

La firma del dispositivo parece haber cambiado, ahora toma valores al azar que incluyen:

  • 0x888b02
  • 0x88ab81
  • 0x886bf8
  • 0x888b02

Ya he intentado apagar el ATMEGA y el AVR ISP MK-II.

¿Hay alguna manera de arreglar este chip?

    
pregunta fadedbee

1 respuesta

2

La velocidad del reloj de programación está limitada por el reloj de las MCU. Si la MCU se ejecuta en un reloj, la programación a la velocidad predeterminada fallará (como puede ver).

Puede reducir la velocidad del reloj de programación utilizando el interruptor -B en avrdude , siempre que el hardware del programador lo admita.

    
respondido por el filo

Lea otras preguntas en las etiquetas