Arduino może być programatorem mikrokontrolerów AVR

Arduino może być programatorem mikrokontrolerów AVR

r_207_24_1
A przynajmniej tak może być. Nie zamierzasz pisać swojego kodu do Arduino jako celu, ale raczej używać go jako pośrednika.
Masz układ AVR, który umieściłeś w płytce breadboard i zamierzasz używać Arduino jako programatora sprzętowego, dzięki przykładowemu kodowi, który przekształca Arduino w programator Arduino In-System Programmer (ISP).
Możesz to zrobić z poziomu środowiska IDE oprogramowania Arduino lub możesz użyć niezależnie edytora i łańcucha narzędzi (toolchain) avr-gcc.
Okablowanie Arduino jako programatora flash
Pierwszym krokiem w kierunku używania Arduino jako programatora flash jest podłączenie go do płytki breadboard.
Najważniejsze sześć połączeń to zasilanie, masa, RESET/PC6, SCK/PB5, MISO/PB4 i MOSI/PB3.
Nazwy tych pinów znajdziesz na rysunku 1.
Pojedyncza czerwona dioda LED podłączona do pinu PB0 w docelowym odbiorniku AVR to dioda LED, o której mowa, jeśli przesyłasz kod migającej diody LED.
Trzy (opcjonalne, kolorowe) diody LED podłączone do Arduino to diody statusu.
Zielona będzie pulsowała, gdy Arduino ISP czeka na wejście, żółty zaświeci się, gdy przesyła kod do AVR, a czerwony zaświeci się, jeśli wystąpi błąd.
Możesz je pominąć, ale dzięki nim wszystko wygląda tak profesjonalnie, prawda?
Wartości rezystorów dla diod LED nie są zbyt krytyczne, ale wartość powyżej 200Ω jest dobrym pomysłem dla zwykłych diod LED, które zwykle mają napięcie progowe około 1,7V i są oceniane na około 20mA: (5V – 1,7V)/220Ω = 15mA.

Zapisywanie do pamięci Flash (potocznie – flashowanie) układów AVR przy użyciu Arduino jako programatora
Teraz, gdy sprzęt jest już podłączony, użyjmy go do zaprogramowania układu AVR!
Postępowanie zgodnie z tymi instrukcjami zmieni Arduino w programator Flash.
(Jeśli chcesz, aby Twoje Arduino wróciło jako Arduino, możesz po prostu przeprogramować je jak zwykle.)

1. Sprawdź, czy typ twojej płyty Arduino jest poprawnie skonfigurowany (Narzędzia → Płytka → Uno w moim przypadku).
2. Wgraj przykładowy kod „ArduinoISP” do sprzętu Arduino.
3. Tutaj można posłużyć się dowolnym, najprostszym kodem programu migania diod LED w języku C.
4. Wybierz Narzędzia → Programator → Arduino jako ISP, aby programować przez sprzęt Arduino zamiast programowania samego Arduino.
5. Wybierz Narzędzia → Płytka → Arduino Pro Mini (8MHz) w/ATmega168, ponieważ celujemy ponownie w ATmega168 pracujący z częstotliwością 8MHz. (Nikt nie będzie wiedział, że nie ma go w Arduino Pro).
6. Kliknij z wciśniętym klawiszem Shift przycisk Prześlij (Shift-Ctrl-U), aby przesłać kod do celu, czyli pamięci Flash mikrokontroelera AVR.
Jeśli jesteś zbyt przyzwyczajony do klikania przycisku Prześlij i zapomnienia o naciśnięciu klawisza Shift w tym miejscu, pojawi się błąd, taki jak avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x10.
7. Jeśli chcesz zobaczyć, co dzieje się w tle, kliknij Plik → Preferencje → Pokaż szczegółowe dane wyjściowe.
8. W przeciwnym razie usiądź wygodnie i obserwuj, jak programowany jest docelowy mikrokontroler AVR. Czy mrugają jakieś diody LED?
Autor: Shawn Wallace

Komentarze z Facebooka

Komentarze obecnie - OFF.