Evaluare:
În prezent, nu există recenzii ale cititorilor. Evaluarea se bazează pe 6 voturi.
Arduino and eForth
În toți acești ani, am căutat platforme de microcontrolere pe care să îi pot învăța pe oameni cum să programeze în limbajul FORTH. Am conceput un curs de formare pe care l-am numit Firmware Engineering Workshop. Aș putea instrui un inginer cu mintea deschisă să programeze în FORTH în aproximativ o săptămână, cu o platformă cu capacități rezonabile, adică o placă de evaluare cu microcontroler cu un sistem de operare FORTH încărcat. Platformele bune sunt expansive, iar platformele low-cost sunt inadecvate. Ceea ce am făcut a fost să iau orice placă de microcontroler la îndemână și să o folosesc. Nu a funcționat bine pentru că ceea ce am predat eu nu putea fi reprodus cu ușurință de oamenii de acasă. Oamenii deveneau frustrați când nu puteau reproduce rezultatele pe care le demonstram. Apoi, am găsit placa Arduino Uno. Placa de evaluare a microcontrolerului de care am nevoie trebuie să aibă un microcontroler cu capacități rezonabile. Un microcontroler pe 8 biți cu un ceas rapid este adecvat. Microcontrolerele pe 16 sau 32 de biți sunt, desigur, mult mai bune. Placa trebuie să aibă cel puțin 8 KB de memorie ROM și 1 KB de memorie RAM. De asemenea, trebuie să aibă un port USART pentru a comunica cu un emulator de terminal de pe un PC gazdă. Orice alte dispozitive I/O vor fi cireașa de pe tort. Cu cât mai multe, cu atât mai bine. Arduino Uno are toate componentele pe care le-am enumerat mai sus. De asemenea, este ieftin, costând doar 29 de dolari.
Acesta utilizează ATmega328P, un microcontroler foarte interesant care are 32 KB de memorie flash, suficient pentru a găzdui un sistem de operare FORTH, 2 KB de RAM și multe dispozitive I/O pentru a construi aplicații substanțiale. Arduino Uno are, de asemenea, un port USB care se conectează la un PC și un dispozitiv USART în ATmega328P. Această interfață serială este necesară pentru un sistem FORTH, astfel încât să puteți rula și programa ATmega328P interactiv de la un emulator de terminal de pe PC - deoarece Forth-ul complet este pe cip. Arduino Uno este o mașină minunată. Îl conectați prin intermediul unui cablu USB la PC și îl puteți programa să facă multe lucruri interesante. Microcontrolerul său ATmega328P, care rulează la 16 MHz, este foarte capabil să ruleze multe aplicații interesante. Șablonul unei schițe, care este software-ul din Arduino 0022, captează esența programării firmware în turnarea aplicațiilor utilizatorului în două instrucțiuni: setup() și loop(). Acesta elimină toate declarațiile sintactice cerute de un program C normal și vă expune doar nucleul unei aplicații. Cu toate acestea, software-ul Arduino vă izolează de natura complexă a microcontrolerului ATmega328P, de setul său de instrucțiuni și de dispozitivele sale I/O. În schimb, vi se oferă o bibliotecă de rutine utile care sunt utilizate pentru a construi aplicații. Izolarea vă ajută inițial să programați microcontrolerul într-un limbaj de programare de nivel înalt de tip C.
Cu toate acestea, fiind un microcontroler pe 8 biți, ATmega328P în limbaj C va rămâne fără benzină atunci când aplicația va solicita performanță. În acest moment, va trebui să ajungeți până la metalul gol pentru a împinge ATmega328P la limita sa. Apoi, va trebui să învățați setul său de instrucțiuni și toate dispozitivele sale I/O și, probabil, să-l programați în limbaj de asamblare. Cea mai bună abordare alternativă este să programați ATmega328P în limbajul FORTH. FORTH vă expune ATmega328P. Puteți examina interactiv memoria sa RAM, memoria sa flash și toate dispozitivele I/O din jurul procesorului. Puteți adăuga progresiv mici fragmente de cod și le puteți testa exhaustiv. Un mediu interactiv de programare și depanare accelerează foarte mult dezvoltarea programelor și asigură calitatea acestora. Din 1990, am promovat un model simplu de limbaj FORTH numit eForth. Acest model constă dintr-un nucleu de 30 de comenzi FORTH primitive care trebuie implementate în instrucțiunile mașinii unui microcontroler gazdă și 190 de comenzi FORTH compuse construite din comenzi primitive și alte comenzi compuse. Prin izolarea comenzilor dependente de mașină de comenzile independente de mașină, modelul eForth poate fi portat cu ușurință la multe microcontrolere diferite. Acest model este portat la ATmega328P, iar rezultatul este sistemul 328eForth.
© Book1 Group - toate drepturile rezervate.
Conținutul acestui site nu poate fi copiat sau utilizat, nici parțial, nici integral, fără permisiunea scrisă a proprietarului.
Ultima modificare: 2024.11.08 07:02 (GMT)