104-Minden hex fájl arduino-ban egy rendszeres rendszerbetöltő (bootloader) segítségével

Lépjünk ki egy kicsit a robotunk létrehozásáról, és beszéljünk arról, hogyan fogjuk írni a firmware-t Arduino-ban.

Először is három Arduino tábla érdekel:
- Arduino Uno - a leggyakoribb lehetőség
- Arduino Nano - kompakt kivitel, amely kis szerkezetekben használható
- Arduino Pro Mini - olcsó kompakt változat beépített USB-UART átalakító nélkül (külső USB-UART átalakítóhoz használható), de kényelmes eszközcsalád használata esetén.

104-Minden hex fájl arduino-ban egy rendszeres rendszerbetöltő (bootloader) segítségével
104-Minden hex fájl arduino-ban egy rendszeres rendszerbetöltő (bootloader) segítségével
104-Minden hex fájl arduino-ban egy rendszeres rendszerbetöltő (bootloader) segítségével

A fenti táblák mindegyikében az ATmega328 mikrokontrollert használják (az ATmega168 korábbi verzióiban).

ATmega48_88_168_328.pdf - dátum ATmega48A-48PA-88A-88PA-168A-168PA-328-328P

Az Arduino-kártya kiválasztásának egyik fő oka a robotprojekt számára az volt, hogy rögzítse a készülék firmware-jét az MK-ben anélkül, hogy a programozót és minden további eszközt felhasználna. Az Arduino mikrokontrollerre csak annyit kell használni, hogy a szabványos USB kábel (amely az Arduino-val együtt van).

104-Minden hex fájl arduino-ban egy rendszeres rendszerbetöltő (bootloader) segítségével

Ez azt jelenti, hogy ha van Arduin - van bármilyen ZiChip eszköze!

A program az MK-n keresztül USB-n keresztül egy speciális boot-betöltővel (Bootloader) keresztül kerül rögzítésre, amelyet a kártya gyártásakor az MK rögzít. Általában a rakodó úgy tervezték, hogy a speciális szoftver Arduino IDE, de ha szükség van a vaku Arduino valami idegen (a Hex-file), van egy program segítségével hajtják végre.

104-Minden hex fájl arduino-ban egy rendszeres rendszerbetöltő (bootloader) segítségével

GC Uploader.zip - automatikus HEX fájlkezelő az Arduino számára

A program érdekes, mert a kiválasztott HEX-fájl automatikusan fel lesz töltve az Arduino-ra minden egyes módosítás után. Ez kényelmes, mivel a projekt fejlesztésénél minden összeállítás (hexadecimális frissítés) elindítja az Arduina firmware-jét - önnek semmit sem kell tennie magának! Ezenkívül a program rendelkezik kézi firmware móddal is.

104-Minden hex fájl arduino-ban egy rendszeres rendszerbetöltő (bootloader) segítségével

XLoader.zip - A Hex fájl írása Arduino-ban

A programnak aszkéta interface-ja van, és nagyon egyszerű a következőkkel dolgozni:
- csatlakoztassa az Arduino-t egy USB porthoz (nincs szükség külön áramforrásra)
- válassza a Hex fájlt
- válassza ki az Arduino típusát
- válassza ki azt az COM portot, amely az Arduino USB-hez való csatlakoztatásakor jött létre (az Arduino típus kiválasztásakor automatikusan beállítja a port sebességét)
- kattintson a Feltöltés gombra

Ez minden! Semmi bonyolult. A firmware-t néhány másodpercen belül az MC-re írják, és automatikusan elindul. Egy mínusz - a program nem jelenti azt, hogy a firmware már meg lett írva, de ez látható az ARDUIN RXD és TXD LED-jeinek villogásával.

Az XLoader az AVR Dude-ot használja a firmware írásához és az STK500 programozási protokollként használja. Úgy tűnik azonban, hogy az AVR Dude beállításaiban korrekcióra kerül sor, mivel az azonos beállításokkal rendelkező szabványos AVR-haver használata nem ad eredményt.

Mikrokontroller szoftverek fejlesztésekor sok firmware van, és mindig meg kell próbálnia automatizálni ezt a folyamatot a projekt összeszerelése után - ez időt és idegeket takarít meg. Ebben az esetben az automatizálás bonyolult, mivel a program nem jeleníti meg az AVR Dude parancssorát (kivéve, hogy tapasztalat alapján választható), de a folyamat egyszerűsítése lehetséges. Ez a következőképpen történik: az első firmware után nem zárjuk le a programablakot (a COM port a firmware kiadása után), és a következő projekt létrehozása után egyszerűen kattintson a "Feltöltés" gombra. Természetesen az összeszerelést ugyanabban a hex file-ban kell végrehajtani.

104-Minden hex fájl arduino-ban egy rendszeres rendszerbetöltő (bootloader) segítségével

ArduinoUploader.zip - A Hex-fájl létrehozásának programja Arduino-ban

Az előzőhöz hasonlóan a programnak egy egyszerű felülete van.
A firmware folyamata megegyezik:
- csatlakoztassa az Arduino-t egy USB porthoz (nincs szükség külön áramforrásra)
- válassza a Hex fájlt
- válassza ki az Arduino típusát
- válassza ki a COM portot
- kattintson a Feltöltés gombra

