Home
Accesso / Registrazione
 di 

Corso di programmazione per microcontrollori Zilog Z8. Sesta puntata - 1

Corso di programmazione per microcontrollori Zilog Z8

Impariamo a programmare con la nuovissima famiglia di microcontrollori Z8 della Zilog caratterizzata da elevate prestazioni, grande flessibilità d’uso ed estrema facilità di impiego grazie alla disponibilità di un emulatore hardware a bassissimo costo. Sesta puntata. Dopo aver compreso sia la struttura del linguaggio assembler che il set di istruzioni dei micro Z8, addentriamoci, in questa puntata, nei dettagli della fase di assemblaggio e dei relativi comandi: vediamo cioè come procedere per trasformare il file sorgente scritto appunto in assembler in un file pronto per essere utilizzato dall’emulatore oppure in un file adatto ad essere “scaricato” nella memoria nel micro.

Una volta scritto il programma sorgente, questo viene passato all’assemblatore che ha il compito di generare un file in formato MUFOM (questa sigla significa: Microprocessor Universal Format for Object Modules, Formato Universale per Microprocessori per moduli oggetto).

Dopo questo passaggio, il file generato dall’assemblatore viene elaborato da un altro programma, il linker, che permette in pratica di collegare assieme vari programmi assemblandoli in un unico programma finale. Questa funzione risulta particolarmente utile qualora il programma da realizzare sia piuttosto complesso poiché consente di inglobare in un programma dei “pezzi” di programma già realizzati e testati. Ad esempio, se all’interno di un programma complesso dobbiamo eseguire una moltiplicazione, risulterà comodo avere un programma già pronto e funzionante che esegue la moltiplicazione da richiamare all’interno del programma principale.

fase_assemblaggio_mcu_zilog

In questo caso i due programmi, quello che esegue la moltiplicazione e quello principale, vengono dapprima assemblati separatamente e in seguito collegati tra di loro attraverso il linker. Dopo essere stato elaborato dal linker, il file viene nuovamente trasformato da un altro programma, l’mload.exe, che lo trasforma in un file caratterizzato dal formato “Intel hex”. Quest’ultimo risulta comprensibile all’emulatore ed è adatto ad essere “scaricato” nella memoria del micro. Normalmente, durante queste operazioni di trasformazione dei file, l’assemblatore genera anche altri due file, un primo contenente una tabella dei simboli (a questo provvede il programma mnm.exe) ovvero una tabella che rappresenta il modo in cui sono allocate le variabili e le etichette, e un secondo file (generato dal programma mlist.exe) contenente il codice macchina e le relative locazioni di memoria. Poiché eseguire tutte le volte queste operazioni manualmente diventa relativamente complesso, nella stessa directory dell’assemblatore si trova un file batch, Asmz8.bat, che realizza in sequenza tutte queste operazioni appena descritte.

I comandi contenuti nel file batch sono i seguenti: rem assembles and generate listing file and has rem assembler output with source comments for Z8 asms8 -r -os -on -o %1.out -s asms8 %1.s rem generates link file mlink %1.out -k 3 -o %1.lnk rem generates intel hex file for code down loading mload -i %1.lnk -o %1.hex rem generates symbol table file in zilog format mnm -l -s -o %1.sym %1.lnk rem generates listing file with absolute addresses mlist -o %1.lst -l %1.lnk In pratica ogni volta che, dopo aver scritto il programma con un editor, vorremo assemblarlo, non dovremo fare altro che digitare la seguente linea di comando: “Asmz8 nomefile”, dove la parola nomefile indica il nome assegnato al file del programma assembler. Vediamo ora di descrivere compiutamente i cinque comandi che compongono il file batch “Asmz8”. La riga di comando: “asms8 -r -os -on -o %1.out -s asms8 %1.s” richiama l’assemblatore per lo Z8; questo elabora il file con estensione .s e fornisce in uscita un file con estensione .out.

Il kit è disponibile da Futura Elettronica

 

 

Scrivi un commento all'articolo esprimendo la tua opinione sul tema, chiedendo eventuali spiegazioni e/o approfondimenti e contribuendo allo sviluppo dell'argomento proposto. Verranno accettati solo commenti a tema con l'argomento dell'articolo stesso. Commenti NON a tema dovranno essere necessariamente inseriti nel Forum creando un "nuovo argomento di discussione". Per commentare devi accedere al Blog

 

 

Login   
 Twitter Facebook LinkedIn Youtube Google RSS

Chi è online

Ultimi Commenti