Tabla de contenido:

Guía de grabación del cargador de arranque Atmega328P-PU (Optiboot): 12 pasos
Guía de grabación del cargador de arranque Atmega328P-PU (Optiboot): 12 pasos

Video: Guía de grabación del cargador de arranque Atmega328P-PU (Optiboot): 12 pasos

Video: Guía de grabación del cargador de arranque Atmega328P-PU (Optiboot): 12 pasos
Video: Arduino: El Bootloader o Gestor de Arranque 2024, Mes de julio
Anonim
Guía de grabación del cargador de arranque Atmega328P-PU (Optiboot)
Guía de grabación del cargador de arranque Atmega328P-PU (Optiboot)

Sin embargo, otra giude ardiente del gestor de arranque Atmega. Pero esta vez apuesto a que en el primer intento tendrás éxito !!

Este es el tutorial de grabación del gestor de arranque de Nick Gammons para placas Arduino.

Paso 1: algunas palabras

Unas pocas palabras
Unas pocas palabras

El microcontrolador Atmega328P-PU es uno de los chips Arduino más populares que se utilizan en una amplia gama en todo el mundo. Pero lo más importante es que Atmega sigue haciendo lo que puede hacer el Uno R3 estándar. La razón principal por la que me encanta este microcontrolador es el modo "Low Power". He escrito algunos bocetos nuevos para algunos sensores y los estoy probando por un tiempo.

Hace unos años, cuando comencé a jugar con Arduino, mi primer pedido fue un microcontrolador Atmega328P. Más tarde me di cuenta de que los que pedí a Aliexpress son chips en blanco. Las fichas son muy baratas en Ali, puedes comprarlas desde 1,40 $. Pero no contienen el cargador de arranque Uno (Optiboot) y sin él no podría cargar ningún boceto. ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ Fue una ducha muy fría para mí ……. Así que estaba buscando una manera de grabar el cargador de arranque en los chips. He probado 5 o 6 métodos, pero no tuve suerte. Después de una semana encontré un tema en un foro de un sitio web que mencionaba el tutorial de grabación del gestor de arranque de Nick Gammon. ¡¡Primer intento y ÉXITO !!: D Ahora le mostraré cómo grabar el gestor de arranque en chips Atmega328P-PU en blanco fácilmente sin estropear cosas en Arduino IDE.

Paso 2: ¿Qué es el gestor de arranque? (Optiboot)

El gestor de arranque es un pequeño programa (archivo HEX, 0.5 Kbyte) que le permite cargar bocetos a la memoria flash directamente desde Arduino IDE. El archivo HEX siempre se ejecuta antes que el programa principal y por eso es necesario.

Sin el gestor de arranque:

-¡El microcontrolador aún PUEDE SER PROGRAMADO! (Sí, es posible), pero necesitaría un programador AVR dedicado para hacer eso. ¡Y no es barato!

- No se puede programar a través del IDE de Arduino.

Cargadores de arranque compatibles con este método:

Atmega8 (1024 bytes)

Atmega168 Optiboot (512 bytes)

Atmega328 Optiboot (para Uno, etc. a 16 MHz) (512 bytes)

Atmega328 (8 MHz) para Lilypad, etc. (2048 bytes)

Atmega32U4 para Leonardo (4096 bytes) Atmega1280 Optiboot (1024 bytes)

Atmega1284 Optiboot (1024 bytes)

Atmega2560 con correcciones para el problema del temporizador de vigilancia (8192 bytes)

Atmega16U2: el cargador de arranque en el chip de interfaz USB del Uno

Atmega256RFR2 - el gestor de arranque en la placa Pinoccio Scout

El código para los siguientes cargadores de arranque está incorporado en el boceto y se descargará según la firma que se detecte.

Entonces tenemos todo lo que necesitamos.

Paso 3: Arduino Sketches Master

Maestro de bocetos de Arduino
Maestro de bocetos de Arduino
Maestro de bocetos de Arduino
Maestro de bocetos de Arduino
Maestro de bocetos de Arduino
Maestro de bocetos de Arduino

En primer lugar, necesita la biblioteca arduino.

Descárgalo desde aquí:

O descárgalo desde aquí.

Después de haber descargado, extráigalo a las bibliotecas de Arduino y busque Board Programmer. Ábralo y ejecute Board Programmer.ino.

Paso 4: la configuración del hardware

La configuración del hardware
La configuración del hardware
La configuración del hardware
La configuración del hardware
La configuración del hardware
La configuración del hardware
La configuración del hardware
La configuración del hardware

