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)


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 .


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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.