A program további felvételeket nyit meg a felvétel közben, és vizuálisan megjeleníti a műveleteket, amelyek lehetővé teszik a felvételi folyamat felügyeletét.

Amikor Arduino Nano-t próbálta felhúzni, a program megtagadta az MK-t. Ennek oka a COM port sebessége helytelen beállítása volt. Az alapértelmezett sebesség 19200, és 57600-ra van szüksége. A programban lévő port sebessége nincs kifejezetten megadva, az "AVR Dude Params" sorban írják le - változtassa meg az 19200-as értékét 57600-ra.

Automatizálási ARP feltöltő.
Az ARP Uploader, mint az XLoader, az AVR Dude-on keresztül működik, de ellentétben az XLoader-el, a parancssor látható. Ez lehetővé teszi az AVR Dude használatát közvetlenül a Make vagy Bat fájlban.

További anyagok.
Az Arduino sofőr.

Szerintem érdemes megemlékeznünk arról, hogy az utóbbiban a számítógéphez az Arduino kapcsolathoz szükséges illesztőprogramok szükségesek. Hagyok itt egy fájlt a vezetők az Arduino (köztük az idősebb vezetők Old_Arduino_Drivers.zip és illesztőprogramok az FTDI chip «FTDI USB-meghajtók» mappa

Arduino_drivers.zip - Drivers for Arduino

Elkezdett megjelenni olcsó kínai Arduiny a vezető CH340G
Driver CH340G.zip - Illesztőprogram az USB-UART átalakítóhoz

Ha úgy dönt, hogy összeszedje a díjat az Arduino (és nincs semmi bonyolult, sőt, ez egy csupasz a ATmega168 vagy atmega328), akkor meg kell bootloader bootloader, amelynek tartalmaznia kell az MC együttműködni a közepes (vagy program, hogy töltse Hex-fájlok). Természetesen szüksége lesz egy programozóra, hogy Hex fájlokat írjon egy tiszta MK-nek, és fel kell fűzni a fúziókat.

ATmegaBOOT_168_atmega328.hex - Bootloader az ATmega328-hoz
A helyes működés érdekében a biztosítékokat a következőképpen kell beállítani: Alacsony: FF Magas: DA Ext: 05

ATmegaBOOT_168_diecimila.hex - Bootloader az ATmega168-hoz
Fyuzy Low: FF Magas: DD Ext: 00

A fent leírt Ardwin rendszerei.
Arduino_Uno_Rev3-schematic.pdf - Arduino Uno Séma
ArduinoNano30Schematic.pdf - Arduino Nano Scheme
Arduino-Pro-Mini-schematic.pdf - Arduino Pro mini rendszer

A Fyuzy alapértelmezés szerint telepítve van az Arduino-ban (csak ATmega328 esetén)
Arduino Uno
Alacsony biztosíték 0xFF
Magas biztosíték 0xDE
Kiterjesztett biztosíték 0x05

Arduino Duemilanove vagy Nano w / ATmega328
Alacsony biztosíték 0xFF
Magas biztosíték 0xDA
Kiterjesztett biztosíték 0x05

Arduino BT w / ATmega328
Alacsony biztosíték 0xFF
Magas biztosíték 0xD8
Kiterjesztett biztosíték 0x05

LilyPad Arduino w / ATmega328
Alacsony biztosíték 0xFF
Magas biztosíték 0xDA
Kiterjesztett biztosíték 0x05

Arduino Pro vagy Pro Mini (5V, 16 MHz) w / ATmega328-mal
Alacsony biztosíték 0xFF
Magas biztosíték 0xDA
Kiterjesztett biztosíték 0x05

(Látogatott 63 937 -szer, 13-szor ma)

Navigáció rekordok szerint

Köszönöm, hasznos információkat. Itt vagyok itt egy maroknyi Nano és Pro Mini, sokszor 🙂
Egy kicsit a másikról, a tisztelt Szerző kérdéseire, az ünnepek alatt ettek az "Effector-12" eszköz vezérlőprogramjának módosított változata? Eszköz és az előző verzió a program azt használja rendszeresen (színes zenei mód), az itt használt és a fórum felhalmozott ötletek és észrevételek véglegesíteni a programot, ezért azt hittem, hogy ez a szilveszter jelen sör egész? 😉 Köszönöm!

Az effektorral az új év előtt nem valószínű, hogy bármit megteszünk, de a tervek véglegesítik (és úgy tűnik, hogy az új effektort arduinu-ba lehet önteni).
Van egy vágy, hogy kicsit frissítsem a szuper-garlandban rejlő hatásokat - remélem, legalább meg tudom csinálni.

Szerint effektorokként járt a fejemben a pillanatban egyetlen program odakinn előtt volt egy rövid listát, majd módosítások, például a tároló a csúszkát a módok színes zenei „teljes” és a „tükör” mód, hogy adjunk „nem tükör” (csatorna 1-6, 1-6), állíthatja be a bomlási sebességet, zajtalanul hagyhatja a hatásokat, stb. És a vas nem rossz, és olyan, mint az. Félvérzés nélkül, de ez a tett.
Mindenesetre, köszönjük a sikert és a sikereket!

Az arduino-effektor nagyszerű, várni fogok.

Mondja meg, hogy hol találja az "AVR Dude Params"