Lectores como tú ayudan a apoyar a MUO. Cuando realiza una compra utilizando enlaces en nuestro sitio, podemos ganar una comisión de afiliado. Leer más.

La instalación de un gestor de arranque es el primer paso para dar vida a sus proyectos Arduino. Esta es una pieza de software que lo ayuda a cargar con frecuencia bocetos de Arduino con facilidad en la placa sin la necesidad de un equipo de programación especial.

Si bien esto puede parecer ciencia espacial, en realidad es más simple de lo que piensa, incluso para principiantes. Le mostraremos cómo instalar (o reinstalar) fácilmente un cargador de arranque en su placa Arduino en solo unos pocos pasos.

Pero primero, ¿qué es exactamente un gestor de arranque en la placa Arduino?

¿Qué es un gestor de arranque?

Un gestor de arranque de Arduino es un pequeño programa que se almacena en la memoria no volátil de la placa que se ejecuta cada vez que se enciende la placa, se carga con un nuevo código o se reinicia. Cada vez que se ejecuta el programa del gestor de arranque, inicializa el hardware de la placa y luego carga el boceto o programa principal que está almacenado en la memoria flash de la placa.

instagram viewer

Vale la pena señalar que todas las placas Arduino se envían con un cargador de arranque preinstalado de sus fabricantes. A veces, puede encontrar tableros con cargadores de arranque defectuosos recién salidos de la caja. Sin embargo, esto rara vez sucede.

¿Por qué usar un gestor de arranque?

Hay varias situaciones en las que el uso de un cargador de arranque Arduino puede ser útil. Por ejemplo, si es un principiante en la plataforma Arduino, el uso de un gestor de arranque puede facilitar y acelerar la carga de nuevos programas en su placa. Esto se debe a que no necesita usar dispositivos de programación externos, como un programador o un convertidor de USB a serie, para cargar su código.

Si está trabajando en un proyecto que requiere actualizaciones frecuentes del código, lo encontrará muy útil. En este caso, usar un gestor de arranque puede ahorrarle tiempo y esfuerzo, ya que simplemente puede cargar el nuevo código en la placa sin tener que usar dispositivos de programación externos.

Además, si está trabajando en un proyecto que requiere el Arduino estar en un estado específico cuando se enciende, como ejecutar un programa en particular, entonces puede ser útil usar un gestor de arranque. El gestor de arranque le permite configurar el estado inicial de la placa para que ejecute automáticamente el programa deseado cuando se enciende.

Por último, proporciona una forma de recuperar el Arduino si el boceto principal se corrompe o no se ejecuta.

¿Por qué falta mi gestor de arranque?

Podría haber cuatro razones posibles por las que su placa puede necesitar un nuevo gestor de arranque:

  1. Sin gestor de arranque preinstalado: Es bastante común tener muchos proyectos independientes de ATMEGA328P en los que suelda su chip en una PCB y lo fríe. Por lo tanto, es posible que haya reemplazado la placa con un chip sin la instalación previa del cargador de arranque.
  2. Cargador de arranque reemplazado: Podría haber reemplazado su cargador de arranque con un cargador de arranque de terceros modificado que podría estar dañado.
  3. Cargador de arranque dañado: Este es el escenario menos probable. Sin embargo, en algunos casos, la memoria flash Arduino puede corromperse.
  4. Memoria extendida: Si reemplazó (flasheó) todo el cargador de arranque con su aplicación para disfrutar de los 2K restantes de la memoria del programa, definitivamente falta su cargador de arranque.

Esto es lo que debe hacer.

Instalación/reinstalación del cargador de arranque Arduino

Los microcontroladores generalmente se programan antes de soldarlos a una PCB. Esto generalmente se realiza mediante la programación en el sistema (ISP), como la programación en serie en circuito (ICSP), que permite que el microcontrolador se programe mediante un programador externo. Muchos fabricantes de microcontroladores, como Atmel y Microchip, proporcionan un encabezado ISP en sus placas para este fin.

Usando otra placa Arduino

Para actualizar el cargador de arranque en un microcontrolador ATmega328, debe usar el encabezado ICSP en la placa antes de poder instalar el cargador de arranque usando la otra placa como programador ISP.

Inicie el IDE de Arduino, navegue hasta ArduinoISP como se muestra a continuación, y cargue el código de ejemplo en la placa que desea utilizar como programador. (Siga el video tutorial para la conexión del hardware).

El código debería verse así para que sepa que está en el camino correcto.

Desde el Herramientas pestaña, ir a Programador luego haga clic en Arduino como ISP Como se muestra abajo.

Finalmente, desde el Herramientas pestaña de nuevo, haga clic en Grabar cargador de arranque como se muestra.

Una vez que se completa el proceso, la placa de destino ahora está lista para ser programada.

Uso de un programador dedicado

Hay muchos dispositivos de programación AVR disponibles para este tipo de instalación. Una buena opción que puede probar es el programador de bolsillo AVR (solo Windows) basado en el programa de Dick Streefland. USBpequeño y Limor Fried's USBtinyISP. Ofrece una forma más sencilla de programar microcontroladores AVR, como los que se encuentran en las placas Arduino. Además del hecho de que funciona con una conexión USB, es la mejor opción porque es compatible con una variedad de lenguajes de programación y software, lo que la convierte en una herramienta versátil para cualquier Usuario de Arduino.

También puede probar otras opciones como el programador oficial Atmel-ICE para microcontroladores ARM, especialmente si no está en Windows.

Conecte la placa Arduino al programador y actualice el gestor de arranque. Consulte este video tutorial a continuación.

El proceso debe ser simple y no tomar más de 20 segundos.

Nota: La placa de destino debe encenderse correctamente antes de intentar este método. De lo contrario, no podrá flashear el .maleficio archivo a su objetivo.

Para los usuarios avanzados, existe una forma más compleja de instalar el gestor de arranque mediante la línea de comandos. No es necesario llegar a esta etapa, pero le da el poder de modificar o recompilar el código para obtener una experiencia más personalizada.

El primer paso del proceso es configurar los bits del fusible, que forman parte del chip AVR, y controlar ajustes como el uso de un cristal externo. Use el siguiente comando para configurar sus bits de fusible:

avrdude-b 19200 -CUSB diminuto-pagm328p-v-mi-Tefundir:v:0x05:metro-Tfusible:v:0xD6:metro-Tfusible:v:0xFF:metro

Una vez configurados los bits de fusible, el siguiente paso es transferir un archivo .hex compilado a la placa de destino y configurar los bits de bloqueo. Esto le permitirá ejecutar el programa en la placa. Asegúrese de estar en el mismo directorio que el optiboot_atmega328.hex archivo antes de teclear este comando:

avrdude-b 19200 -CUSB diminuto-pagm328p-v-mi-Tdestello:v:nombrearchivohex.hex-Tcerrar:v:0x0F:metro

Nota: Estos comandos son para el Arduino Uno. Deberá refactorizar los bits de fusible para su placa que se encuentran en el tablero.txt archivar y modificar el Parámetros del número de parte de AVRDUDE también para que trabajen.

¿Qué harás con Arduino a continuación?

El cargador de arranque Arduino es lo que hace que sea tan fácil de programar, incluso para principiantes. Con suerte, ahora puede cargar sus propios bocetos personalizados en Arduino y restaurar el cargador de arranque para futuros proyectos Arduino DIY.