Instalarea unui bootloader este primul pas în a da viață proiectelor dvs. Arduino. Acesta este un software care vă ajută să încărcați frecvent schițe Arduino cu ușurință pe placă, fără a fi nevoie de echipamente speciale de programare.
Deși acest lucru poate suna ca știință rachetă, este de fapt mai simplu decât ați crede, chiar și pentru începători. Vă vom arăta cum să instalați (sau să reinstalați) cu ușurință un bootloader pe placa dvs. Arduino în doar câțiva pași simpli.
Dar mai întâi, ce este exact un bootloader pe placa Arduino?
Ce este un bootloader?
Un bootloader Arduino este un program mic care este stocat în memoria nevolatilă a plăcii, care este executat de fiecare dată când placa este pornită, încărcată cu cod nou sau este resetată. Ori de câte ori este executat programul bootloader, acesta inițializează hardware-ul plăcii și apoi încarcă schița sau programul principal care este stocat în memoria flash a plăcii.
Merită remarcat faptul că toate plăcile Arduino sunt livrate cu un bootloader preinstalat de la producătorii lor. Puteți găsi uneori plăci cu bootloadere defecte chiar din cutie. Cu toate acestea, acest lucru se întâmplă rar.
De ce să folosiți un bootloader?
Există mai multe situații în care utilizarea unui bootloader Arduino poate fi utilă. De exemplu, dacă sunteți începător în platforma Arduino, utilizarea unui bootloader poate face mai ușor și mai rapid încărcarea de noi programe pe placa dvs. Acest lucru se datorează faptului că nu trebuie să utilizați dispozitive de programare externe, cum ar fi un programator sau un convertor USB-la-serial, pentru a încărca codul.
Dacă lucrați la un proiect care necesită actualizări frecvente ale codului, îl veți găsi foarte util. În acest caz, utilizarea unui bootloader vă poate economisi timp și efort, deoarece pur și simplu puteți încărca noul cod pe placă fără a fi nevoie să utilizați dispozitive de programare externe.
În plus, dacă lucrați la un proiect care necesită Arduino să fie într-o anumită stare când este pornit, cum ar fi rularea unui anumit program, apoi utilizarea unui bootloader poate fi utilă. Bootloader-ul vă permite să setați starea inițială a plăcii, astfel încât aceasta să ruleze automat programul dorit atunci când este pornită.
În cele din urmă, oferă o modalitate de a recupera Arduino dacă schița principală devine coruptă sau nu rulează în alt mod.
De ce lipsește încărcătorul meu de boot?
Ar putea exista patru motive posibile pentru care placa dumneavoastră ar putea avea nevoie de un nou bootloader:
- Nici un bootloader preinstalat: Este destul de comun să aveți multe proiecte de sine stătătoare ATMEGA328P în care vă lipiți cipul pe un PCB și se întâmplă să prăjiți cipul. Astfel, ar putea fi posibil să înlocuiți placa cu un cip fără instalarea prealabilă a bootloader-ului.
- Bootloader înlocuit: Ați fi putut înlocui încărcătorul de pornire cu un încărcător de pornire terță parte modificat care ar putea fi corupt.
- Bootloader corupt: Acesta este scenariul cel mai puțin probabil. Cu toate acestea, în unele cazuri, memoria flash Arduino poate fi coruptă.
- Memoria extinsă: Dacă ați înlocuit (flash) întregul bootloader cu aplicația dvs. pentru a vă bucura de cei 2K rămași din memoria programului, bootloader-ul dvs. lipsește cu siguranță.
Iată ce trebuie să faci.
Instalarea/reinstalarea Arduino Bootloader
Microcontrolerele sunt de obicei programate înainte de a fi lipite pe un PCB. Acest lucru se face de obicei folosind programarea în sistem (ISP), cum ar fi programarea în serie în circuit (ICSP), care permite programarea microcontrolerului folosind un programator extern. Mulți producători de microcontrolere, cum ar fi Atmel și Microchip, oferă un antet ISP pe plăcile lor în acest scop.
Folosind o altă placă Arduino
Pentru a flash-ul bootloader-ului pe un microcontroler ATmega328, trebuie să utilizați antetul ICSP de pe placă înainte de a putea instala bootloader-ul folosind cealaltă placă ca programator ISP.
Lansați Arduino IDE, navigați la ArduinoISP după cum se arată mai jos și încărcați codul exemplu pe placa pe care intenționați să o utilizați ca programator. (Urmați tutorialul video pentru conectarea hardware-ului).
Codul ar trebui să arate așa doar ca să știi că ești pe drumul cel bun.
De la Instrumente filă, accesați Programator apoi faceți clic pe Arduino ca ISP așa cum se arată mai jos.
În cele din urmă, din Instrumente din nou, faceți clic pe Burn Bootloader așa cum se arată.
Odată ce procesul este finalizat, placa țintă este acum gata pentru a fi programată.
Utilizarea unui programator dedicat
Există multe dispozitive de programare AVR disponibile pentru acest tip de instalare. O opțiune bună pe care o puteți încerca este AVR Pocket Programmer (numai Windows) bazat pe Dick Streefland USB minuscul și Limor Fried’s USBtinyISP. Oferă o modalitate mai simplă de a programa microcontrolere AVR, precum cele găsite pe plăcile Arduino. În afară de faptul că este alimentat de o conexiune USB, este cea mai bună opțiune, deoarece este compatibil cu o varietate de limbaje de programare și software, făcându-l un instrument versatil pentru orice Utilizator Arduino.
De asemenea, puteți încerca și alte opțiuni, cum ar fi programatorul oficial Atmel-ICE pentru microcontrolere ARM, mai ales dacă nu sunteți pe Windows.
Conectați placa Arduino la programator și flash-ul bootloader-ului. Consultați acest tutorial video de mai jos.
Procesul ar trebui să fie simplu și să nu dureze mai mult de 20 de secunde.
Notă: Placa țintă ar trebui să fie pornită corespunzător înainte de a încerca această metodă. În caz contrar, nu veți putea să flash .hex fișier la ținta dvs.
Pentru utilizatorii cu putere, există o modalitate mai complexă de a instala bootloader-ul folosind linia de comandă. Nu este necesar să ajungeți în această etapă, dar vă oferă puterea de a modifica sau recompila codul pentru a obține o experiență mai personalizată.
Primul pas al procesului este configurarea biților siguranței, care fac parte din cipul AVR, și setările de control, cum ar fi utilizarea unui cristal extern. Utilizați următoarea comandă pentru a vă seta biții siguranței:
avrdude-b 19200 -cusbtiny-pm328p-v-e-Uefuze:w:0x05:m-Uhfuze:w:0xD6:m-Ulfuze:w:0xFF:m
După ce biții de siguranță au fost configurați, următorul pas este să transferați un fișier .hex compilat pe placa țintă și să setați biții de blocare. Acest lucru vă va permite să rulați programul pe placă. Asigurați-vă că vă aflați în același director cu optiboot_atmega328.hex fișier înainte de a introduce această comandă:
avrdude-b 19200 -cusbtiny-pm328p-v-e-Uflash:w:hexfilename.hex-ULacăt:w:0x0F:m
Notă: Aceste comenzi sunt pentru Arduino Uno. Va trebui să refactorizați biții de siguranță pentru placa dvs. găsite în board.txt fișier și ajustați Parametrii codului piesei AVRDUDE la fel ca ei să lucreze.
Ce vei face mai departe cu Arduino?
Bootloader-ul Arduino este ceea ce îl face atât de ușor de programat, chiar și pentru începători. Acum sperăm că puteți încărca propriile schițe personalizate pe Arduino și puteți restabili bootloader-ul pentru viitoarele proiecte Arduino DIY.