Quiero cambiar los bits del fusible del ATMega328 para operar con un reloj externo (generador de función/señal) en lugar del cristal. La velocidad del reloj será de 8MHz. Lo he estado intentando durante meses y todos mis intentos fallaron porque bloqueé los chips debido a conexiones incorrectas o a un malentendido de los bits.
Entiendo la parte donde necesitamos configurar el CKSEL a 0000 (Reloj externo)
También entiendo cómo usamos el avrdude y conectamos la entrada del reloj (generador de funciones) al XTAL1
Mi comando sería algo como esto:
avrdude -c avrispmk2 -p atmega328p -P COM6 -U lfuse:w:0xe0:m -U hfuse:w:0xde:m -U efuse:w:0xff:m
Compré un ISP avrispmk2 y creo que tengo las conexiones apropiadas en el protoboard en este punto.
Mi pregunta es, después de quemar el fusible de los chips, ¿qué tipo de modificaciones debo hacer en el archivo boards.txt?
¿Necesito incluir los bits de fusibles o algo extra en boards.txt?
atmega328p.name=Mynewarduino
atmega328p.upload.protocol=avrispmkII
atmega328p.upload.maximum_size=32256
atmega328p.build.mcu= atmega328p
atmega328p.build.f_cpu=8000000L // clock speed is 8mhz now
atmega328p.build.core=arduino
atmega328p.build.variant=standard
¿Qué más debería haber en el archivo personalizado boards.txt?
Llevo meses intentándolo y agradecería mucho cualquier respuesta o comentario. ¿Podría explicarme los pasos que puedo seguir sin arruinar otro chip?
Si entiendo correctamente el procedimiento, ¿son estos los pasos?
Realice las conexiones adecuadas con ATmega328 y la placa Arduino sin chip, conéctese con el ISP (mkii)
Queme los fusibles con el avrdude según los bits del fusible mientras el generador de señal está conectado a XTAL1 como 8MHz
En boards.txt, cambie F_CPU a 8000000L (¿o necesita crear una nueva entrada en boards.txt?)
Luego cargue el boceto parpadeante con Arduino IDE (¿necesito cargar usando el programador?)
Si me falta algún paso, agradecería saberlo.
Copie la entrada existente, cambiando el prefijo utilizado; cada entrada debe tener un identificador único, y el menú muestra los distintos <identifier>.name
valores para cada entrada. Solo cambie las variables que importan para el nuevo chip, en este caso el f_cpu
valor.
Si no usa un cargador de arranque, cambie el maximum_size
parámetro al tamaño completo del flash en el chip, es decir, 32768, y no olvide desprogramar el fusible BOOTRST. De lo contrario, establezca el valor para complementar los fusibles BOOTSZ y el tamaño del cargador de arranque compilado.
también
Ignacio Vázquez-Abrams
también
Ignacio Vázquez-Abrams
Ignacio Vázquez-Abrams