Hodnotenie:
Momentálne nie sú žiadne recenzie čitateľov. Hodnotenie je založené na 6 hlasoch.
Arduino and eForth
Celé tie roky som hľadal platformy mikrokontrolérov, na ktorých by som mohol ľudí učiť programovať v jazyku FORTH. Navrhol som školiaci kurz, ktorý som nazval Firmware Engineering Workshop. Otvoreného inžiniera by som mohol naučiť programovať v jazyku FORTH približne za týždeň, pričom by som mal k dispozícii primerane schopnú platformu, t. j. vyhodnocovaciu dosku mikrokontroléra s nahratým operačným systémom FORTH. Dobré platformy sú expanzívne a lacné platformy sú nedostatočné. Urobil som to tak, že som vzal akúkoľvek dosku s mikrokontrolérom, ktorá bola po ruke, a použil som ju. Nefungovalo to dobre, pretože to, čo som učil, nemohli ľudia doma jednoducho zopakovať. Ľudia boli frustrovaní, keď nemohli reprodukovať výsledky, ktoré som demonštroval. Potom som našiel dosku Arduino Uno. Vyhodnocovacia doska mikrokontroléra, ktorú potrebujem, musí mať mikrokontrolér s primeranými schopnosťami. Stačí 8-bitový mikrokontrolér s rýchlymi hodinami. 16-bitové alebo 32-bitové mikrokontroléry sú samozrejme oveľa lepšie. Doska musí mať aspoň 8 KB pamäte ROM a 1 KB pamäte RAM. Musí mať aj port USART na komunikáciu s emulátorom terminálu na hostiteľskom počítači. Akékoľvek ďalšie vstupno-výstupné zariadenia budú čerešničkou na torte. Čím viac, tým lepšie. Arduino Uno má všetky komponenty, ktoré som uviedol vyššie. Je tiež lacný, stojí len 29 dolárov.
Používa ATmega328P, veľmi zaujímavý mikrokontrolér, ktorý má 32 KB pamäte flash, čo stačí na umiestnenie operačného systému FORTH, 2 KB pamäte RAM a mnoho I/O zariadení na vytváranie rozsiahlych aplikácií. Arduino Uno má aj port USB, ktorý sa pripája k počítaču, a zariadenie USART v ATmega328P. Toto sériové rozhranie je potrebné pre systém FORTH, aby ste mohli spúšťať a programovať ATmega328P interaktívne z emulátora terminálu v PC - keďže kompletný Forth je na čipe. Arduino Uno je nádherný stroj. Pripojíte ho cez USB kábel k počítaču a môžete ho naprogramovať na mnoho zaujímavých vecí. Jeho mikrokontrolér ATmega328P, pracujúci na frekvencii 16 MHz, je veľmi schopný spustiť mnoho zaujímavých aplikácií. Šablóna náčrtu, čo je softvér v Arduino 0022, zachytáva podstatu programovania firmvéru pri obsadzovaní užívateľských aplikácií v dvoch príkazoch: setup() a loop(). Eliminuje všetky syntaktické príkazy, ktoré vyžaduje bežný program v jazyku C, a vystavuje vám len jadro aplikácie. Softvér Arduino vás však izoluje od zložitej povahy mikrokontroléra ATmega328P, jeho inštrukčnej sady a jeho vstupno-výstupných zariadení. Namiesto toho máte k dispozícii knižnicu užitočných rutín, ktoré sa používajú na vytváranie aplikácií. Izolácia vám spočiatku pomáha programovať mikrokontrolér vo vysokoúrovňovom programovacom jazyku podobnom jazyku C.
Keďže je však ATmega328P 8-bitový mikrokontrolér, v jazyku C mu dôjde plyn, keď aplikácia vyžaduje výkon. V tomto bode sa budete musieť dostať až k holému kovu, aby ste ATmega328P posunuli na jeho hranicu. Potom sa budete musieť naučiť jeho inštrukčnú sadu a všetky jeho I/O zariadenia a možno ho naprogramovať v jazyku assembler. Najlepším alternatívnym prístupom je naprogramovať ATmega328P v jazyku FORTH. Jazyk FORTH vám vystaví ATmega328P. Môžete interaktívne skúmať jeho pamäť RAM, pamäť flash a všetky vstupno-výstupné zariadenia obklopujúce procesor. Môžete postupne pridávať malé časti kódu a vyčerpávajúco ich testovať. Interaktívne programovacie a ladiace prostredie výrazne urýchľuje vývoj programu a zabezpečuje jeho kvalitu. Od roku 1990 propagujem jednoduchý model jazyka FORTH s názvom eForth. Tento model pozostáva z jadra 30 primitívnych príkazov jazyka FORTH, ktoré sa musia implementovať do strojových inštrukcií hostiteľského mikrokontroléra, a 190 zložených príkazov jazyka FORTH vytvorených z primitívnych príkazov a ďalších zložených príkazov. Oddelením strojovo závislých príkazov od strojovo nezávislých príkazov možno model eForth ľahko preniesť na mnoho rôznych mikrokontrolérov. Tento model je portovaný na ATmega328P a výsledkom je systém 328eForth.
© Book1 Group - všetky práva vyhradené.
Obsah tejto stránky nesmie byť kopírovaný ani použitý čiastočne alebo v celku bez písomného súhlasu vlastníka.
Posledná úprava: 2024.11.13 22:11 (GMT)