Uitpakken van de ziel van de Arduino´s / Extrayendo el Alma de Arduino / Arduino bootloader (2 / 10 stap)

Stap 2: Un poco de teoría... Bootloader (gestor de is)


Como se mencionó anteriormente, dentro de la memoria de programa Flash del microcontrolador trevlig nl las placas Arduino viene pregrabado un pequeño programa llamado "bootloader" o "gestor de verzorgen" que resulta imprescindible para un cómodo y fácil manejo de la placa nl cuestión. Este software (también llamado "firmware", porque es un tipo de software que raramente se modifica) ocupa nl la placa Arduino UNO 512 bytes de espacio nl VN-apartado o sección especial de la memoria Flash, el llamado "bootloader block", pero nl otros modelos de placas Arduino puede ocupar más (por ejemplo nl el Arduino Leonardo ocupa 4 Kilobytes).

La función de este firmware es beheren de forma support el proceso de grabación nl 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 blok" geen sobrescribirse een sí mismo.

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

Nl la placa Arduino UNO, el bootloader siempre se ejecuta durante el primer segundo de cada reinicio. Durante estos instantes, el gestor de is se espera een recibir una serie de instrucciones concretas de parte del entorno de desarrollo para interpretarlas y así realizar la correspondiente carga de VN posible programa. Si esas instrucciones geen llegan pasado ese tiempo, el bootloader termina su ejecución e igualmente se empieza een procesar lo que haya nl ese momento nl la memoria flash.

