Ostrzeżenie, nadchodzi długie wyjaśnienie. Chciałbym wyjaśnić niektóre nieporozumienia, które, jak myślę, masz.
Arduino to tak naprawdę dwie rzeczy.
- Zbiór bibliotek C / C ++ skompilowanych z avr-gcc i
- Mały program firmware bootloadera, który został wcześniej zaprogramowany fabrycznie na chipie.
Tak, Arduino IDE w zasadzie otacza avr-gcc - kompilator AVR C. Twoje projekty lub „szkice” zawierają wspomniane biblioteki Arduino i są kompilowane z avr-gcc. Jednak nic z tego nie ma nic wspólnego z tym, jak coś zostaje zapisane na tablicy. Sposób wdrażania tych szkiców jest nieco inny niż zwykle.
Arduino IDE komunikuje się z twoim Arduino poprzez układ USB na szeregowy na płycie i inicjuje tryb programowania, który bootloader rozumie i wysyła twój nowy program do układu, w którym bootloader umieści go w znanej lokalizacji, a następnie uruchomi . Nie ma „biblioteki avr, która faktycznie zapisuje” - to tylko Arduino IDE otwierające port szeregowy i rozmawiające z bootloaderem - w ten sposób komunikaty debugowania są drukowane do IDE również 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 udostępniają oraz program do uruchamiania i uruchamiania za pomocą jednego przycisku z IDE. Szczerze mówiąc, nie sądzę, aby stało się to łatwiejsze lub bardziej przyjazne dla użytkownika. Wyodrębnili wszystkie szczegóły mikrokontrolera AVR i procesu budowy / wdrażania.
Alternatywą byłoby coś w stylu avr-studio (które używa również avr-gcc w swoim kompilatorze) i programatora ICSP (który jest dodatkowym sprzętem, który musisz kupić). Nie masz wiele innych niż niektóre pliki nagłówkowe definicji rejestru i kilka przydatnych makr. Nie masz też żadnego bootloadera na swoim układzie AVR, to tylko pusta tablica. Cokolwiek chcesz zrobić z mikrokontrolerem, musisz przejść dogłębnie i dowiedzieć się o jego urządzeniach peryferyjnych i rejestrach oraz przenieść bajty w C. Chcesz wydrukować komunikat debugowania z powrotem na PC? Najpierw napisz procedurę UART dla print () i otwórz terminal na komputerze.
O krok niżej piszesz kod w edytorze tekstu i wywołujesz avr-gcc i avr-dude (programowanie wiersza poleceń) z Makefile lub wiersza poleceń.
O krok dalej od tego piszesz asembler w edytorze tekstu i wywołujesz avr-asembler 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 pretekstem do sławy jest przyjazność dla użytkownika. Może nie jest to odpowiedź, której szukasz, poznaj przepływ pracy i zrób z tego coś fajnego.