Extraction de l’âme Arduino´s / Extrayendo el Alma de Arduino / bootloader Arduino (2 / 10 étapes)

Étape 2: Un poco de teoría... Bootloader (gestor de arranque)

Como se mencionó anteriormente, dentro de la memoria de programa del Flash microcontrolador incluido en las placas Arduino viene pregrabado ONU pequeño programa llamado « bootloader » o « gestor de arranque » que resulta imprescindible para ONU cómodo y fácil manejo de la placa en cuestión. Este software (también llamado "firmware", porque es Nations Unies tipo de logiciel que raramente se modifica) ocupa fr la placa Arduino UNO, 512 octets de espacio fr ONU apartado o sección especial de la memoria Flash, el llamado « bootloader bloquer », pero en otros modelos de placas Arduino puede ocupar más (por ejemplo en el Arduino Leonardo ocupa 4 kilo-octets).

La función de este firmware es gestionar de forma automática el proceso de grabación fr la memoria flash del programa que queremos que el microcontrolador ejecute. Lógicamente, para el bootloader realizara esta grabación más allá del « bootloader bloquer » aucune sobrescribirse un sí mismo.

Más concretamente, el bootloader se encarga de recibir nuestro programa de parte del entorno de desarrollo Arduino (normalmente mediante una transmisión realizada a través de conexión USB desde la computadora donde se está ejecutando dicho entorno hasta la placa) para proceder seguidamente un su correcto almacenamiento fr la memoria flash del microcontrolador. Una vez realizado el proceso de grabación, el bootloader termina su ejecución y el microcontrolador dispone une procesar de inmediato y de forma permanente (mientras este encendido) las instrucciones recientemente grabadas.

Fr la placa Arduino UNO, el bootloader siempre se ejecuta durante el primer segundo de cada reinicio. Durante estos instantes, el gestor de arranque se espera un recibir una serie de instrucciones concretas de parte del entorno de desarrollo para interpretarlas y así realizar la correspondiente carga de ONU posible programa. Instrucciones d’esas si aucun llegan pasado ese tiempo, el bootloader termina su ejecución e igualmente se empieza une procesar lo que haya en ese momento en la memoria flash.