Hay 3 formas de conectar antes de programar:

- Utilice el escudo AVR ISP

- Arduino A a Arduino B

- Y el método de la protoboard

En la imagen puedes ver cómo conectar. En la placa de pruebas, los condensadores de cerámica no son realmente necesarios, pero se debe agregar el cristal de 16Mhz.

Estoy usando mi escudo AVR ISP esta vez.

El objetivo de este método es que el programa utilice el monitor en serie para acceder a la memoria flash para escribir el Optiboot (gestor de arranque)

Paso 5: ¡La programación

¡La programación!
¡La programación!
¡La programación!
¡La programación!

Una vez completada la configuración del hardware, ejecute Board Programmer.ino.

Compila y sube a tu Arduino, ¡pero no cierres la ventana! Lo necesitaras:)

La carga tardará unos segundos.

Paso 6: ¡Desconecta

Después de cargar el boceto, desconecte el Arduino de su PC y conecte todo si planea hacer esto en la placa de pruebas.

Si usa el escudo AVR, coloque el chip Atmega en el zócalo ZIF y "bloquéelo".

Muy importante: ¡Mientras el hardware no esté configurado, el procesador no debe obtener VCC! ¡¡De esa forma te arriesgas a sufrir un daño !!

Paso 7: ¡Conéctese

¡Conectar!
¡Conectar!

¡OK! El hardware está configurado y todo está en su lugar, conectamos el Arduino a la PC.

A continuación, abra el monitor en serie y configure la velocidad en baudios 115200 y verá esto.

En el monitor de serie puede ver que el Arduino ha entrado en modo de programación. ¡¡Frio!!:)

Como queremos programar Uno (Atmega328P), escriba una "U" en el indicador del mensaje y presione enter.

Paso 8: estado de programación

Estado de programación!
Estado de programación!

En la siguiente ventana verá esto.

¡No saldremos ni verificaremos, escriba una G y presione enter!

Paso 9: ¡Empieza la diversión!:)

¡Empieza la diversión!:)
¡Empieza la diversión!:)

Después de presionar Enter, verá esto:

Borrando chip … Escribiendo gestor de arranque …

Página de confirmación a partir de 0x7E00 Página de confirmación a partir de 0x7E80

Página de confirmación a partir de 0x7F00

Página de confirmación a partir de 0x7F80

Escrito. Verificando …

No se encontraron errores.

Escribiendo fusibles… LFuse = 0xFF

HFuse = 0xDE

EFuse = 0xFD

Byte de bloqueo = 0xEF Calibración del reloj = 0x9E

Hecho.

Modo de programación desactivado. Escriba 'C' cuando esté listo para continuar con otro chip …

Y feliz dia !!: D ¡Su chip Atmega328P ya está listo para cargar bocetos!

Esto fue fácil, ¿no?:)

Paso 10: ¡Un nuevo chip

Si desea programar otro chip, desconecte Arduino de su PC, reemplace el chip por uno en blanco. Vuelva a conectar Arduino y vuelva a realizar los pasos.

Si el monitor en serie no responde después de volver a conectar el Arduino, no se asuste, simplemente ciérrelo y abra uno nuevo.

Paso 11: ¡¡DESCARGO DE RESPONSABILIDAD

¡¡NO TENGO NADA DE ESTO !! ¡¡Todo el mérito es para Nick Gammon !!

Acabo de mostrar este método en este Instructable.

Espero que encuentre esto útil.

Que tenga un lindo día.

Paso 12: Cuando suceden cosas raras

Cuando suceden cosas raras
Cuando suceden cosas raras
Cuando suceden cosas raras
Cuando suceden cosas raras

Recientemente recibí este Arduino Nano con procesador Atmega328P-MU.

Así que intenté cargarle un boceto, pero no pude. El procesador no respondió a nada con las opciones Atmega328.

¡OK! Entonces, tal vez el cargador de arranque esté dañado y necesite una reescritura. Lo conecté con otro arduino y realicé la grabación del cargador de arranque. Todavía nada……!!!!

Ok entonces, necesito un freno (café y un cigarrillo) !! Como última oportunidad, volví a seleccionar Arduino Uno como objetivo. Carga completa: D

En este momento tengo un Nano que actúa como un Arduino Uno. No sé por qué sucedió esto, pero creo que se debe a la firma del procesador. De todos modos, realmente me alegró el día y es un poco divertido:)

Recomendado: