Un ambiente integrato di sviluppo (Integrated Development Enviroment, IDE) è un programma che racchiude al proprio interno tutti gli strumenti software necessari per editare e assemblare un programma assembly e per simularne l'esecuzione su un microcalcolatore.
DEEDS (Digital Electronics Education and Design Suite) è una suite di strumenti didattici per l'apprendimento dell'elettronica digitale e dei microprocessori. Sviluppato dall'Università di Genova può essere scaricato gratuitamente in versione per Windows.
Il programma contiene un simulatore di circuiti digitali (d-DcS), un simulatore di macchine a stati finiti (d-FsM) e un emulatore di microcomputer (d-McE). Quest'ultimo è il componente che più interessa a noi e può essere avviato cliccando direttamente sull'icona oppure avviando il browser principale di Deeds e da qui avviando d-McE (Micro Computer Board Emulator) dal menu in figura:
Il µP simulato da Deeds non è lo Z80, ma un µP di nome DMC8 creato a scopi didattici e basato sullo Z80. In pratica il set di istruzioni di DMC8 è quasi identico a quello dello Z80 e così pure la struttura interna, fatte salve alcune piccole eccezioni. Per ogni dettaglio conviene fare riferimento alle dispense in italiano, che oltre a spiegare il funzionamento di DMC8 costituiscono un'ottima introduzione generale ai microprocessori.
Dopo aver avviato il simulatore d-McE ci si trova davanti a tre schede: Board, Editor e Debugger. Parleremo più diffusamente delle ultime due nel seguito. La scheda Board fornisce una mappa visuale della struttura del microcalcolatore:
Si notino i DIP switch sulla destra (I/O SUBSYSTEM) settando i quali è possibile assegnare gli indirizzi alle quattro porte di input (IA, IB, IC e ID) e alle quattro porte di output (OA, OB, OC e OD) del microcalcolatore.
La scrittura del programma avviene nella finestra Editor di d-McE. La direttiva per specificare l'indirizzo di origine è ORG. Si osservi il seguente esempio:
Se l'indirizzo iniziale è 0000h la direttiva ORG può essere omessa. Se, come spesso accade, si desidera lasciare libere le prime locazioni della memoria (per la gestione degli interrupt) e caricare il programma a partire, ad esempio, dall'indirizzo 0100h, bisognerà scrivere:
Occorre notare che la mappa di memoria del microcalcolatore DMC8 simulato è la seguente (e non può essere modificata):
Pertanto eventuali dati (valori modificabili) o lo stack dovranno essere memorizzati a partire dall'indirizzo 8000h.
Una volta scritto il programma nella finestra di Editor, è possibile assemblarlo scegliendo Project-Assemble (o Ctrl+F9). Salvando il programma (File-Save) viene creato un file di testo con estensione .mc8 contenente il codice sorgente assembly e il settaggio delle porte di I/O del microcalcolatore.
Dopo aver assemblato il programma, per simularlo ci si deve spostare nella finestra Debugger:
Il pulsante Step permette di eseguire un'istruzione alla volta; con Animate il programma viene eseguito lentamente mostrando ogni istruzione, mentre Run lo esegue a piena velocità.
Sulla sinistra della finestra del programma si trova un elenco dei registri e delle porte di I/O, mentre la parte destra è dedicata a una mappa della memoria (ROM e RAM) del microcalcolatore.
Finora abbiamo visto la simulazione del solo microcalcolatore (microprocessore e memorie), ma DEEDS consente di simulare anche circuiti logici complessi, comprendenti oltre al microcalcolatore altri dispositivi (registri, display, contatori eccetera).
A tale scopo dobbiamo avviare Digital Circuit Simulator (d-DcS) dal menu principale. Sull'area centrale quadrettata è possibile costruire il circuito digitale che si vuole simulare. Per esempio la figura seguente mostra un circuito comprendente il microcalcolatore, due gruppi di 8 switch (collegati con le porte di ingresso IA e IB) e due display a 7 segmenti (collegati con le porte di uscita OA e OB):
Per caricare un programma (detto firmware, precedentemente scritto, assemblato e salvato con d-McE) sulla memoria ROM del mircroprocessore occorre cliccare col tasto destro del mouse e scegliere Load DMC8 flash ROM, andando quindi a scegliere un file con estensione .mc8 precedentemente salvato e contenente il programma da caricare.
A questo punto è possibile avviare la simulazione del circuito con Simulation, Start Animation.
Video corso di base sull'uso di Deeds:
- Lezione 1: il primo programma in assembly (moltiplicazione fra due numeri interi)
- Lezione 2: esecuzione e debugging del primo programma
- Lezione 3: istruzioni di input e output
- Lezione 4: simulatore circuitale (Digital Circuit Simulator)
- Lezione 5: linguaggio assembly e istruzioni in linguaggio macchina
- Lezione 6: interrupt e routine di servizio degli interrupt
- Lezione 7 : lo stack e le istruzioni push e pop
- Lezione 8 : lo stack e le subroutine
Sito realizzato in base al
template offerto da
http://www.graphixmania.it