Ocena:
Obecnie brak opinii czytelników. Ocena opiera się na 6 głosach.
Arduino and eForth
Przez te wszystkie lata szukałem platform mikrokontrolerowych, na których mógłbym uczyć ludzi programowania w języku FORTH. Zaprojektowałem kurs szkoleniowy, który nazwałem Firmware Engineering Workshop. Mogłem wyszkolić inżyniera o otwartym umyśle do programowania w języku FORTH w ciągu około tygodnia, z rozsądną platformą, tj. płytką ewaluacyjną mikrokontrolera z załadowanym systemem operacyjnym FORTH. Dobre platformy są drogie, a tanie platformy są nieodpowiednie. To, co zrobiłem, to chwyciłem dowolną płytkę mikrokontrolera pod ręką i użyłem jej. Nie działało to dobrze, ponieważ to, czego uczyłem, nie mogło być łatwo odtworzone przez ludzi w domu. Ludzie byli sfrustrowani, gdy nie mogli odtworzyć wyników, które zademonstrowałem. Wtedy znalazłem płytkę Arduino Uno. Płytka ewaluacyjna mikrokontrolera, której potrzebuję, musi mieć mikrokontroler o rozsądnych możliwościach. 8-bitowy mikrokontroler z szybkim zegarem jest odpowiedni. Mikrokontrolery 16-bitowe lub 32-bitowe są oczywiście znacznie lepsze. Płytka musi mieć co najmniej 8 KB pamięci ROM i 1 KB pamięci RAM. Musi również posiadać port USART do komunikacji z emulatorem terminala na komputerze hosta. Wszelkie inne urządzenia wejścia/wyjścia będą wisienką na torcie. Im więcej, tym lepiej. Arduino Uno posiada wszystkie wymienione powyżej komponenty. Jest również niedrogie, kosztuje tylko 29 USD.
Wykorzystuje ATmega328P, bardzo interesujący mikrokontroler, który ma 32 KB pamięci flash, wystarczającej do hostowania systemu operacyjnego FORTH, 2 KB pamięci RAM i wiele urządzeń I / O do budowania dużych aplikacji. Arduino Uno ma również port USB, który łączy się z komputerem PC i urządzeniem USART w ATmega328P. Ten interfejs szeregowy jest niezbędny dla systemu FORTH, dzięki czemu można uruchamiać i programować ATmega328P interaktywnie z emulatora terminala na komputerze PC - ponieważ kompletny Forth znajduje się na chipie. Arduino Uno to urocza maszyna. Podłączasz go kablem USB do komputera i możesz zaprogramować go do robienia wielu interesujących rzeczy. Jego mikrokontroler ATmega328P, pracujący z częstotliwością 16 MHz, jest bardzo zdolny do uruchamiania wielu interesujących aplikacji. Szablon szkicu, który jest oprogramowaniem w Arduino 0022, oddaje istotę programowania oprogramowania układowego w rzucaniu aplikacji użytkownika w dwóch instrukcjach: setup() i loop(). Eliminuje to wszystkie instrukcje składniowe wymagane przez normalny program C i udostępnia tylko rdzeń aplikacji. Jednak oprogramowanie Arduino izoluje użytkownika od skomplikowanej natury mikrokontrolera ATmega328P, jego zestawu instrukcji i urządzeń wejścia/wyjścia. Zamiast tego użytkownik otrzymuje bibliotekę przydatnych procedur, które są używane do tworzenia aplikacji. Izolacja początkowo pomaga zaprogramować mikrokontroler w języku programowania wysokiego poziomu podobnym do języka C.
Jednakże, będąc mikrokontrolerem 8-bitowym, ATmega328P w języku C wyczerpie się, gdy aplikacja będzie wymagała wydajności. W tym momencie będziesz musiał zejść do gołego metalu, aby popchnąć ATmega328P do granic możliwości. Następnie trzeba nauczyć się jego zestawu instrukcji i wszystkich urządzeń wejścia/wyjścia, a być może zaprogramować go w języku asemblera. Najlepszym alternatywnym podejściem jest zaprogramowanie ATmega328P w języku FORTH. FORTH udostępnia ATmega328P użytkownikowi. Możesz interaktywnie sprawdzać jego pamięć RAM, pamięć flash i wszystkie urządzenia we / wy otaczające procesor. Można przyrostowo dodawać małe fragmenty kodu i testować je w sposób wyczerpujący. Interaktywne środowisko programowania i debugowania znacznie przyspiesza rozwój programu i zapewnia jego jakość. Od 1990 roku promuję prosty model języka FORTH o nazwie eForth. Model ten składa się z jądra 30 prymitywnych poleceń FORTH, które muszą być zaimplementowane w instrukcjach maszynowych mikrokontrolera hosta, oraz 190 złożonych poleceń FORTH zbudowanych z prymitywnych poleceń i innych złożonych poleceń. Izolując polecenia zależne od maszyny od poleceń niezależnych od maszyny, model eForth można łatwo przenieść na wiele różnych mikrokontrolerów. Model ten został przeniesiony na ATmega328P, w wyniku czego powstał system 328eForth.
© Book1 Group - wszelkie prawa zastrzeżone.
Zawartość tej strony nie może być kopiowana ani wykorzystywana w całości lub w części bez pisemnej zgody właściciela.
Ostatnia aktualizacja: 2024.11.13 21:45 (GMT)