A rendszerbetöltő telepítése az első lépés az Arduino projektek életre keltéséhez. Ez egy olyan szoftver, amely segít az Arduino vázlatok gyakori feltöltésében, anélkül, hogy speciális programozó berendezésekre lenne szükség.
Bár ez rakétatudománynak hangzik, valójában egyszerűbb, mint gondolnád – még a kezdők számára is. Megmutatjuk, hogyan telepíthet könnyen (vagy újratelepíthet) egy rendszerbetöltőt az Arduino kártyájára néhány egyszerű lépésben.
De először is, mi is pontosan a rendszerbetöltő az Arduino táblán?
Mi az a Bootloader?
Az Arduino bootloader egy kis program, amely az alaplap nem felejtő memóriájában van tárolva, és minden alkalommal lefut, amikor az alaplapot bekapcsolják, új kóddal töltik fel vagy visszaállítják. Amikor a rendszerbetöltő program végrehajtódik, inicializálja a kártya hardverét, majd betölti a kártya flash memóriájában tárolt fő vázlatot vagy programot.
Érdemes megjegyezni, hogy az összes Arduino táblát a gyártók előre telepített rendszerbetöltővel szállítják. Előfordulhat, hogy a dobozból kivett hibás rendszerbetöltővel rendelkező táblákat találhat. Ez azonban ritkán fordul elő.
Miért érdemes Bootloadert használni?
Számos olyan helyzet létezik, amikor az Arduino rendszerbetöltő használata hasznos lehet. Például, ha Ön kezdő az Arduino platformon, a rendszerbetöltő használatával könnyebben és gyorsabban tölthet fel új programokat a táblára. Ennek az az oka, hogy a kód feltöltéséhez nincs szükség külső programozó eszközökre, például programozóra vagy USB-soros átalakítóra.
Ha olyan projekten dolgozik, amely a kód gyakori frissítését igényli, nagyon hasznosnak találja. Ebben az esetben a rendszerbetöltő használatával időt és erőfeszítést takaríthat meg, mivel egyszerűen feltöltheti az új kódot a táblára anélkül, hogy külső programozó eszközöket kellene használnia.
Ezenkívül, ha a projekt, amelyhez Arduino szükséges hogy egy adott állapotban legyen, amikor be van kapcsolva, például fut egy adott program, akkor hasznos lehet a rendszerbetöltő használata. A rendszerbetöltő lehetővé teszi az alaplap kezdeti állapotának beállítását, hogy bekapcsoláskor automatikusan lefusson a kívánt program.
Végül pedig módot ad az Arduino helyreállítására, ha a fő vázlat megsérül, vagy más módon nem fut.
Miért hiányzik a rendszerbetöltőm?
Négy lehetséges oka lehet annak, hogy a fórumon új rendszerbetöltőre van szüksége:
- Nincs előre telepített rendszerbetöltő: Elég gyakori, hogy sok ATMEGA328P önálló projekt van, ahol a chipet egy PCB-re forrasztja, és véletlenül megsüti a chipet. Így lehetséges, hogy a kártyát chipre cserélte a rendszerbetöltő előzetes telepítése nélkül.
- Csere bootloader: Cserélhette volna a rendszerbetöltőt egy módosított, harmadik féltől származó rendszerbetöltővel, amely megsérülhet.
- Sérült rendszerbetöltő: Ez a legkevésbé valószínű forgatókönyv. Bizonyos esetekben azonban az Arduino flash memória megsérülhet.
- Bővített memória: Ha a teljes rendszertöltőt lecserélte (flash) az alkalmazásra, hogy élvezze a fennmaradó 2K programmemóriát, akkor a rendszerbetöltő biztosan hiányzik.
Íme, mit kell tenned.
Az Arduino Bootloader telepítése/újratelepítése
A mikrokontrollereket általában a NYÁK-ra forrasztás előtt programozzák. Ez általában a rendszeren belüli programozás (ISP) segítségével történik, például az In-Circuit Serial Programming (ICSP) segítségével, amely lehetővé teszi a mikrokontroller külső programozó használatával történő programozását. Számos mikrokontrollergyártó, például az Atmel és a Microchip, ISP-fejlécet biztosít az alaplapján erre a célra.
Egy másik Arduino tábla használata
Az ATmega328 mikrokontrolleren a rendszerbetöltő flash futtatásához használnia kell az ICSP fejlécet az alaplapon, mielőtt a rendszerbetöltőt a másik kártya segítségével ISP programozóként telepíthetné.
Indítsa el az Arduino IDE-t, navigáljon ide ArduinoISP az alábbiak szerint, és töltse fel a példakódot arra a táblára, amelyet programozóként kíván használni. (Kövesse az oktatóvideót a hardver csatlakoztatásához).
A kódnak így kell kinéznie, hogy tudd, jó úton haladsz.
Tól Eszközök lapon lépjen ide Programozó majd kattintson rá Arduino, mint internetszolgáltató az alábbiak szerint.
Végül a Eszközök lapon újra, kattintson rá Burn Bootloader az ábrán látható módon.
A folyamat befejezése után a céltábla készen áll a programozásra.
Dedikált programozó használata
Számos AVR programozó eszköz áll rendelkezésre ilyen telepítéshez. Egy jó lehetőség, amelyet kipróbálhat, az AVR Pocket Programmer (csak Windows), amely Dick Streefland programján alapul. USBtiny és Limor Fried USBtinyISP. Egyszerűbb módot kínál az AVR mikrokontrollerek programozására, mint amilyenek az Arduino kártyákon találhatók. Eltekintve attól, hogy USB-kapcsolattal működik, ez a legjobb megoldás, mert az kompatibilis számos programozási nyelvvel és szoftverrel, így sokoldalú eszköz minden számára Arduino felhasználó.
Kipróbálhat más lehetőségeket is, például a hivatalos Atmel-ICE programozót ARM mikrokontrollerekhez – különösen, ha nem Windows rendszert használ.
Csatlakoztassa az Arduino kártyát a programozóhoz, és villogtassa a rendszerbetöltőt. Tekintse meg ezt az alábbi oktatóvideót.
A folyamatnak egyszerűnek kell lennie, és nem tarthat tovább 20 másodpercnél.
Jegyzet: A céltáblát megfelelően be kell kapcsolni, mielőtt megpróbálná ezt a módszert. Ellenkező esetben nem fogja tudni villogni a .hex fájlt a célponthoz.
Kiemelkedő felhasználók számára bonyolultabb módja a rendszerbetöltő telepítésének a parancssor használatával. Nem szükséges eljutni ehhez a szakaszhoz, de lehetőséget ad a kód módosítására vagy újrafordítására, hogy személyre szabottabb élményt kapjon.
A folyamat első lépése az AVR chip részét képező biztosítékbitek és a vezérlési beállítások, például egy külső kristály használata. A biztosítékbitek beállításához használja a következő parancsot:
avrdude-b 19200 -cusbtiny-om328p-v-e-Uefuse:w:0x05:m-Uhfuse:w:0xD6:m-Ul biztosíték:w:0xFF:m
A biztosítékbitek konfigurálása után a következő lépés egy lefordított .hex fájl átvitele a célkártyára, és a zárbitek beállítása. Ez lehetővé teszi a program futtatását a táblán. Győződjön meg arról, hogy ugyanabban a könyvtárban van, mint a optiboot_atmega328.hex fájlt a parancs beírása előtt:
avrdude-b 19200 -cusbtiny-om328p-v-e-Uvaku:w:hexfilename.hex-Uzár:w:0x0F:m
Jegyzet: Ezek a parancsok az Arduino Uno-ra vonatkoznak. Újra kell alakítania a kártyán található biztosíték biteket board.txt fájlt és csípje meg a Az AVRDUDE cikkszám paraméterei valamint hogy dolgozzanak.
Mit fogsz csinálni az Arduino-val ezután?
Az Arduino bootloader az, ami nagyon egyszerűvé teszi a programozást, még a kezdők számára is. Remélhetőleg feltöltheti saját egyéni vázlatait az Arduino-ra, és visszaállíthatja a rendszerbetöltőt a jövőbeni Arduino DIY projektekhez.