jak vypálit bootloader na mikrokontroléru ATMEGA328
Úvod
pokud si prohlížíte tento projekt, možná jste použili desku Arduino. Mikrokontrolér ATmega328 na arduinouno pravděpodobně selže po určité době (nebo nesprávném připojení). Chcete-li znovu použít ArduinoBoard, potřebujete nový ATmega328IC s bootloaderem. Existují i jiné důvody pro vypálení bootloaderu ATMEGA328 mikrokontrolér na něm, pokud jste napsali svůj vlastní Bootloader a chcete jej otestovat, nebo se chcete dozvědět více o pracovní situaci mikrokontrolérů.
varování: pokud nejste obeznámeni s tímto druhem věcí, nedoporučuje se upravovat zavaděč v Arduinu.
co je Bootloader?
jednoduše řečeno, Bootloader je malý kousek kódu (spustitelný kód v.formát hex), který se nachází v paměti mikrokontroléru. Zavaděč v Arduinu nám umožňuje naprogramovat Arduino prostřednictvím sériového portu, tj.
úkolem bootloaderu v Arduinu je přijmout kód z počítače a vložit jej do paměti mikrokontroléru.
proč potřebujeme Bootloader?
mikrokontroléry, jako je Atmel ATMEGA328 MCU, jsou tradičně programovány pomocí specializovaných programátorů, které zahrnují některá zvláštní spojení. Bootloader eliminuje tuto složitost a poskytuje nám jednoduchý způsob programování mikrokontroléru, tj.
Bootloader je umístěn na speciálním bezpečném místě Programovatelné flash paměti. Mikrokontroléry obvykle zabírají méně než 1 kB paměti.
co potřebuji vypálit Bootloader na ATMEL ATMEGA328?
jak již bylo zmíněno, pokud chcete program nahrát do zcela nového mikrokontroléru ATMEGA328 IC, musíte použít speciální programátor(a nastavit pojistkový bit). Pokud však vypálíte Bootloader na čipu ATMEGA328, stačí naprogramovat mikrokontrolér přes sériový port (kabel USB).
jakmile je mikrokontrolér ATMEGA328 připraven k zavaděči, můžete jej jednoduše použít. Pokud plánujete vytvořit vlastní desku Arduino, použijte ji jako desku Arduino (jako alternativu) nebo ji použijte jako mikrokontrolér.
jak vypálit Bootloader na ATMEGA328?
existuje několik způsobů, jak vypálit bootloader na ATMEGA328IC. První metodou je použití vyhrazeného hardwaru programátoru AVR. Druhou metodou je použití pracovní desky Arduino jako programátoru a vypálení bootloaderu na cílovém mikrokontroléru Arduino ATMEGA328.
v tomto projektu použiji druhou metodu, kterou je použití Arduina jako programátoru.
Schéma zapojení
schéma zapojení pro vypalování zavaděče na ATMEGA328 pomocí mikrokontroléru Arduino je uvedeno níže.
pinový diagram mikrokontroléru ATMEGA328 je uveden níže.
požadované komponenty
ArduinoUNO
ATMEGA328 mikrokontrolér IC
16MHz krystal
22pfx2 keramický kondenzátor
10KΩ odpor
tlačítko
330ω odpor
LED
prkénko
připojte vodiče
5V napájení
proces programování zavaděče na datasheetu ATMEGA328.
jak již bylo zmíněno, ArduinoUNO se zde používá jako programátor AVR. Abyste toho dosáhli, musíte na pracovní desku ArduinoUNO Nahrát speciální program nazvaný „ArduinoISP“.
před navázáním připojení připojte pracovní Arduino k připojení Uno k počítači pomocí kabelu USB a vyberte příslušnou desku a PORT v ArduinoIDE.
Nyní přejděte na ArduinoISP. Nahrajte tento kód do ArduinoUNO a převeďte desku ArduinoUNO na programátora AVRISP.
po dokončení tohoto kroku proveďte potřebná připojení(pokud ne). Nyní přejděte na Nástroje>programátor a vyberte možnost“ ArduinoasISP“. Poté jste připraveni vypálit bootloader.
stačí jít na „Nástroje“ a klikněte na „BurnBootloader“. Váš cílový mikrokontrolér ATMEGA328 bude naprogramován pomocí bootloaderu.
Nahrajte obrázek do balíčků ATMEGA328
po nahrání zavaděče do mikrokontroléru ATmega328 můžete pokračovat v nahrávání testovacího náčrtu. Chcete-li to provést, udržujte stejná připojení jako dříve a otevřete všechny náčrtky, například BlinkSketch.
neměňte žádné možnosti, to znamená, že programátor je stále nastaven na „ArduinoasISP“. Nyní podržte tlačítko „Shift“ na klávesnici a klikněte na ikonu „Nahrát“. Tím se načte náčrt do mikrokontroléru ATMEGA328 IC pomocí ArduinoUNO jako programátoru.
po dokončení této operace můžete odpojit arduinouno od mikrokontroléru ATMEL ATMEGA328 a použít ATMEGA328IC jako samostatné zařízení pro spuštění Blinksketch na něm.
následující obrázek ukazuje mikrokontrolér ATMEGA328 spuštěný Blinksketch po nahrání pomocí ArduinoUNO.
Poznámka: Chcete-li nahrát kód do ArduinoUNO, nezapomeňte přepnout programátor zpět na „AVRISPmkII“.
závěr
v tomto projektu jsem vám ukázal, jak vypálit Bootloader na mikrokontroléru ATMEGA328 IC. Jako další možnost jsem vám také ukázal, jak použít ArduinoUNO k nahrání náčrtu Arduino do ATMEGA328 pomocí bootloaderu.