Odpowiedź
Uwaga, nadchodzi rozwlekłe wyjaśnienie. Chciałbym wyjaśnić pewne błędne przekonania, które, jak myślę, masz.
Arduino to tak naprawdę dwie rzeczy.
- Zbiór bibliotek C / C ++ skompilowanych za pomocą avr-gcc i
- Mały program oprogramowania układowego bootloadera, który został wcześniej zaprogramowany na chipie z fabryki.
Tak, Arduino IDE w zasadzie zawiera avr-gcc – kompilator AVR C. Twoje projekty lub „szkice” zawierają wspomniane biblioteki Arduino i są kompilowane za pomocą avr-gcc. Jednak nic z tego nie ma nic wspólnego z tym, jak cokolwiek zostanie zapisane na tablicy. Sposób wdrażania tych szkiców jest nieco inny niż zwykle.
Arduino IDE komunikuje się z Arduino przez układ USB-to-szeregowy na płycie i inicjuje tryb programowania, który bootloader rozumie i wysyła nowy program do chipa, w którym bootloader umieści go jakąś znaną lokalizację, a następnie uruchom ją. Nie ma „biblioteki avr, która wykonuje rzeczywisty zapis” – jest to po prostu Arduino IDE otwierające port szeregowy i komunikujące się z programem ładującym – w ten sposób komunikaty debugowania są również drukowane do IDE podczas działania.
Każde alternatywne IDE będzie musiało być w stanie wykonać tę samą komunikację szeregową z bootloaderem. Arduino jest łatwe ze względu na wszystkie biblioteki, które już ci zapewniają i programowanie i uruchamianie jednym dotknięciem z poziomu IDE. Szczerze mówiąc, nie nie sądzę, że stanie się to łatwiejsze lub bardziej przyjazne dla użytkownika. Wyabstrahowali wszystkie szczegóły mikrokontrolera AVR i procesu budowania / wdrażania.
Alternatywą byłoby coś takiego jak avr-studio (które również używa avr-gcc jako swojego kompilatora) i ICSP programista (który jest dodatkowym sprzętem, który musisz kupić) Nie masz nic poza niektórymi plikami nagłówkowymi rejestru i kilkoma przydatnymi makrami. Nie masz również żadnego bootloadera na swoim chipie AVR, to tylko pusta karta. Cokolwiek chcesz zrobić z mikrokontrolerem, będziesz musiał zagłębić się w jego sprzętowe urządzenia peryferyjne i rejestry oraz przesuwać bajty w C. Chcesz wydrukować komunikat debugowania z powrotem na komputerze? Najpierw napisz procedurę UART dla print () i otwórz terminal na swoim komputerze.
Krok niżej piszesz kod w edytorze tekstu i wywołujesz avr-gcc i avr-dude (polecenie programowania line) z pliku Makefile lub wiersza poleceń.
O krok niżej i „piszesz asembler w edytorze tekstu i wywołujesz avr-assembler i avr-dude.
Nie jestem pewien, dokąd z tym zmierzam, po prostu myślę, że istniejące IDE i Arduino są absolutnie genialne i idealne dla początkujących – ich roszczenie do sławy jest przyjazne dla użytkownika.Może nie jest odpowiedzią, której „szukasz, poznaj przepływ pracy i zrób z nią coś fajnego.
Komentarze
Odpowiedź
Odpowiedź
Używam SublimeText jako głównego edytora tekstu, więc bardzo się ucieszyłem, że znalazłem Stino , który jest wtyczką Arduino dla SublimeText. Jest to kompletny zamiennik dla Arduino IDE (chociaż musisz mieć kopię Arduino IDE, aby Stino mógł znaleźć biblioteki). Ma kilka błędów, ale jest całkiem użyteczny. Prawie nie dotykałem Arduino IDE od czasu odkrycia Stino.
Komentarze
Odpowiedź
Przypadkowo słyszałem o tym nowym IDE kilka dni temu nazywa się MariaMole: http://dalpix.com/mariamole
Co ciekawe, Maria-Mole jest nazwa bardzo popularnego cukierka w Brazylii:
Komentarze
- Super! Nie mogę się doczekać, kiedy będzie dostępna wersja na Maca.
Odpowiedź
Tak, tworzenie „Arduino IDE” polega w zasadzie na umieszczeniu front-endu przed avr-gcc i avrdude. Istnieje kilka innych opcji oprócz „oficjalnego Arduino IDE”. Jednym, który może być interesujący, jest środowisko AVR oparte na Eclipse:
Komentarze
Odpowiedź
Osobiście polecam (odkąd to napisałem;)) UECIDE . Pierwotnie był oparty na MPIDE dla płyt chipowych, który sam był oparty na wersji 0023 Arduino IDE, ale nie zostało już wiele oryginalnego kodu, wszystko zostało przepisane. > Obsługuje wszystkie płyty Arduino, a także płyty chipKIT, Launchpad, Maple i cały host więcej.
Komentarze
Odpowiedź
Możesz także wypróbować oparte na przeglądarce / online IDE dla Arduino, takie jak Codebender .
Komentarze
Odpowiedź
(źródło: visualmicro.com )
Bezpłatna wtyczka Microsoft Visual Studio i Atmel Studio jest prosta w użyciu i posiada wszystkie przydatne funkcje Arduino IDE.
Kod Sketch pozostaje w pełni kompatybilny z Arduino Ide. Wtyczka używa tego samego procesu kompilacji i łańcucha narzędzi, co Arduino Ide. Ty wybierasz wersje Arduino Ide, których chcesz używać w swoich projektach.
Zapewnia wiele dodatkowych funkcji, takich jak drążenie w dół do błędów kompilatora, zdemontowany widok (z drążeniem w dół), uzupełnianie kodu, przesyłanie przez programator lub USB.
Obsługuje wiele wersji Arduino w jednym Ide. Wersja Visual Studio obsługuje również Intel Galileo.
Obie firmy Ide obsługują ładowanie Arduino Yun Wifi / serwera internetowego. Dostępny jest również opcjonalny debuger USB / szeregowy / Wifi Arduino
Atmel Studio jest oparte na Visual Studio. Atmel Corp. to firma, która produkuje mikrokontrolery Arduino. Oznacza to, że Atmel Studio Ide jest świadomy i stworzony dla mikrokontrolerów Arduino.
Atmel Studio zapewnia również inne narzędzia, takie jak symulator.
Dokumentacja i darmowe forum
Odpowiedz
I niedawno przeszedłem z żartu, jakim jest Arduino IDE na code :: blocks-arduino. Lepiej nadaje się do bardziej złożonych projektów z wieloma plikami źródłowymi. Masz pełną kontrolę nad flagami kompilatora, celem kompilacji i wieloma innymi rzeczami, których brakuje lub jest źle -pisane w oficjalnym IDE Działa bardzo podobnie do wtyczki eclipse, ale nie jest tak rozdęta jak kod eclipse :: blocks -arduino samodzielna kompilacja. Zawiera kilka przydatnych narzędzi do wysyłania i debugowania, takich jak SUPER FAJNY I UŻYTECZNY monitor szeregowy z kilkoma naprawdę fajnymi funkcjami, takimi jak bezpośrednie debugowanie i2c (twi, jakkolwiek chcesz to nazwać), przechwytywanie szeregowe i wyjście csv itp.
skompilowany dla systemu Windows, z dostępnymi źródłami dla systemu Linux http://www.arduinodev.com/codeblocks/
„Środkowym” podejściem byłaby MariaMole, która niestety działa tylko w systemie Windows, ale ma wiele prostoty oficjalnego IDE, ale z wieloma cechami „klasycznego” IDE. zauważalną różnicą między nimi jest MariaMole używa plików .cpp i .h, podczas gdy code :: blocks-arduino używa .ino jak oficjalne IDE.
windows only; ( http://hackaday.com/2012/11/29/mariamole-an-alternate-arduino-ide-aimed-at-advanced-users/
Komentarze
Odpowiedź
Jon L: s anser dość dobrze podsumowuje Arduino, a ponieważ on tylko porusza alternatywy, mógłbym je trochę bardziej wyjaśnić.
- Arduino z programem ładującym.
- Komputer z systemem Windows załadowany za pomocą avr-studio i WinAVR (gcc) i może jtag, aby sflashować urządzenie ( AVR JTAGICE mkII )
- Łańcuch narzędzi GNU (w systemie Linux lub Windows) korzystający z WinAVR i AVR JTAGICE mkII.
Ale pamiętaj, że tak jak twierdzi Jon L, alt1 jest prostym i łatwym narzędziem, ponieważ usuwa większość rzeczy z twarzy. Włącz diodę LED, wywołaj funkcję turnOnLED w bibliotece.
Alt2. Otrzymasz pomoc dotyczącą chipa i bardziej klasyczne IDE, ale większość rzeczy musisz wykonać samodzielnie.
Alt3. Musisz robić wszystko sam, ale masz maksymalną władzę nad swoim otoczeniem.
Więc teraz możesz wybrać, jaki rodzaj rozwoju chcesz zrobić, jedną dobrą rzeczą w przypadku AVR jest to, że narzędzia takie jak jtag są dość przystępne, więc jest to dość tania platforma do pracy, niezależnie od jakiego poziomu używasz.
A ponieważ jest to AVR na Arduino, jeśli mają złącze jtag, możesz użyć alt1,2 i 3 na płytach Arduino.
Odpowiedź
Możesz użyć emacsa (lub podobnego) do pisania kodu oraz tworzenia i wdrażania go. Pakiety arduino są dostarczane z próbkami makefile i kodami pośredniczącymi do robienia wszystkich rzeczy.
Odpowiedź
Odpowiedź
Eclipse to świetna alternatywa, a teraz dzięki wtyczce eclipse, którą można znaleźć pod adresem eclipse.baeyens.it , instaluje się w mniej niż 15 minut w systemie Windows Mac i Linux . Ma nawet monitor szeregowy.
Odpowiedź
Są naprawdę oddzielne rzeczy, których potrzebujesz:
- Edytor kodu.
- Łańcuch narzędzi i kompilator.
- Program ładujący.
Standardowe, uniwersalne środowisko Arduino IDE zawiera szalenie podstawowy edytor, coś, z czego szybko wyrośnie. Zalecam najpierw wymianę edytora, kontynuuj odpowiadanie na krok 2 i 3 z pakietu podstawowego.
Gdy będziesz gotowy, aby wyjść dalej, zobacz http://playground.arduino.cc/Main/DevelopmentTools dla narzędzi, które mogą przejąć wszystkie trzy główne funkcje.
Komentarze
Odpowiedź
Co powiedział Dan (w komentarzu do pytania): Eclipse to w pełni funkcjonalne środowisko IDE, które działa bardzo dobrze z Arduino. (Jednak popieram też jego komentarz dotyczący konfiguracji). Ale najłatwiejszym sposobem na skonfigurowanie tego może być przeniesienie działającej instalacji innej osoby na własny komputer w celu uzyskania działającej konfiguracji i rozpoczęcie jej dostosowywania.
Odpowiedź
Używam tego pliku Makefile . Zajmuje się on większością procesu. Następnie wystarczy napisać prosty lokalny plik makefile zawierający szczegółowe informacje dotyczące płyty. Istnieje naprawdę świetna dokumentacja, jak go używać. Następnie używam mojego ulubionego edytora tekstu do pisania kodu w C lub C ++ i kompiluję go za pomocą mojego prostego lokalnego pliku makefile. Przesyłaniem zajmuje się również plik makefile, który podlinkowałem: po prostu wywołaj „make upload”.
To fajne rozwiązanie, ponieważ możesz wtedy użyć dowolnego edytora tekstu, który chcesz. Pozwala łatwo łączyć wszystkie biblioteki arduino, a także wszystkie posiadane biblioteki lokalne.
Odpowiedź
To jest stara idea, którą znalazłem bardzo szybko i elastycznie. Może programować Arduino, a także Arduino klony, takie jak Paperduino lub tinyUSB. Możesz także sprawdzić porty USB lub szeregowe, przetestować bezpieczniki i wiele innych rzeczy w łatwy sposób.
https://code.google.com/archive/p/avr-project-ide/
Komentarze