Utvinna Arduino´s själen / Extrayendo el Alma de Arduino / Arduino bootloader (2 / 10 steg)

Steg 2: Un poco de pojkflicka... Bootloader (gestor de arranque)



Como se mencionó anteriormente, dentro de la memoria de programa Flash del microcontrolador incluido sv las placas Arduino viene pregrabado un pequeño programa llamado "bootloader" o "gestor de arranque" que provstycken imprescindible para un cómodo y fácil manejo de la placa sv cuestión. Este programvara (también llamado "firmware", porque es un tipo de programvara que raramente se ändringar) ocupa en la placa Arduino UNO, 512 byte de espacio sv FN apartado o sección especial de la memoria Flash, el llamado "bootloader block", pero sv otros modelos de placas Arduino puede ocupar más (por ejemplo sv el Arduino Leonardo ocupa 4 kilobyte).

La función de este firmware es gestionar de forma automática el proceso de grabación en la memoria flash del programa que queremos que el microcontrolador ejecute. Lógicamente, el bootloader realizara esta grabación más allá del "bootloader block" para ingen sobrescribirse en 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 en través de conexión USB desde la computadora donde se está ejecutando dicho entorno hasta la placa) para proceder seguidamente en su correcto almacenamiento en la memoria flash del microcontrolador. UNA vez realizado el proceso de grabación, el bootloader domstolstvist su ejecución y el microcontrolador dispone en procesar de omedelbar y de forma permanente (mientras este encendido) las instrucciones recientemente grabadas.

En 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 en recibir una serie de instrucciones concretas de parte del entorno de desarrollo para interpretarlas y así realizar la correspondiente carga de un posible programa. SI elektriska/elektroniska underenheter instrucciones ingen llegan pasado ese tiempo, el bootloader domstolstvist su ejecución e igualmente se empieza en procesar lo que haya sv ese momento sv la memoria flash.

Estas instrucciones internas de programación de memorias Flash son ligeramente diferentes según el tipo de bootloader que tenga la placa, pero casi todas son variantes 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). FN: S ejemplo es el bootloader que tiene pregrabado el ATMEGA238P del Arduino UNO, basado en FN: s firmware libre llamado Optiboot (http://code.google.com/p/optiboot), el cual logra una velocidad de grabación de 115 kbit de programa en 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 "ledningar", grabado de fábrica en el microcontrolador de la placa Arduino Mega. El bootloader que viene sv 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 hay que tener en cuenta que ingen dispondrá del bootloader, por lo que deberemos incorporarle uno nosotros "a mano" para hacer uso de él en partir de entonces, o bien ingen utilizar nunca ningún bootloader y cargar entonces siempre nuestros programas en la memoria flash utgående. Sv ambos casos, el procedimiento requiere el uso de un aparato especifico (sv concreto, FN: s "programador ISP" – i System programmerare –) que debemos adquirir aparte. Este aparato de ha de conectar por un lado en nuestro computador y por otro a la placa Arduino, y suple la ausencia de bootloader haciendo de intermediario en nuestro entorno de desarrollo y la memoria flash del microcontrolador. Por lo tanto, podemos resumir diciendo que el gestor de arranque es el elemento que permite programar nuestro Arduino utgående 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 lite lite de los bootloaders oficiales que vienen grabados en los diferentes microcontroladores Arduino. Estas copias exactas son ficheros con extensión "hex" que tienen un formato interno llamado "Intel Hex Format". Para el uso normala de nuestra placa inga necesitamos para nada estos ficheros "hex", pero si dispusiéramos de un programador ISP y sv algún momento tuviéramos que "reponer" FN bootloader dañado (o bien grabar FN bootloader en algún microcontrolador que ingen tuviera ninguno), Arduino nos ofrece estos ficheros para cargarlos en la memoria flash de nuestro microcontrolador siempre que queramos.

El formato Intel Hex-Format es el utilizado por todos los chips AVR para almacenar contenido sv sus memorias Flash, por lo que hay que aclarar que inget solamente los bootloaders son alojados internamente de esta forma en la memoria Flash, si ingen 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 son software libre, por lo que al igual que ocurre con el entorno de programación Arduino, siempre tendremos disponible su código fuente (escrito sv leguaje C) para poder Sven cómo funciona internamente e incluso para poderlo modificar, si así se uppskatt oportuno.

Se Steg
Relaterade Ämnen

Starta upp Bot Arduino Bootload sköld

The Boot Bot Shield kan du bränna den arduino boootloader på en tom Atmega 328 chip. Bootloader är det magiska program som förvandlar en vardagliga chip till öppen källkod programmerbara mirakel kallas arduino. Tomma chips kosta några kronor mindre p...

Hur man bränner Arduino Bootloader med Magnolia styrelsen (kostnad och storlek av Pack av tuggummi KickStarter)

Annika O'Brien skapade kicken projektet här: https://www.kickstarter.com/projects/annikaskywalker/microprocessor-about-the-cost-and-size-of-a-pack-oMagnolia är en rolig liten ombord, mycket lik en Arduino. I själva är verket kompatibel med Arduino ID...

Spara 81 sekunder: snabb Arduino Bootload/Program för produktion

Kräver: AVRISP mkII och en Linux dator (eller virtuell dator)Detta Instructable visar hur till automatisera och fart upp installationen av en bootloader och demo program på en Arduino-kompatibel enhet.Arduino bootloader och IDE gör det otroligt enkel...

Programmera Arduino Bootloader utan programmerare

OH NO! Du har knullat upp och nu Arduino bootloader på din "duino är borta! Vad du ska göra? Gå spendera pengar för en programmerare??? Väl inte! Har jag en lösning som endast kräver din ' duino och några kablar! Så det är inte slutet av världen, det...

Bränna Arduino Bootloader till ATMEGA328P-PU med Arduino Pro Mini

Här är en krets som byggde på några perf ombord som gör det enkelt att bränna Arduino bootloader till en tom ATMEGA328P-PU-chip.Exempel-efter byggnad krets uppladdningen ArduinoISP skissen från fil -> > 11. ArduinoISP -> ArduinoISP till Arduino P...

Bränna Arduino Bootloader med Arduino MEGA!

Baserat på den officiella ArduinoISP Tutorial:http://Arduino.cc/en/tutorial/ArduinoISPDetta förfarande kan med en arbetande arduino för att programmera bootloader av en annan ATMega chip med SPI som ICSP. Det sparar du att köpa en annan kringutrustni...

SMD Arduino Bootloader for ATmega

bränna bootloader och ladda upp skiss till en helt ny ATmega 328, 168 och mega 8 för att göra ditt eget arduinoSteg 1:Hej varje en här är min 1: a oförstörbar projekt som jag har laddat upp så det får hvee lite problem på den, vänligen acceptera mig...

Bränna Arduino Bootloader på Atmega-328 TQFP och dopp chips på skärbräda

Delar som behövs (hårdvara)Arduino Uno ombord (1)TQFP 32 till dopp 28 Adapter (1) länkATmega TQFP 32 stift chip (1)ATmega dopp 28 pin chip (1)10K resistor (1)16MHz kristall (1)18pf - 22pf kondensator (2)TACT Switch (1)Hoppare ledningar (få)LAMPAN (1)...

Palm Arduino Kit

uppdatering: Läs om första resan av Palm Arduino Kit, här!Jag reser många gånger per år, någon gång åkte jag med familjen, tog släktingar, vänner, till platser i USA, i dagar, kanske veckor, även för en månad, när jag reser ombord för att besöka min...

Obegränsad Arduino kloner: Otherduino

Hej, detta är Owen från andra Machine Co. och jag ska visa dig hur man gör ditt eget Arduino kloner på Othermill! Arduino är en prototyping plattform som har en stor användarbas och massor av övningar och koden tillgänglig, vilket gör att alla som ha...

En avancerad metod för Arduino & AVR programmering

Detta instructable är ett måste läsa för alla som är bekanta med core AVR chips och Arduino.Tja, mer konkret, när jag läste den instructable kommer du att kunna:1) vet väl skillnaden mellan AVR och Arduino.2) programmering Arduino med WinAVR & använd...