Estas instrucciones internas de programación de memorias Flash zoon ligeramente diferentes según el tipo de bootloader que tenga la placa, pero casi todas zoon verscheidene del conjunto de instrucciones ofrecido oficialmente 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 nl VN firmware libre llamado Optiboot (http://code.google.com/p/optiboot), el cual logra una velocidad de grabación de 115 kilobits de programa een cargar por segundo gracias al uso de instrucciones vliegtuigschroef derivadas del "Standard" STK500. Otro ejemplo de bootloader derivado del protocolo STK500 es el bootloader "bedrading", grabado de fábrica nl el microcontrolador de la placa Arduino Mega. El bootloader que viene nl la placa Leonardo (llamado "Caterina") es diferente, ya que entiende otro conjunto di istruzioni 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 hay que tener en cuenta que neen dispondrá del bootloader, por lo que deberemos incorporarle uno nosotros "a mano" para hacer uso de él een partir de entonces, o bien geen utilizar nunca ningun bootloader y cargar entonces siempre nuestros programas nl la memoria flash problem. Nl ambos casos, el procedimiento requiere el uso de VN aparato especifico (nl concreto, un "programador ISP" – In systeemprogrammeur –) que debemos adquirir aparte. Este aparato de ha de verbinden por un lado een nuestro computador y por otro a la placa Arduino, y suple la está de bootloader haciendo de intermediario een nuestro entorno de desarrollo y la memoria flash del microcontrolador. Por lo tanto, podemos resumir diciendo que el gestor de is es el elemento que permite programar nuestro Arduino problem con un kabel USB y nada más.

Por conveniencia, dentro del paquete instalador del entorno de desarrollo de Arduino (descargable se su web oficial) se distribuyen además copias exactas wat een beetje de los bootloaders oficiales que vienen grabados nl los diferentes microcontroladores Arduino. Estas copias exactas zoon Library con extensión ".hex" que tienen un formato interno llamado "Intel Hex Format". Para el uso normale de nuestra placa no necesitamos para nada estos Library ".hex", pero si dispusiéramos de VN programador ISP y nl algún momento tuviéramos que "reponer" un bootloader dañado (o bien grabar VN bootloader een algún microcontrolador que neen tuviera ninguno), Arduino amendementen ofrece estos Library para cargarlos nl la memoria flash de nuestro microcontrolador siempre que queramos.

El formato Intel Hex formaat es el utilizado por todos los chips AVR para pestañas contenido nl sus memorias Flash, por lo que hay que aclarar que geen solamente los bootloaders zoon alojados internamente de esta forma nl la memoria Flash, si neen que todos nuestros propios programas que escribamos en el entorno de desarrollo también serán alojados allí nl formato ".hex".

Evidentemente, los bootloaders Arduino también zoon software libre, por lo que al igual que wordt con el entorno de programación Arduino, siempre tendremos disponible su código fuente (escrito nl leguaje C) para poder conocer cómo funciona internamente e inclusief para poderlo modificar, si así se estima oportuno.

Gerelateerde Artikelen

Seriële monitor ATtiny met behulp van de arduino walkthrough

Seriële monitor ATtiny met behulp van de arduino walkthrough

Allllllllllright dudes en dudets. Hier is whats up, we gonna attiny en arduino beste vrienden maken.Als u ooit hebt gewerkt met capacitieve switches weet u hoeveel het maakt je wilt je gezicht in een muur breken... Nu veronderstellen u hebben geen ma
Branden van Arduino Bootloader te ATMEGA328P-PU met behulp van Arduino Pro Mini

Branden van Arduino Bootloader te ATMEGA328P-PU met behulp van Arduino Pro Mini

Hier is een circuit gebouwd op sommige perf bord dat maakt het makkelijk om te branden van de Arduino bootloader naar een lege ATMEGA328P-PU-chip.Na het bouwen van het circuit uploaden van de schets van de ArduinoISP uit bestand -> voorbeelden -> 11
Gebruik van een Arduino met een N64-controller

Gebruik van een Arduino met een N64-controller

er zijn tutorials die er voor het gebruik van een NES-controller met een Arduino, maar met behulp van de meer gecompliceerde N64-controller en de analoge joystick heeft een duidelijke aantrekkingskracht. Als u een Arduino rond hebt en wil niet te kop
Het gebruik van de Arduino ISP Shield 2.0

Het gebruik van de Arduino ISP Shield 2.0

Check out mijn kickstarter-campagne voor het nieuwe model! Onze arduino omzetten in een ISP-programmeur om te verbranden bootloaders en code uploaden naar Attiny85, Attiny84, Atmega328, Atmega1624, Attiny4313...Hoe brand ik BootloaderOm te uploaden s
Eenvoudige WF32 programmeren met behulp van de Arduino IDE

Eenvoudige WF32 programmeren met behulp van de Arduino IDE

Deze handleiding krijgt u begon met basic Arduino IDE programmeren met behulp van uw chipKIT WF32 board. Voordat je kunt krijgen bij het programmeren van je board is een paar stappen nodig om de troep op opwaarts.Wat u nodig zult hebben is uw WF32 be
Boot Autopilot - op basis van de Arduino

Boot Autopilot - op basis van de Arduino

Hier is hoe te bouwen van een automatische piloot die een RC sturen kan boot naar waypoints! Het is gemakkelijk om te bouwen, gebaseerd op het populaire platform van de Arduino en zeer geschikt voor hobbyisten die sommige solderen praktijk willen! Me
ATtiny programmeur met behulp van de Arduino ISP

ATtiny programmeur met behulp van de Arduino ISP

voor relatief kleine (minder aantal pins dan ATmega328) projecten, ATtiny serie, ATtiny45 of Attiny85 zijn goede keuze qua fysieke grootte (8-DIP of 8-SOIC) en laag stroomverbruik.Er zijn vele manieren om hem te programmeren. Een van de populaire app
Geluidsopname van de Arduino (Mega)

Geluidsopname van de Arduino (Mega)

Record Audio naar uw Audino Mega SD-kaart.Het audio-bestand kan worden afgespeeld op een standaard audiotoepassing of geanalyseerd byte voor byte.Dit Instructable zal tonen u hoe audio-ingang kan herhaaldelijk worden toegevoegd aan een 512 byte buffe
Integratie van uw Arduino met Flash en Actionscript 3

Integratie van uw Arduino met Flash en Actionscript 3

dus misschien heb je geweest uiterlijk rond op verschillende websites die de code voor de Arduino te communiceren met flash downloaden, maar als u als me bent u waarschijnlijk had wat moeite proberen om ze te goed communiceren.  Goed zal dit leerprog
Maken van een arduino wifi lucht monitor

Maken van een arduino wifi lucht monitor

Een laser pm2.5 lucht monitor Base op ESP8266 arduino met wifi.ESP8266 is een wifi-chip die goedkoop is en de ontwikkeling van de arduino ingeschakeld;SDS011/SDS018/SDS021 is pm2.5 lasersensor die genoemde nauwkeurigheid en snelle reactie op het dete
DIY | Ambilight met behulp van de Arduino Nano

DIY | Ambilight met behulp van de Arduino Nano

In dit Instructable zal ik onderwijzen u hoe kunt u uw eigen (b) ambilight voor onder $40!Houd in gedachten dat de Ambilight werkt alleen op een PC met de Bambilight software.U moet de volgende onderdelen:Individueel adresseerbare RGB LED-strip - bes
Joystick gecontroleerd robotarm met behulp van een Arduino

Joystick gecontroleerd robotarm met behulp van een Arduino

Doel en beschrijving van deze handleidingDit instructable is een hand-in voor een schoolproject die we gemaakt. Het doel van dit project was een robot-arm besturingselement met thumbsticks maken. Moesten we gebruik maken van een Arduino Uno voor het
Programmeren van een Arduino van Raspberry Pi

Programmeren van een Arduino van Raspberry Pi

Informatie over het installeren van de Arduino IDE op je Raspberry Pi, zodat u kunt schrijven en uploaden van programma's op een Arduino.Items nodig:1 x Raspberry Pi1 x ArduinoPlus wat ooit kabels nodig zijn zoals USB aan de Arduino.Stap 1: Installer
RGB LED Tutorial (met behulp van een Arduino) (RGBL)

RGB LED Tutorial (met behulp van een Arduino) (RGBL)

LED's zijn geweldig. Maar er een punt waar het opvlammen eenvoudigweg niet voldoende is bij elk project komt. Voor deze gevallen een RGB (rood, groen, blauw) is LED het antwoord.Elke kleur gloed met een RGB LED zult u kunnen tot uw hartje begeert.Bij
Programmeren van uw chipkit dp32 met behulp van de Arduino IDE

Programmeren van uw chipkit dp32 met behulp van de Arduino IDE

chipKIT platen hebben meestal veel meer geheugen en rekenkracht dan vele Arduino boards Arduino boards, en dientengevolge, ze zijn zo veel beter in het manipuleren van gegevens.Aan de andere kant is de Arduino IDE gemakkelijk te gebruiken en te begri