AVRSH è un interprete shell realizzato per controllare, in maniera interattiva, i processori AVR, ATmega328P, o un Arduino in maniera perfettamente trasparente attraverso una semplice interfaccia.
Sembra di utilizzare la shell realizzata in ambito VxWorks.
L’interfaccia di AVRSH è stile Unix, questo perchè il concetto di shell nasce proprio in questo ambiente. AVRSH dispone anche di un filesystem che si appoggia su una memoria EEPROM esterna.
L’interazione dell’utente con l’ambiente target è in tempo reale, nel senso che qualsiasi modifica ad un registro utilizzando l’apposita interfaccia è trasferita immediatamente sul processore stesso.
Attraverso l’interfaccia è possibile leggere tutti i vari Data Direction Registers (DDR), porte e pin.
Utilizzando AVRSH é possibile scrivere i vari registri DDR, interfacciarsi con le porte o con i pin per pilotare un motore, dei LED o dei sensori; inoltre, é possibile anche leggere il valore del clock della CPU, oppure è permessa la modifica della stessa attraverso un opportuno prescaler.
Con AVRSH è possibile, poi, attivare o fermare un timer a 16-bit per temporizzare eventi particolari.
Non solo, AVRSH si dimostra un ottimo strumento per la gestione delle periferiche: ADC (Analog to Digital Converter), Serial Peripheral Interface (SPI), UART/USART…
Permette, inoltre, la gestione di variabili definite dall’utente attraverso la loro lettura o scrittura direttamente in EEPROM.
Per utilizzare AVRSH sono necessari poche cose: un processore ATmega328P, per esempio, un collegamento alla seriale USART del processore e una versione del firmware AVR Shell (la versione corrente può essere tranquillamente prelevata).
L’interfaccia verso il processore è garantita dal programma AVR Terminal, incluso nel pacchetto.
In sostanza, AVRSH permette di utilizzare e controllare tutte le risorse fisiche del processore mediante una semplice e intuitiva interfaccia via terminale. Il software permette anche di gestire la linea Ethernet attraverso sessioni telnet.
È disponibile sul sito di AVRSH un tutorial che illustra tutti i passi necessari.
Per ottenere tutto il necessario, la shell e la documentazione, è necessario prima registrarsi.