Zápisník pojídačky koláčů - Aktualizace FW v USBasp
aneb jak vylepšit koupený programátor
Před časem jsem si koupila Arduino pro mini. Je to maličká destička s procesorem, napájecími obvody, základní indikací a konektory. Na rozdíl od jiných Arduin nemá vlastní programátor a komunikační obvody s počítačem. Což osobně považuji za veliké plus, protože je deska jednak levnější a také na ní nejsou věci, které po většinu jejího technického života nebudou potřeba. O Arduinu ale dnešní povídání nebude, bude o programátoru USBasp, který jsem opatřila ze stejného zdroje.
Programátor USBasp je již docela starý programátor, ale pořád je velmi rozšířený, velmi podporovaný a velmi hezký. I zde na Žirafovinách o něm už jeden článek je, takže kdo jej neznáte, nebo jej nemáte, tak si jej můžete i postavit. USBasp jsem kupila hotový. Trochu jsem to totiž popletla a myslela jsem, že to je komunikační rozhraní právě pro výše zmiňované Arduino pro mini. Až když bylo všechno doma jsem přišla na svůj omyl, ale nakonec to nevadí, protože programátor se hodí. Umí jej totiž přímo obsluhovat i IDE Bascomu a to se hodí.
Jenže koupený programátor neměl poslední verzi firmwaru a to se nelíbilo obsluhovacím programům. Jak tomu z Bascomu, tak tomu z Arduino IDE. Sice to fungovalo a programovalo, ale nebavilo mne číst hlášky o tom, že je tam starý FW a že by to chtělo aktualizaci. Takže jsem to zkusila a po překonání několika překážek jsem na to přišla.
Nejprve bylo potřeba na koupený programátor připájet dva jumpery. On by tedy stačil asi i jen jeden, ale když už jsem byla v tom bastlení, tak jsem je tam dala oba dva. Jsou ty dva barevné jumpery z prvního obrázku. Modrý je JP3 sloužící k nastavení pomalého programování a červený je JP2 sloužící k povolení programování řídícího procesoru USBasp. V původní dokumentaci je označen jakožto „Self programming“. Výrobce je z nějakého důvodu neosazuje, asi tím ušetří pár centů. Když byl programátor připraven po HW stránce, nastal čas na vlastní aktualizaci firmwaru.
Poslední verze FW lze stáhnout ze stránek autora. Trošku paradoxem je, že pro aktualizaci programátoru je potřeba mít jiný programátor Jde použít i druhé USBasp, ale to nemám. Použila jsem svoje oblíbené Presto. Sestavu vidíte na druhém obrázku.
Pin číslo 1 je na desce USBasp označen, kdyby náhodou nebyl, věřte, že je to pin vlevo nahoře.
Po propojení obou programátorů, spojení jumperu JP2 lze spustit řídící program programujícího programátoru a vypálit nový FW. Pokud to uděláte takto jednoduše, tak se aktualizace nepodaří. Procesor AT Mega v koupené USBasp má totiž nastavené pojistky tak, že jej lze přečíst, ale nelze do něj zapisovat. Nejprve je potřeba celou Megu smazat (chip erase) a teprve potom lze provést vypálení nového FW. Jinak se to nepovede, ochrana obsahu paměti funguje opravdu dobře. Že během programování musí být USBasp odpojen od počítače snad není potřeba dodávat. Také je potřeba dát pozor na nastavení pojistek (fuses), aby nedošlo k zablokování programování přes ISP nebo nastavení špatného oscilátoru.
Vlastní nahrání nového FW trvá několik sekund a po jeho dokončení je vlastně již téměř hotovo. Stačí rozpojit propojení obou programátorů, rozpojit JP2 a USBasp připojit do počítače. Po spuštění řídícího programu, libovolného, by mělo všechno dobře fungovat a již se nebudou zobrazovat hlášky o tom, že je potřeba provést aktualizaci.
No a to je pro dnešek vlastně všechno. Nový programátor funguje dobře a to se mi líbí. Umí s ním komunikovat jak IDE Arduina, tak IDE Bascomu. A programovat Arduino pomocí Bascomu je slušná kulišárna, ale opravdu to hezky funguje. Jak to udělat, o tom si povíme někdy příště.
A co se získá touto aktualizací, když i bez ní programátor funguje? Po aktualizaci umí řídící program nastavovat rychlost komunikace mez programátorem a programovaným procesorem.
Odkazy a zdroje:
Autorem USBasp je Thomas Fischl, na jeho stránkách lze stáhnout poslední verzi FW: https://www.fischl.de/usbasp/
USBasp jsem koupila v tomto obchodě: https://arduino-shop.cz/arduino/943-arduino-programator-usb.html
Programátor USBasp je již docela starý programátor, ale pořád je velmi rozšířený, velmi podporovaný a velmi hezký. I zde na Žirafovinách o něm už jeden článek je, takže kdo jej neznáte, nebo jej nemáte, tak si jej můžete i postavit. USBasp jsem kupila hotový. Trochu jsem to totiž popletla a myslela jsem, že to je komunikační rozhraní právě pro výše zmiňované Arduino pro mini. Až když bylo všechno doma jsem přišla na svůj omyl, ale nakonec to nevadí, protože programátor se hodí. Umí jej totiž přímo obsluhovat i IDE Bascomu a to se hodí.
Jenže koupený programátor neměl poslední verzi firmwaru a to se nelíbilo obsluhovacím programům. Jak tomu z Bascomu, tak tomu z Arduino IDE. Sice to fungovalo a programovalo, ale nebavilo mne číst hlášky o tom, že je tam starý FW a že by to chtělo aktualizaci. Takže jsem to zkusila a po překonání několika překážek jsem na to přišla.
Obr. 1: upravený programátor USBasp.
Nejprve bylo potřeba na koupený programátor připájet dva jumpery. On by tedy stačil asi i jen jeden, ale když už jsem byla v tom bastlení, tak jsem je tam dala oba dva. Jsou ty dva barevné jumpery z prvního obrázku. Modrý je JP3 sloužící k nastavení pomalého programování a červený je JP2 sloužící k povolení programování řídícího procesoru USBasp. V původní dokumentaci je označen jakožto „Self programming“. Výrobce je z nějakého důvodu neosazuje, asi tím ušetří pár centů. Když byl programátor připraven po HW stránce, nastal čas na vlastní aktualizaci firmwaru.
Poslední verze FW lze stáhnout ze stránek autora. Trošku paradoxem je, že pro aktualizaci programátoru je potřeba mít jiný programátor Jde použít i druhé USBasp, ale to nemám. Použila jsem svoje oblíbené Presto. Sestavu vidíte na druhém obrázku.
Obr. 2: sestava Asix Presto a USBasp.
Propojení USBasp a Presta je následující:
Presto | USBasp |
---|---|
GND (modrý) | 8 nebo 10 |
VDD (rudý) | 2 |
VPP (žlutý) | 5 |
MOSI (bílý) | 1 |
MISO (bílý) | 9 |
CLOCK (zelený) | 7 |
LVP (zelený) | nezapojen |
Pin číslo 1 je na desce USBasp označen, kdyby náhodou nebyl, věřte, že je to pin vlevo nahoře.
Po propojení obou programátorů, spojení jumperu JP2 lze spustit řídící program programujícího programátoru a vypálit nový FW. Pokud to uděláte takto jednoduše, tak se aktualizace nepodaří. Procesor AT Mega v koupené USBasp má totiž nastavené pojistky tak, že jej lze přečíst, ale nelze do něj zapisovat. Nejprve je potřeba celou Megu smazat (chip erase) a teprve potom lze provést vypálení nového FW. Jinak se to nepovede, ochrana obsahu paměti funguje opravdu dobře. Že během programování musí být USBasp odpojen od počítače snad není potřeba dodávat. Také je potřeba dát pozor na nastavení pojistek (fuses), aby nedošlo k zablokování programování přes ISP nebo nastavení špatného oscilátoru.
Vlastní nahrání nového FW trvá několik sekund a po jeho dokončení je vlastně již téměř hotovo. Stačí rozpojit propojení obou programátorů, rozpojit JP2 a USBasp připojit do počítače. Po spuštění řídícího programu, libovolného, by mělo všechno dobře fungovat a již se nebudou zobrazovat hlášky o tom, že je potřeba provést aktualizaci.
Obr.3: Programátor připravený pro programování procesorů.
No a to je pro dnešek vlastně všechno. Nový programátor funguje dobře a to se mi líbí. Umí s ním komunikovat jak IDE Arduina, tak IDE Bascomu. A programovat Arduino pomocí Bascomu je slušná kulišárna, ale opravdu to hezky funguje. Jak to udělat, o tom si povíme někdy příště.
A co se získá touto aktualizací, když i bez ní programátor funguje? Po aktualizaci umí řídící program nastavovat rychlost komunikace mez programátorem a programovaným procesorem.
Odkazy a zdroje:
Autorem USBasp je Thomas Fischl, na jeho stránkách lze stáhnout poslední verzi FW: https://www.fischl.de/usbasp/
USBasp jsem koupila v tomto obchodě: https://arduino-shop.cz/arduino/943-arduino-programator-usb.html
Hodnocení: 9,00 (4 hlasy) - Ohodnotit -
Komentář je vlastnictvím svého autora. Vyjadřuje jeho názory, ne názory redakce nebo provozovatele webu či serveru.
Napsal/a | Vlákno |
---|