ultimo aggiornamento 7 agosto 2010


 

LA PROGRAMMAZIONE DEL PROPELLER
Per programmare un multicontrollore con un’architettura così particolare si deve necessariamente utilizzare l’assembler. Solo così si riescono ad ottenere le prestazioni indicate in termini di Mips. In realtà la Parallax ha realizzato lo Spin un ambiente di sviluppo con un linguaggio ad hoc ad alto livello.

homotix

PCBA

Lo Spin
Lo Spin è un linguaggio interpretato (nella ROM del Propeller c’è una copia dell’interprete) simile al basic che però presenta alcune caratteristiche di linguaggi più evoluti come la definizione di oggetti.
Non si tratta di un linguaggio ad oggetti vero e proprio ma si possono realizzare dei moduli in cui sono definite le strutture dati, le funzioni pubbliche e l’insieme delle funzioni private scritte sia in linguaggio SPIN che in assembler.
Ogni oggetto avrà la sua interfaccia pubblica e può a sua volta includere altri oggetti.
La definizione degli oggetti è uno dei punti di forza dello Spin poiché è possibile creare dei moduli per le funzioni base riutilizzabili facilmente in nuovi progetti.
La stessa Parallax per incoraggiare la condivisione dei vari moduli ha creato un’area apposita nel proprio sito: il Propeller Object Exchang.
Nell’IDE di sviluppo ci sono delle funzioni particolari per facilitare lo scambio e la condivisione dei moduli.
Ad esempio, grazie ad un font true type, appositamente sviluppato dalla Parallax, è possibile aggiungere al listato del codice dei commenti con disegni e piccoli schemi hardware.

Parallax_Propeller_Font_caratteri.jpg


Esempio rappresentazione schema di utilizzo
dell'integrato HM55B Compass Module Serial

In questo modo si può integrare la documentazione completa nel listato del codice.
Tramite un’opzione dell’IDE è possibile generare un file zip che include tutto il progetto attuale e una copia dell’IDE stesso evitando così eventuali problemi di compatibilità tra versioni differenti del sistema di sviluppo.

LA PROCEDURA DI STARTUP
Per utilizzare il multicontroller Propeller sono necessari pochi componenti esterni: un quarzo, solo se non si vuole utilizzare l’oscillatore RC interno, e una memoria eeprom da 32Kbyte con porta IIC per memorizzare il codice applicativo

Parallax_Propeller_Image3.jpg

Il boot code del Propeller che si trova nella ROM dell’HUB carica il contenuto della eeprom nella RAM dell’HUB, successivamente cede il controllo al COG0 che esegue una copia dell’interprete Spin e inizia a leggere e ad eseguire il codice applicativo. Durante la fase di sviluppo del codice è possibile sfruttare un’altra funzione del boot loader.
All’avvio infatti il loader cerca di stabilire una connessione seriale con un dispositivo remoto (Ad es. un PC).
Se viene stabilita la connessione il Propeller carica il codice applicativo nella RAM direttamente dal dispositivo remoto anziché dalla eeprom.
Questa funzione permette di aggiornare rapidamente il codice durante la fase di sviluppo.

I TOOLS DI SVILUPPO
Dalla descrizione della procedura di startup si può già intuire che per utilizzare un Propeller si deve semplicemente collegare due porte del micro ad una porta seriale e utilizzare l’IDE di sviluppo per la programmazione.

Pannello di controllo

All'apertura del compilatore. Lo schermo sarà diviso in quattro parti:

1.Pannello oggetti - In questo pannello vengono visualizzati tutti i componenti (oggetti) che fanno parte del progetto corrente. Il linguaggio SPIN essendo di tipo 'object-oriented', in questa finestra viene rappresentata graficamente la gerarchia degli oggetti e come essi sono collocati nel progetto.
2.Pannello di esplorazione cartelle  - Viene visualizzato il percorso (cartelle) del disco. Utilizzando questa finestre è possibile esplorare le cartelle.
3.Pannello di esplorazione file -
Viene visualizzato il contenuto della cartella selezionata nel pannello 2. Utilizzando questa finestra è possibile selezionare il file e procedere alla sua apertura.
4. Pannello Editor - In questo pannello è possibile visualizzare e modificare i files aperti. Per ciascun file aperto verrà visualizzato in alto un 'tab' che ricorda il nome del file. In questo modo sarà semplice passare da un file all'altro facendo click sul nome visualizzato nel 'tab'.
 

Elenco revisioni
07/08/2010 Emissione preliminare
Private Policy Cookie Policy