Estas instrucciones internas de programación de memorias Flash fils geográficas diferentes según el tipo de bootloader que tenga la placa, pero casi todas fils variantes del conjunto de instrucciones ofrecido formalmente por Atmel para la programación de sus microcontroladores, el llamado protocolo STK500 (http://www.atmel.com/tools/STK500.aspx). Un ejemplo es el bootloader que tiene pregrabado el ATMEGA238P del Arduino UNO, basado en un firmware libre llamado Optiboot (http://code.google.com/p/optiboot), el cual logra una velocidad de grabación de 115 kilobits programa a cargar por segundo gracias al uso de instrucciones propias derivadas del « estándar » STK500. Otro ejemplo de bootloader derivado del protocolo STK500 es el bootloader « câblage », gravure de fábrica en el microcontrolador de la placa Arduino Mega. El bootloader que viene fr la placa Leonardo (llamado « Caterina ») es diferente, ya que entiende otro conjunto de instrucciones independiente llamado AVR109 (también oficial de Atmel). Toda esta información se puede obtener consultando el contenido del fichero llamado « boards.txt », descargado junto con el entorno de desarrollo Arduino.

Si adquirimos un microcontrolador ATMEGA328P ne hay que tener en cuenta Québec aucune dispondrá del bootloader, por lo que deberemos incorporarle uno nosotros « a mano » para hacer uso de él a partir de entonces, o bien aucun utilizar nunca ningún bootloader y cargar entonces siempre nuestros programas en la memoria flash directamente. Fr ambos casos, el procedimiento requiere el uso de ONU aparato específico (fr concreto, ONU "programador ISP" – dans le système programmeur –) que debemos adquirir aparte. De este aparato ha de conectar por un lado a otro de por nuestro computador y a la placa Arduino, y qui la ausencia de bootloader haciendo de intermediario a nuestro entorno de desarrollo y la memoria flash del microcontrolador. Por lo tanto, podemos résumer diciendo que el gestor de arranque es el elemento que permite programar nuestro Arduino directamente con cable USB y nada más de l’ONU.

Por conveniencia, dentro entorno del paquete Arduino (descargable se su web oficial) instalador del de desarrollo du Portugal además se distribuyen exactas de le copias peu un peu de los bootloaders oficiales que vienen grabados fr los diferentes microcontroladores Arduino. Estas copias exactas fils ficheros con extensión « .hex » que tienen un formato interno llamado « Format hexadécimal Intel ». Para el uso normal de nuestra placa non necesitamos para nada estos ficheros « .hex », pero si dispusiéramos de ONU programador ISP y en algún momento tuviéramos que « reponer » un bootloader dañado (o bien grabar ONU bootloader un algún microcontrolador que aucune ninguno tuviera), Arduino amendements ofrece estos ficheros para cargarlos en la memoria flash de nuestro microcontrolador siempre que queramos.

El formato Intel Format Hex es el utilizado por todos los puces AVR para almacenar contenido en sus memorias Flash, por lo que ne hay Qué aclarar que aucun solamente los bootloaders fils alojados internamente de esta forma en la memoria Flash, si aucun que todos nuestros propios programas que escribamos en el entorno de desarrollo también serán alojados allí en formato « .hex ».

Evidentemente, los bootloaders Arduino también fils logiciel libre, por lo que al igual que ocurre con el entorno de programación Arduino, siempre tendremos available in su código fuente (escrito en leguaje C) para poder conocer cómo funciona internamente e incluso para poderlo Québec, si así se estima oportuno.

Articles Liés

ARDUINO MPPT SOLAR CHARGE CONTROLLER (Version-3.0)

ARDUINO MPPT SOLAR CHARGE CONTROLLER (Version-3.0)

Bienvenue à mes tutoriels de contrôleur de charge solaire série. J'ai posté deux version de mon régulateur de charge PWM. Si vous êtes nouveau à ce vous pouvez consulter mon tutoriel précédent pour comprendre les fondements du régulateur de charge.C'
Arduino Code Morse bouclier

Arduino Code Morse bouclier

code Morse a été la percée qui a rendu possible sur de longues distancescommunication à l'ère du télégraphe. Le code représentecaractères alphanumériques par intervalles courts et longs du signal--cesles familiers points et tirets. Pendant de nombreu
Récupération d’un NOKIA 3310 LCD et l’utiliser avec Arduino

Récupération d’un NOKIA 3310 LCD et l’utiliser avec Arduino

Cette instructable raconte comment extraire l'écran LCD de défaut pratique Nokia 3310 et à le modifier pour une utilisation avec Arduino.J'ai eu un défaut de vieux Nokia 3310 maniable. Il n'était pas charger la batterie. J'ai voulu jeter, mais il m'e
Arduino Etch-A-Sketch horloge

Arduino Etch-A-Sketch horloge

que j'ai vu différents Arduino conduit Etch-A-Sketch horloges sur le web, mais aucun avec des instructions (est-ce une sorte de secret ? Quelqu'un envisage sur rend riche sur le marché mondial de l'horloge Etch-A-Sketch?). J'ai utilisé Arduino, mais
Axée sur l’Arduino Blue Box (téléphone Phreaking)

Axée sur l’Arduino Blue Box (téléphone Phreaking)

Histoire et histoireDans les années 1950, des années 1960, années 1970, des années 1980 et même vers le haut dans les années 1990 téléphone phreaking était une façon étonnamment frais d'explorer un monde inconnu de commutation de réseaux de téléphone
Arduino Yun. Créer votre première lampe raccordée.

Arduino Yun. Créer votre première lampe raccordée.

Créer votre première lampe raccordée à l'aide d'Arduino Yun. Contrôler et surveiller une lampe raccordée depuis un téléphone mobile, la tablette et le Bureau à l'aide de Lelylan & MQTT. Il faut 15 minutes | 80 $ en matériel | niveau de baseÉtape 1: m
MPAX : Système massivement parallèle Extraction Air alias fan de bricolage maison entière

MPAX : Système massivement parallèle Extraction Air alias fan de bricolage maison entière

Maison trop chaud en été ? Pas assez brise lorsque vous ouvrez les fenêtres la nuit ? Le fan de toute la maison est pour vous.Étape 1: Ce que vous aurez besoinCertains ventilateurs de PC 12V (j'ai utilisé 20).Un PGSV 12V avec une capacité actuelle su
Passer un moteur utilisant Arduino et communication série

Passer un moteur utilisant Arduino et communication série

avez-vous déjà demandé comment les robots se déplacent ?  Avez-vous jamais voulu écrire un programme pour contrôler un robot ?  Dans l'affirmative, ce tutoriel sera un excellent pied-à-terre pour apprendre les commandes électroniques avec l'Arduino M
DIY Arduino flasque arrière [pour seulement 8 $!] (L298N 2x4A)

DIY Arduino flasque arrière [pour seulement 8 $!] (L298N 2x4A)

Aujourd'hui, je vais vous montrer comment faire un Arduino flasque arrière (pilote) à faible coût. Il fonctionne magnifiquement, ses possèdent presque toutes les caractéristiques de l'original Arduino flasque arrière. Il est presque considéré comme u
Arduino ADK LED éclairage

Arduino ADK LED éclairage

vous avez jamais voulu contrôler électronique avec votre smartphone ?  L'Arduino ADK (Android Development Kit) est l'Arduino Mega avec un bâti en USB hôte périphérique, prêt pour votre smartphone d'être branché !  Nous allons faire un projet Introduc
Geste contrôlé Pac Man w / Arduino & Grove geste Module

Geste contrôlé Pac Man w / Arduino & Grove geste Module

Pac-man Pac-man Pac-man ! Hahaa ! Si quelqu'un d'entre vous sait de quoi je parle, alors vous devez être assez vieux pour connaître une telle vieux-mode arcade jeu, tout comme moi XD (aucune infraction). En fait, j'ai commencé à jouer les jeux japona
Algorithme de multimètre numérique shield pour Arduino

Algorithme de multimètre numérique shield pour Arduino

Cette instructable décrit un bouclier, qui convertit la carte « Arduino » dans un multimètre numérique (DMM).Le bouclier peut être inséré sur « Arduino » UNO und Duemilanove planches. Il peut fonctionner en trois modes :autonome - la mesure de donnée
The Word Clock - Arduino version

The Word Clock - Arduino version

**************************************************************************Mises à jour majeures - une enceinte beaucoup mieux pour cette horloge a été conçue - Découvrez**************************************************************************Le mois
Graveur Laser Arduino

Graveur Laser Arduino

j'ai commencé ce projet parce que je voulais faire quelque chose qui était mécanique, électrique et des composants logiciels. Après avoir regardé autour sur Instructables, j'ai pensé que le graveur laser Arduino basée serait une machine intéressante