Arduino, watchdog, bootloop optiboot és firmware loader, elektronikus cookie-k

Ahogy te is tisztában van, az Arduino (vagy inkább a mikrokontroller a fedélzeten) támogatja watchdog (watchdog), amely lehetővé teszi, hogy az idő elteltével a mikrokontroller visszaáll, akkor is, ha a program lefagy. Ebben az esetben a felügyeleti időzítő lehet tisztítani szoftver. A rendszer úgy működik, mint ez: „vzodim” időzítőt a másodpercek számát, majd a fő program folyamatosan nullára ki a számláló, ha minden megy rendesen. Amint megáll nullázza a számlálót (és ez azt jelenti, lefagy), a vezérlő automatikusan újraindul meghatározott idő elteltével. Azonban dolgozik a watchdog fenn kell tartani a betöltő kártyát. A tény az, hogy újraindítás után, amelynek oka a watchdog, vezérlők legújabb problémákat maradt a watchdog minimális időtartamát, azaz 15ms. Szükséges, hogy képes tanulni a programban, hogy a reset már a watchdog.Poetomu elsőbbségi rakodó - tárolnak információt, hogy egy újraindítás volt „váratlan”, és azonnal kikapcsolja az őr. Ha ez nem történik meg, akkor a rendszer bemegy bootloop, azaz Ez mindig túlterhelt. Mint tudod, van egy speciális Arduino bootloader, amely végre az első helyen, miután a rendszer újraindítása. És, sajnos, a standard boot loader nem állítja vissza a watchdog! Így a rendszer jön erőszakos bootloop (állami «őrült vezetett», amelyben a LED 13-m Pinna villog, mint egy őrült). A cikket, akkor megtanulják, hogyan kell ellenőrizni a bootloader ellátás támogatására watchdog és mi a teendő, ha nem támogatott.







Hogy ellenőrizze a boot betölteni a kártya alábbi vázlat:

Miután a tápegység beépített LED villog, jelezve, hogy a rakodó elkezdődött. Továbbá a setup szakaszban van kapcsolva egy watchdog timer 8 mp. 8 perc után a működés újraindítás kell bekövetkeznie. Ha újraindítása után a tábla az egész ciklus ismétlődik, akkor az alaplap támogatja watchdog:

Arduino, watchdog, bootloop optiboot és firmware loader, elektronikus cookie-k

Arduino nem tartozik bootloop

Ellenkező esetben, látni fogja a LED a 13 Pina villogni kezd lázasan. Ez csak a külső megnyilvánulása bootloop. A port monitor, akkor csak az első ciklusban. Utána az új vonal már nem jelenik meg:

Arduino, watchdog, bootloop optiboot és firmware loader, elektronikus cookie-k

Arduino alá bootloop

Ha a reset gomb nem fog változni a helyzet. „Gyógyítani” a fórumon, le kell választani a hálózatról, majd csatlakoztassa újra, és töltse ki a többi rajzot.

Miután a firmware loader optiboot akkor nem tudja letölteni a fizetési vázlatok standard környezet beállításait. Ezért azt javasoljuk, az alábbi intézkedéseket kell tenni egy példányt a fejlesztési környezet. Linux operációs rendszer elég másolni a könyvtárat, amiben fut a fejlesztési környezet egy új nevet. A Microsoft Windows, úgy tűnik, túl, csak másolja a mappát (alapértelmezés szerint C: \ Program Files (x86) \ Arduino). Továbbá, egészen a mappák és fájlok képest a gyökér a fejlesztési környezet.

Folder optiboot-master / optiboot / betöltőtől / optiboot az archívumból szeretné mozgatni a hardver / Arduino / avr / betöltőtől / optiboot







A fájl tartalmát optiboot-master / optiboot / boards.txt fájlhozzáadási hardver / Arduino / avr / boards.txt

Miután a (újra) indul a fejlesztői környezet, táblák kiírja az új testület, azzal a megjegyzéssel [optiboot].
Szükséged lesz 2 Arduino deszkát a firmware loader. Egyikük fogják használni, mint egy programozó. Elméletileg mint programozó illeszkedik bármilyen díjat. De van, hogy a munka csak Arduino Uno. Sem Nano, vagy Leonardo programozó nem akar működni. Arduino Uno Ha nem kell megvenni egy megbízható eladó ide.

