He estado luchando por hacer un Arduino por un tiempo (tuve éxito en hacer una versión de tablero usando un cable de programador ISP ). Dicen que el gestor de arranque Arduino está hecho para que no se requiera ningún circuito externo para programar el ATmega8 . Pero cuando examiné los esquemas, existe el circuito normal requerido para la conexión en serie. Entonces, ¿qué hace realmente el gestor de arranque?
arduino
bootloader
Rick_2047
fuente
fuente
Respuestas:
El gestor de arranque es un pequeño programa en el flash del AVR que nunca se sobrescribe y se ejecuta en el encendido. El trabajo del gestor de arranque es leer los datos del programa desde el UART y escribirlos en la memoria flash interna. Sin un gestor de arranque, la única forma de cargar código es utilizando ISP.
El AVR ATMega8 viene sin código en el flash. El código se puede cargar a través de los pines ISP (programación en el sistema), utilizando un programador AVR ISP (o incluso otro Arduino).
Para Arduino, el ISP se usa solo una vez (en la fabricación), para cargar un pequeño gestor de arranque. En el encendido, el gestor de arranque se ejecuta y se comunica con el UART serie (pines TX + RX). Ahora, Arduino se puede programar a través de los pines seriales usando el protocolo STK500.
Como los pines en serie están (típicamente) conectados a un USB FTDI a un chip en serie, el Arduino también se puede programar a través de USB.
fuente
Puedes comprar chips ATmega328 con el gestor de arranque aquí .
fuente
Probablemente significan que si compra un Arduino Uno preconstruido y ensamblado, no necesita comprar un programador. Al igual que con muchos otros kits de inicio de electrónica. Puede programar la placa Arduino Uno con solo un cable usb (A> B).
Sin embargo, si va a construir un Arduino propio, por supuesto necesitará un circuito externo (por ejemplo, un programador AVR ISP) o el tipo de cosas Max232 o FTDI.
fuente
La idea detrás del cargador de arranque de Arduino es que no se necesita ninguna especialidad hardware o circuitos a ellos re-programa, en comparación con la programación inicial de la misma, o microcontrolador mayores, que a menudo necesita un programador dedicado (como PicKit2 para PIC MCU). El gestor de arranque permite la programación a través de una conexión serie básica.
Por supuesto, en ese momento, necesitaba el enlace en serie, generalmente un convertidor rs232 de TTL a RS232. Luego, los puertos seriales se eliminaron gradualmente, usb a serial se volvieron ubicuos, permitiendo que eso reemplazara un max232 o similar. Y ahora, el uso del microcontrolador Atmel habilitado con USB permite incluso que eso sea innecesario, por lo que un solo ic con partes pasivas mínimas podría proporcionar las funciones Arduino y USB a serie. Ahora solo necesita un cable usb y algunos pasivos para cargar un boceto. La programación inicial del gestor de arranque todavía requiere la programación tradicional ICSP.
fuente