Descrizione di tutti i PODs disponibili
L'emulatore seriale DENEB full stand-alone è l'ausilio
essenziale per la progettazione e produzione di sistemi a microprocessore,
dotato di interfaccia seriale può essere collegato facilmente con
terminali, personal computer e host più potenti, inoltre l'eprom
programmer incorporato consente la programmazione delle più diffuse
eprom esistenti.
Introduzione
Con questo strumento è possibile eseguire un programma in linguaggio
macchina passo-passo e verificare ogni volta il contenuto dei vari
registri e dei dati contenuti nella memoria, in modo da poter capire eventuali
malfunzionamenti del software che si sta collaudando. Lavorare senza emulatore
con una scheda a microprocessore è ugualmente possibile, ma occorre
assemblare il programma, programmare una memoria EPROM, inserirla
nella scheda e resettare il sistema. A questo punto avremo solamente due
possibilità: o il programma funziona perfettamente, molto improbabile
specialmente se è abbastanza lungo, oppure si perde o si blocca
chissà per quale errore. Con l'ausilio di questa macchina, è
possibile individuare un errore in pochissimo tempo semplicemente sostituendo
il microprocessore del target con il pod dell'emulatore, eseguendo passo-passo
il programma (che può stare sia sulla eprom del target che nella
ram interna dell'emulatore) e verificando come variano i registri oppure
mettendo dei breakpoints in determinate zone e lanciando l'esecuzione
in tempo reale. Da questa breve descrizione di come viene usato l'emulatore,
si può già capire come non solo questo sia di aiuto, ma addirittura
sia indispensabile a chi sviluppa progetti.
Uno dei punti forti del software DENEB che gestisce lemulatore, è
il Debugger C. Con esso è possibile debuggare qualsiasi
sorgente C sviluppato dallutente per il proprio target. La gestione dei
breakpoint può avvenire direttamente sulle linee di programma C
e, tramite la finestra speciale Watch, è possibile monitorare
in tempo reale qualsiasi simbolo.
L'emulatore
Universale DENEB
Il DENEB P2 è composto da due parti ben distinte: l'emulatore
e l'eprom programmer 2732..27512-87x51.
-
É realizzato con 5 o 6* schede:
-
la scheda monitor + eprom-programmer;
-
la scheda slave 8-16 bit universale
serie P2;
-
la base universale 8-16 bit serie
P2;
-
il POD di emulazione contenente il microprocessore per l'emulazione
in real-time ed alla massima velocità.
-
* opzionalmente la scheda real-time-trace
-
Scheda contenente lo zoccolo textool per la programmazione della eprom,
i due interruttori ON/OFF e Reset, e i due led ON e PROG.
-
Lavora sulla porta seriale di un qualsiasi IBM-PC, AT o compatibile
in maniera full stand-alone con un baud-rate programmabile via software.
Caratteristiche
tecniche comuni a tutti i micro emulati dalla Serie P2 8-16
bit
-
L'emulazione del microprocessore avviene senza sacrificare nessuna risorsa
del micro stesso: sono presenti infatti nella macchina due µP, uno
che gestisce il monitor l'eprom programmer e il µP slave, l'altro
è il micro slave di emulazione.
-
L'emulazione avviene in real-time ed alla massima velocità consentita
dal µP. Per realizzare questo il µP di emulazione è
sul pod esterno, con un probe distante dal target soltanto pochi
centimetri, inoltre tutti i segnali del µP escono direttamente sul
probe senza buffer intermedi (anche se alcuni segnali di controllo in qualche
µP possono, o no, essere bufferati settando i relativi jumpers).
-
L'alimentazione del µP di emulazione può essere settata interna
o esterna mediante un jumper presente in ogni pod.
-
Lemulatore serie P2 8-16 bit ha 128Kx16 RAM di emulazione interna
mappabile a blocchi di 8K (per tuttti i µP che indirizzano più
di 64K), quando è utilizzato con un µP ad 8 bit, la ram è
mappata come nella serie P1; inoltre è provvisto di 8 breakpoint
hardware per lemulazione in real-time con clock interno o esterno settabile.
-
Banking: 16 banchi da 64K per processori ad 8 bit, 256 banchi da
64K per processori a 16 bit.
-
Trace: 32Kx64bit trace buffer con clock interno/esterno, trigger
interno/esterno, pre/center/post trigger con contatore di 8K, 8 clips e
un breakpoint esterno supplementare. Una uscita Trigger ed una
uscita Level.
-
L'emulazione è completamente simbolica.
-
Assemblatore e disassemblatore in linea.
-
Visualizzazione/modifica/spostamento in memoria.
-
Visualizzazione/modifica registri.
Nuovi optional:
-
Performance Analyser.
-
Breakpoints agganciato al contenuto del dato (alla max. velocità
di emulazione).
Sostituzione
del POD del microprocessore e passaggio 8-16 bit
L'utente che acquista un emulatore universale DENEB può lavorare
con diversi µP a seconda del progetto da realizzare non più
cambiando completamente l'intera macchina, ma soltanto sostituendo solo
il POD nella piccola scatola esterna.
-
Per passare da un microprocessore ad un altro è sufficiente sostituire
il pod esterno di emulazione e caricare nella ram dell'emulatore il file
monitor che gestisce il nuovo µP (questa operazione viene effettuata
automaticamente dalla user interface quando l'emulatore esegue il bootstrap).
Adapter single-chip 87x51, 68HC11 e 80552 programmer
L'eprom programmer presente all'interno dell'emulatore è in grado
di programmare, oltre che le eprom 2732-512, anche i single-chip 87C51,
8751 , 68HC11 e 80552 per mezzo di un apposito adattatore da inserire nello
zoccolo textool posto sul frontale dell'emulatore.
Firmware
DENEB per la serie P2
É stata creata dalla DENEB Elettronica linterfaccia di comunicazione
hardware/software Micro Handler. Il software è personalizzato
per ogni famiglia di microprocessori emulati dalla serie P2 in base alle
diverse caratteristiche tecniche, e permette il dialogo su seriale tra
emulatore ed un qualsiasi computer MS-DOS/WINDOWS 3.x/WINDOWS 95.
-
L'interfaccia accetta tutti i dati numerici (indirizzi, registri, dati
di memoria, ecc.) nei sistemi decimale, esadecimale,
ottale e binario. L'emulatore gestisce i simboli nel formato
IAR-SYMBOLIC. Il simbolo può essere digitato sia con lettera
maiuscola che minuscola. Un simbolo digitato con lettere
maiuscole è considerato diverso da quello con lettere minuscole.
-
Un singolo carattere deve essere contenuto tra apici ( ).
-
Un array deve essere contenuto tra parentesi graffe { }, ogni singolo
elemento può essere un valore numerico, un singolo carattere e/o
una funzione algebrica e ogni elemento deve essere separato da virgola
(es: {5,100h,c,563+4h}).
-
In ogni campo di input, è possibile specificare i valori o in formato
numerico o sotto forma di funzione algebrica (operatori: + - * /)
utilizzando anche i simboli del programma C caricato in memoria.
-
Per spostarsi velocemente allinterno dellarea di CPU è possibile
utilizzare il mouse. Effettuando il doppio click su un indirizzo
o su un registro, si aprirà la finestra di input in cui inserire
il dato.
-
Con il tasto destro del mouse è possibile aprire un menù
contestuale nelle aree di dump, trace e breakpoints in cui sono contenute
funzioni speciali che verranno descritte in seguito nelle relative sezioni.
La
scheda Trace
Il trace è una scheda inserita nell'emulatore, che registra al
suo interno i vari eventi del microprocessore e i livelli logici presenti
su una serie di sondine esterne. Tale scheda cattura il dato (frame)
ad ogni clock ben stabilito e lo inserisce in un buffer interno per poterlo
poi analizzare. Il dato catturato è largo 64 bit così
distribuiti:
-
16 bit per il data bus.
-
24 bit per l'address bus.
-
16 bit per i segnali di controllo.
-
8 sondine esterne.
I primi tre gruppi di bit vengono prelevati dal probe mentre le 8 sondine
vengono lette da un connettore esterno (CON1). Ad ogni fronte di clock
(interno o esterno) la parola di 64 bit viene memorizzata in 8 chip
di ram statica 32Kx8, viene quindi incrementato il contatore
buffer trace e si è pronti per una nuova acquisizione..
Il clock di acquisizione della scheda trace può essere
interno o esterno:
-
se interno può essere qualificato sui segnali di controllo del µP
mediante il comando "Setup of trace..." e il fronte di acquisizione è
quello di salita visto che in esso gli indirizzi sono già stabili;
-
se esterno si può scegliere o il fronte di salita, mettendo il clock
nella clips denominata CLKEXTV del CON1, o di discesa mettendolo nella
clips denominata CLKEXTD dello stesso CON1.
Lunica condizione da rispettare è che il tempo tra un fronte e
un altro deve essere maggiore di 100ns.
Rispetto agli altri emulatori, il Trace della DENEB acquisisce frame
non solo con il comando "Go" ma anche con il comando "Trace
into". Ad ogni emulazione, inoltre, il contatore ram non viene azzerato,
avendo così la possibilità di mantenere tutti i dati catturati
precedentemente.
Una volta effettuata la registrazione si può visualizzare i dati
aprendo la finestra Trace del menu View.
L'acquisizione dei dati da parte del trace, avrà inizio nel
momento stesso in cui il micro eseguirà la prima istruzione; tutte
le operazioni che intercorrono dall'inizio dell'emulazione al primo breakpoint,
sono registrate come eventi di Pre Trigger (First frame).
Quando s'incontra il breakpoint (ovvero il trigger del trace, che può
essere interno o esterno) il trace attiva un contatore e continua a registrare
tutte le successive operazioni del µP per un numero di cicli di clock
(interno o esterno) pari all'impostazione del trace counter; tali operazioni
sono registrate come eventi di Post Trigger (Last frame).
Quando il contatore si è scaricato completamente, l'emulatore si
ferma e il trace termina l'acquisizione.
Descrizione di tutti i PODs disponibili
|