Skocz do zawartości

Teensy duino 3.2 - czym programować (darmowe, CLI, Windows) ? - jaki program?


Pomocna odpowiedź

Napisano

Witam całe forum!

Jestem nowy, nie wiem czy powinienem pisać tu czy w innym dziale, wszak chodzi o płytkę teensyduino podobną do arduino (w razie czego proszę o przeniesienie).

Do rzeczy: Mam urządzenia oparte o uklady teensyduino 3.2. Muszę pozwolić klientom urządzeń na samodzielne ich programowanie... Do tej pory zmuszałem klientów na moje urządzenia do instalacji na ich komputerach środowiska ARDUINO IDE z dodatkiem do teensyduino. Problem jest taki, że to dla wielu osób pewne utrudnienie i kłopoty z tym związane. Dlatego chciałbym napisać program z GUI (znam kilka języków programowania), w postaci "wizarda", który będzie odpalał inny program (ten którego szukam), najlepiej darmowy i koniecznie uruchamiany z linii poleceń systemu, który pozwoli zaprogramować urządzenie przez użytkowników.... Chodzi o to aby dostępny kod (w języku C) skompilować i wgrać do urządzenia (tak jak pisałem na teensyduino). Program taki musi być na licencji umożliwiajacej go wykorzystanie / powielanie we własnym sofcie (to chyba zrozumiałe), najlepiej w języku angielskim i działać pod Windowsem (najlepiej bez jakichś wymagajacych zależności). Co polecicie Państwo? Chodzi też o w miarę proste reagowanie na błędy, wykrywanie urządzenia (czy jest podłączone do USB), itd. itd.

Dziękuje za wszelkie sugestie i uwagi!

Zacząłbym od zajrzenia w kod tego "dodatku" teensyduino, bo o ile pamiętam, to bez tego nic się nie da na płytkę wgrać. Reszta jest standardowa -- możesz znaleźć wiele makefile-i napisanych do kompilowania kodu arduino bez ide. A jak się wysilisz i napiszesz swój program w C++ albo C, to będzie jeszcze łatwiej.

teensy-duino32, na początek musisz ustalić co planujesz udostępnić "klientom". Czy chodzi Ci o możliwość wgrywania skompilowanego programu, czy raczej o kompilację kodu źródłowego oraz programowanie. Arduino IDE posiada obie opcje, do tego pozwala na edycję kodu, jednak wbrew pozorom to zupełnie inne czynności, wymagające innych narzędzi.

1) kod źródłowy piszemy w edytorze tekstu - może to być notatnik, eclipse, sketch (arduino), czy vi. Kod musi być zgodny z wybranym językiem, np. C, C++, C#, Python. Edytor może, chociaż nie musi pomagać w programowaniu - najważniejsze żeby pozwolił na wprowadzenie tekstu. Program ma pisać i rozumieć programista. Jeśli klient ma mieć możliwość zmieniania programu w C, musisz mu odpowiedni edytor dostarczyć - jest sporo dostępnych na licencjach mniej lub bardziej otwartych, na pewno coś znajdziesz

2) program w C/C++ musi być skompilowany. Arduino używa darmowego kompilatora gcc - możesz go wykorzystać, dostarczyć klientom (wraz z treścią licencji GNU oczywiście). Jeśli w Arduino IDE włączysz odpowiednie opcje zobaczysz wywołania gcc. Równie dobrze możesz je wywołać z własnego programu lub skryptu

3) ostatni etap to wgranie skompilowanego programu do pamieci mikrokontrolera. Tutaj najpopularniejszym rozwiązaniem jest avr-dude. Jest dostępny jako otwarte oprogramowanie, więc nie powinieneś mieć problemu z jego użyciem. Podobnie jak w przypadku gcc, możesz zmusić Arduino IDE do pokazania wykonywanych poleceń i na własne oczy przekonać się, że "pod spodem" właśnie avr-dude jest używany do programowania

3) ostatni etap to wgranie skompilowanego programu do pamieci mikrokontrolera. Tutaj najpopularniejszym rozwiązaniem jest avr-dude. Jest dostępny jako otwarte oprogramowanie, więc nie powinieneś mieć problemu z jego użyciem. Podobnie jak w przypadku gcc, możesz zmusić Arduino IDE do pokazania wykonywanych poleceń i na własne oczy przekonać się, że "pod spodem" właśnie avr-dude jest używany do programowania

Teensy ma nietypowy bootloader i avrdude nie zadziała.

Zawsze można podparzeć co jest używane przez Arduino IDE - wystarczy włączyć wyświetlanie komunikatów podczas programowania.

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...