Google spelar musik Internet Radio (Raspberry Pi och Arduino)

jag letade efter ett projekt att göra med min Raspberry Pi och hittade detta Instructable och tänkte jag skulle ha en gå på något liknande som arbetat med Google spela musik. Jag hade en ungefärlig uppfattning om vad jag ville ha det sista objektet t...

Arduino 3.3V

Denna lata gamla Geek (S.T.O.C.K.:S) älskar Arduinos. Jag har märkt att många av sensorer, som GPS, LCD-skärmar, Magnetometrar är 3.3Vdc sensorer. Men standard Arduinos, Uno, RBBB 5Vdc moduler.Så jag bestämde mig för ska jag göra mer av min Arduino p...

Palm Arduino II

jag har en "genom Looking Glasses" idén att göra en annan version av Palm Arduino.Eftersom denna design härrör från Palm Arduino, kommer jag kallade det Palm Arduino II.Denna Palm Arduino, andra, kommer att vara kombinationen av Palm Arduino och...

USB-Freeform Arduino

detta är ett projekt i ett försök att förbättra det föregångare "Freeform Arduino" genom att sätta den i en låda och med det de syften liknande som "Palm Arduino Kit" och "Palm Arduino II" som jag kan bära den i fickan och va...

Arduino binära väckarklocka

detta Instructable visar dig hur man bygger en binär väckarklocka, med en touch sensor snooze knappen. Detta är min första instructable och mitt första riktiga arduino projekt, jag hoppas du gillar det!Jag köpte en arduino ett tag tillbaka och jag ty...

Arduino Mini CNC Plotter-maskin från dvd-enheter

I detta projekt kommer jag visa dig hur man enkelt bygga din egen billiga Arduino Mini CNC Plotter!Detta projekt är en uppdatering från min tidigare cnc, med bättre konstruktion och med mer precision.Jag bestämde mig att göra detta detaljerad guide a...

DIY Arduino eller "Den DIY-Duino"

här hela guiden finns också på min hemsida påhttp://www.theparsley.com/Arduino/DIY/För att citera Arduino webbplats:"Arduino är en öppen källkod elektronik prototyping plattform baserad på flexibel, lätt att använda maskinvara och programvara. Den är...

Arduino kompatibel badkar controller

Kan börja med en varning: detta projekt styr vatten. El och vatten verkligen blanda inte och det finns en verklig risk för elchock och eller död om du inte är försiktig. Bygga detta projekt på egen risk och jag kommer inte att hållas ansvarig för all...