Csatlakoztassa a fórumon, hogy a számítógép-programozó, és töltse ki a vázlat Arduino ISP, amely szabványos fejlesztési környezet (File-> Arduino ISP-> Arduino ISP).

Arduino, watchdog, bootloop optiboot és firmware loader, elektronikus cookie-k

Firmware vázlat Arduino ISP

Most akkor átmenetileg kikapcsolhatja a díj-programozó a számítógép. És csatlakoztassa a tábla, amelyben szeretnénk írni a boot loader. Az én esetemben, ez lesz Arduino Nano. A firmware keresztül történik egy külön csatlakozó ICSP, amely szinte minden táblák. MISO csatlakozik MISO MOSI Mosi és SCK az SCK. Ugyanakkor csatlakoztassa ICSP cél tábla szükségességét hagyományos O board-programozó. Ez elég furcsa, de a kapcsolat ICSP-ICSP nem működik. Bár vannak érintkezők fizikailag kapcsolódik egymáshoz. Kösse kell tennie itt egy ilyen rendszer:

Szoba O a board-programozó

Következtetés ISCP csatlakozó

Itt pinout ICSP csatlakozó (USB csatlakozó kártya jobbra irányul):

ICSP csatlakozó Arduino

Emellett az is szükséges, hogy a programozó meg a tábla kapacitású elektrolit kondenzátor legalább 10mkF (UF) kapcsa visszaállítása és a GND, megelőzésére a programozó automatikusan visszaállítja elején az EEPROM. Ne felejtsük el, hogy csatlakoztassa a hatalmat a cél tábla.

További LED-ek lehet állítani (ellenálláson keresztül), ahol a programozó hibajelek:

Szoba O a board-programozó

Egyenletesen változó fényerő jelző a normál működés

Hiba során firmware

Alatt villog firmware

Így van ez minden kell kinéznie a végén:

Arduino, watchdog, bootloop optiboot és firmware loader, elektronikus cookie-k

A programozó csatlakozik egy Arduino Nano

Az ábrán, az ábrán nem látható ellenállások LED, ami nem rendetlenséget a illusztráció. Ha nem tudja, mi a LED szüksége ellenállások, hogy írtam egy egész cikket: LED.

Abban az esetben, firmware Arduino Pro Mini, amely nem rendelkezik ISSP, a kapcsolat jön létre közvetlenül a terminálok:

Szoba O a board-programozó

Következtetés Arduino Mini

Miután csatlakoztatta a cél tábla, hogy a programozó, programozó kell csatlakoztatni a számítógéphez, mint programozó válasszuk a «Arduino mint ISP»:

Arduino, watchdog, bootloop optiboot és firmware loader, elektronikus cookie-k

És az ár egy beillesztési pontot cél tábla, nem a programozó. TE Az én esetemben, mint egy díj választhat Arduino Nano:

Arduino, watchdog, bootloop optiboot és firmware loader, elektronikus cookie-k

Kiválasztása a tábla villogó

Most elég azt válassza ki a „Tools” -> „írása boot loader”:

Arduino, watchdog, bootloop optiboot és firmware loader, elektronikus cookie-k

Vedd rakodó felelős

A felvétel után a betöltő is szükség van, hogy rögzítse a konfigurációt. Homlokrakodók optiboot van egy másik funkció - növelik a sebességet a soros port interakció, így amikor a táblák optiboot kell végeznie a megfelelő módosításokat boards.txt:

Az Arduino Nano:
menu.cpu.nano.atmega328.upload.speed = 115200
Mert Arduino Mini:
menu.cpu.mini.atmega328.upload.speed = 115200

Ezekkel a beállításokkal, akkor nem lesz képes betölteni vázlatok a tábla az eredeti feltöltő. Ezért van szükség egy flash kártya az összes optiboot, vagy egy másolatot a fejlesztési környezet a beállítások. Ezért az elején azt javasolta, hogy hozzon létre egy másolatot a környezetet.

Miután az összes műveletet csatlakoztassa a cél tábla a számítógéphez, és újra töltse be a képen látható vázlata a cikk elején. Mindent meg kell dolgozni.

A vaku nem indítható, és kapsz egy hiba:




Kapcsolódó cikkek