Jak należy przełączyć się z używania Arduino jako programisty na programator zewnętrzny?

12

Część druga z trzyczęściowej serii na temat przejścia z Arduino do zwykłego mikrokontrolera AVR i minimalnych elementów wspierających ( część pierwsza , część trzecia )

Widziałem wiele osób pytających o to w Internecie, więc oto:

Wiem już, jak programować i używać boso ATmega328 z Arduino jako programistą . Chcę teraz zacząć używać zewnętrznego programatora z Arduino IDE.

Jak powinienem przejść do tego przejścia? Czego powinienem się nauczyć? (Byłoby miło, gdyby jako część odpowiedzi podano mini-samouczek dla niektórych porcji)

Manishearth
źródło
2
+1, doskonały kandydat na pytanie referencyjne, czekam na dobrze ustrukturyzowane i szczegółowe odpowiedzi, które są łatwe do naśladowania dla początkujących, a nie odpowiedzi „wytrawiaj planszę”.
Anindo Ghosh
Jestem zdezorientowany. Chcesz kroki, aby przejść z jednej metodologii do drugiej. Czego oczekujesz jako odpowiedzi? Samouczki dotyczące bezpośredniego korzystania z zewnętrznego programatora są dobre, samouczki.
asheeshr
@AshRj: Przejście i rozpoczęcie od nowa to dwie różne rzeczy. Jeśli ktoś wie, jak korzystać z Arduino, powinien wiedzieć, jakie będą różnice w różnych kodach (i podstawy korzystania z programatora).
Manishearth 11.04.13
@Manishearth Co rozumiesz przez „bez bootloadera”?
Polar
@Polar: Zasadniczo, nie chcę, aby bootloader Arduino był tam, aby mi pomóc (co dzieje się, jeśli używasz Arduino jako programisty), chcę tylko nagą ATmega, na której cały kod jest moim kodem.
Manishearth,

Odpowiedzi:

6

Uwaga: Ten mini-poradnik opiera się na oficjalnych informacji tutaj na stronie Arduino. Obejmuje to również korzystanie z oficjalnego IDE Arduino.

Uwaga 2: Linki do produktów mogą być linkami Farnell (ponieważ zawierają arkusze danych) lub rzeczywistymi stronami produktu na stronie internetowej producenta.


Krok 1: Uzyskaj zewnętrznego programistę

Pierwszą rzeczą do zapamiętania jest to, że potrzebujesz zewnętrznego programatora, aby uniknąć bootloadera i odzyskać 1K lub 2K pamięci, którą zajmuje (12,5% całkowitej pamięci). Możesz użyć AVR-ISP , STK-500 lub programatora z portem równoległym - oficjalna strona Arduino zawiera instrukcje na ten temat tutaj . Zauważ, że nie możesz komunikować się z płytą za pomocą programatora równoległego - radzimy użyć do tego kabla szeregowego. Główną zaletą korzystania z programatora równoległego jest to, że są one znacznie tańsze niż inne, jeśli chcesz wykonać lutowanie - potrzebujesz tylko kilku (3) rezystorów i kilku złączy, podczas gdy dostawca usług internetowych może przywrócić cię do działania do 30 GBP / 50 USD (współczynnik konwersji jest przybliżony).


Krok 2: Edytuj plik preferencji Arduino

Następnie musisz skonfigurować Arduino IDE, aby umożliwić obejście bootloadera. Upewnij się, że NIE masz otwartego Arduino IDE! Plik preferencji preferences.txtmożna znaleźć w następujących lokalizacjach, w zależności od systemu operacyjnego:

  • C:\Documents and Settings\<Username>\Application Data\Arduino\preferences.txt (Windows)
  • /Users/<Username>/Library/Arduino/preferences.txt (Prochowiec)
  • ~/.arduino/preferences.txt (Linux)

Aby przejść do pliku preferencji w systemie Windows, przejdź do menu Start, a następnie przejdź do %appdata%(Uwaga: Nie używam regularnie systemu Windows, popraw mnie). Następnie przejdź do Arduino, a następnie dopreferences.txt

Na komputerze Mac użyj terminalu i wykonaj:

cd ~/Library/Arduino
open .

Lub w Finderze użyj Goto (Cmd-Shift-G) i wprowadź ~/Library/Arduino. Oba prowadzą do okna Findera z preferences.txtin.

W systemach Unix foldery zaczynające się od „.” (takie jak .cache, .git) są domyślnie ukryte, więc w systemie Linux musisz użyć terminala i wpisać:

cd ~/.arduino
nautilus .

Uwaga: możesz zastąpić nautilus, gnome-open jeśli chcesz. Wiem, że są zarówno prace nad wspólnymi odmianach Linuksa, ale może mieć problemy na niektórych z bardziej „egzotycznych” smaków.

Po znalezieniu preferences.txtpliku, otwórz go i zmienić upload.usingod bootloadernazwy jednego z programistów w ./hardware/programmers.txtpodkatalogu. Jeśli chcesz tylko usunąć bootloader z jednej płyty, ./hardware/boards.txtmożesz zmienić <board>.upload.usingparametr, a wszystkie inne płyty będą nadal korzystać z bootloadera. Następnie zapisz odpowiedni plik i zamknij go (moje Arduino po prostu się zawiesiło i prawie straciłem odpowiedź, być może dlatego, że zapomniałem to zrobić).


Krok 3: Prześlij szkic

Po edycji odpowiedniego pliku ponownie otwórz Arduino IDE i prześlij szkic jak zwykle. Jeśli właśnie edytowałeś ./hardware/boards.txt, tylko ta konkretna płyta nie będzie miała programu ładującego, ale jeśli edytowałeś, preferences.txtwszystkie płyty nie będą miały programu ładującego.


Krok 4: Zamień bootloader

Jeśli chcesz ponownie załadować bootloader na swoje płyty (z jakiegokolwiek powodu), najpierw usuń <board>.upload.usingparametr lub ustaw upload.usingponownie bootloader. Następnie musisz wypalić bootloader z powrotem na dotkniętych płytach - ta odpowiedź dość dobrze wyjaśnia jedną z metod, a łatwiej jest załadować bootloader Arduino tylko za pomocą usługodawcy internetowego (który powinieneś mieć wcześniej) na oficjalnej stronie tutaj .

Polarny
źródło
Wydaje mi się, że nie byłem jasny, zredagowałem pytanie, aby było to widoczne: chciałem całkowicie odrzucić IDE (co oznacza, że ​​musisz nauczyć się innego języka programowania. Jednak skoro już opublikowałeś odpowiedź, I „
Mogę
@Manishearth Ah, zmodyfikuję to, aby odzwierciedlić to, jeśli chcesz. Z drugiej strony moglibyśmy zrobić więcej pytań ...
Polar
Zapytam jeszcze jednego, to zrobi się zbyt szerokie, jeśli go
wrzucę
@Manishearth Ok :)
Polar