Zacząłem grać z arduino UNO całkiem niedawno (bez wcześniejszego doświadczenia z mikrokontrolerami). Chciałbym używać emacsa zamiast IDE, a także chciałbym wiedzieć, co robi IDE pod maską, aby móc napisać własny plik makefile. Samouczki, które znalazłem, są albo nieaktualne, albo przedstawione jako seria kroków bez żadnego wyjaśnienia. Byłbym wdzięczny, gdyby ktoś mógł mi wyjaśnić, jak działa cały proces kompilacji / łączenia / wysyłania za pomocą gcc-avr i avr-dude oraz w jaki sposób jest on wykorzystywany przez IDE.
10
Odpowiedzi:
Jeśli chcesz dokładnego powielenia tego, co robi IDE, ale chcesz, aby był sterowany z wiersza poleceń, właśnie do tego służy Ino . Pełny proces kompilacji Arduino polega na kopiowaniu wielu plików z wielu miejsc i zwykle nie jest trywialny do powielenia.
Jeśli jesteś gotowy puścić pliki .ino i biblioteki Arduino, otrzymasz znacznie prostszy zestaw narzędzi. avr-gcc kompiluje, avrdude uploads i gotowe. Oto jeden z moich plików makefile z prostego projektu:
W przypadku kopiowania i wklejania pamiętaj o zastąpieniu wszystkich znaków „↹” znakami tabulacji.
EDYTOWAĆ:
Utworzyłem repozytorium z moim systemem kompilacji na Github .
źródło