Barra di navigazione

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 l’emulatore, è il Debugger C. Con esso è possibile debuggare qualsiasi sorgente C sviluppato dall’utente 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.
  • L’emulatore 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 l’emulazione 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 l’interfaccia 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 all’interno dell’area 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.
L’unica 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