Při potřebě nahrát do našeho zařízení nový firmware je jednodušší nahrávat přes USB pouze hex soubor mimo prostředí Arduina. Normální postup je: Otevřeme Arduino IDE, vložíme potřebné knihovny, napíšeme náš program, připojíme desku Arduina a provedeme Upload. IDE prostředí provede na pozadí kompilaci (přeložení) zdrojového kódu v "C" do hex souboru (hex je uložen ve Windows v tempu - příklad mojí cesty: C:\Users\táta\AppData\Local\Temp). AVR dude použije tento hex soubor a nahraje ho přes USB do naší desky.
Pokud zařízení například někomu děláme na klíč, není vhodné mu dávat (v některých případech) zdrojový kód včetně použitých knihoven. Běžný uživatel bude stěží někde stahovat a instalovat Arduino IDE prostředí, instalovat do něho knihovny, otevírat či upravovat zdrojový kód programu a potom ho nahrávat do zařízení.
Jednodušší způsob je:
a) programátor kódu (tvůrce programu) má nainstalováno Arduino IDE včetně knihoven a zdrojového kódu (našeho programu co vytváříme)
b) programátor kódu provede kompilaci programu a vytáhne z tempu hex soubor, který se vytvořil
c) přejmenuje hex soubor na verzi programu - například: mega_blikac_v1.2.3.hex a pošle tento soubor emailem příjemci kódu (zákazník, nebo běžný uživatel)
d) příjemce kódu otevře program "XLoader" kde pouze zvolí cestu k hex souboru, vybere com port a typ desky. Potom tlačítkem upload nahraje do zařízení poslední verzi firmware...
Výhody:
Příjemce kódu nepotřebuje při výměně firmware v zařízení zdrojový kód, knihovny ani vývojové prostředí. Samozřejmě existuje Reverzní inženýrství a můžeme kód rozebrat, ale né tak pohodlně jako když máme zdrojový kód.
Program XLoader můžeme stáhnout zde na stránkách autora, nebo v příloze pod článkem.
Mám otestováno ve Windows 8.1 - 64 bit, že program pracuje bez problémů.