No entiendo el concepto Arduino

8

He estado luchando para hacer un Arduino por un tiempo (tuve éxito en hacer una versión de tablero utilizando un ISP cable del programador). Dicen que el gestor de arranque Arduino está hecho de modo que no se requieren circuitos externos para programar el ATmega8 . Pero cuando miré los esquemas, hay un circuito normal requerido para la conexión en serie. Entonces, ¿qué hace realmente el gestor de arranque?

    
pregunta Rick_2047

4 respuestas

12

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 cargador de arranque, la única forma de cargar código es usar 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), usando un programador AVR ISP (o incluso otro Arduino).

Para Arduino, el ISP se usa solo una vez (en la fabricación) - para cargar un cargador de arranque pequeño. En el encendido, el cargador 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 serie utilizando el protocolo STK500.

Como los pines en serie están (normalmente) conectados a un FTDI USB a un chip en serie, el Arduino también puede programarse por USB.

    
respondido por el Toby Jaffey
3

Puede comprar chips ATmega328 con el cargador de arranque aquí .

    
respondido por el Leon Heller
1

Probablemente quieren decir que si compras un Arduino Uno ensamblado y pre-construido, no es necesario que compres un programador. Como con muchos otros kits de arranque de electrónica. Puede programar la placa Arduino Uno con solo un cable usb (A > B).

Sin embargo, si va a construir un Arduino por su cuenta, por supuesto necesitará un circuito externo (por ejemplo, un programador de ISP AVR) o el tipo de cosas Max232 o FTDI.

    
respondido por el Superpelican
0

La idea detrás del gestor de arranque Arduino es que no necesita ningún hardware o circuito specialty para reprogramarlos, en comparación con la programación inicial del mismo, o microcontrolador más antiguo, que a menudo necesita un programador dedicado (como PicKit2 para MCU PIC). El gestor de arranque permite la programación a través de una conexión serial básica.

Por supuesto, en ese momento, necesitaba el enlace serie, normalmente un convertidor rs232 de TTL a RS232. Luego, los puertos serie se están eliminando gradualmente, usb a serie se hizo omnipresente, permitiendo que eso reemplace un max232 o similar. Y ahora, el uso del microcontrolador Atmel habilitado para USB permite que incluso eso sea innecesario, por lo que un solo ic con partes pasivas mínimas podría proporcionar las funciones Arduino y USB a Serial. Ahora solo necesitas un cable USB y algunos pasivos para cargar un boceto. La programación inicial del gestor de arranque aún requiere la programación tradicional de ICSP.

    
respondido por el Passerby

Lea otras preguntas en las etiquetas