GoGPT Best VPN GoSearch

Favicon di OnWorks

ao-dbg - Online nel cloud

Esegui ao-dbg nel provider di hosting gratuito OnWorks su Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

Questo è il comando ao-dbg che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

PROGRAMMA:

NOME


ao-dbg - debugger esadecimale per processori cc1111

SINOSSI


ao-dbg [-T tipo di CPU] [-X frequenza] [-c] [-r ascolta-porta] [-Z ascolta-porta] [-s] [-S] [-p
pronto] [-V] [-v] [-H] [-h] [-m] [-T tty-dispositivo] [--tty tty-dispositivo] [-D altos-dispositivo]
[--dispositivo altos-dispositivo]

DESCRIZIONE


ao-dbg si collega a un processore cc1111 tramite una scheda cc1111 adatta o un cp2103
scheda convertitore da USB a seriale, utilizzando i pin GPIO disponibili su quel chip. Fornisce un
interfaccia compatibile con l'emulatore 8051 di sdcc denominato s51, ma comunicante con
il chip reale invece di un'emulazione. Utilizzando una versione modificata del debugger SDCC
(sdcdb), è possibile controllare l'esecuzione del programma sulla macchina di destinazione a livello di origine.

VERSIONI


Le opzioni della riga di comando sono progettate per essere compatibili con l'emulatore 8051 in modo che
possono essere utilizzati con sdcdb. In quanto tali, sono tutti lunghi una lettera.

-t tipo di CPU
L'emulatore 8051 può funzionare come uno dei diversi chip. Stranamente, il vero
l'hardware non può, quindi questa opzione viene ignorata.

-X frequenza
Allo stesso modo, l'emulatore può fingere di funzionare a una frequenza arbitraria che la reale
che l'hardware non può fare. Ignorato.

-c

-s

-S

-v

-V Tutti ignorati.

-r ascolta-porta, -Z ascolta-porta
L'emulatore e sdcdb comunicano tramite un socket di rete. Questa opzione commuta
il debugger dalla comunicazione tramite stdin/stdout all'ascolto su uno specifico
porta di rete invece. Una volta stabilita la connessione, il debugger continua, utilizzando
quella porta di rete per l'input e l'output dei comandi. Il debugger utilizza la porta 9756 e
tenta di connettersi prima di avviare ao-dbg, quindi se ao-dbg è in ascolto su questa porta
prima che sdcdb venga avviato, sdcdb finirà per comunicare con l'istanza ao-dbg esistente.
Spesso è utile per il debug di ao-dbg stesso.

-p pronto
Imposta il prompt dei comandi sulla stringa specificata.

-P Imposta il prompt dei comandi su un singolo carattere NUL. È destinato all'uso da parte di sdcdb.

-h Dovrebbe stampare un messaggio di utilizzo, ma al momento non ha alcuna utilità.

-m Questa opzione non è presente nell'emulatore 8051 originale e causa il dump di ao-dbg
tutti i comandi e le risposte ricevuti e inviati a sdcdb.

-T tty-dispositivo | --tty tty-dispositivo
Questo seleziona quale dispositivo tty il debugger utilizza per comunicare con il target
dispositivo. Il nome speciale 'BITBANG' indica ao-dbg di utilizzare la connessione cp2103,
altrimenti questa dovrebbe essere una porta seriale USB collegata a un debug cc1111 adatto
nodo.

-D AltOS-dispositivo | --device AltOS-device
Cerca un dispositivo connesso. Ciò richiede un argomento di uno dei seguenti
le forme:

Telemetro: 2
Telemetro
2

Tralasciando il nome del prodotto, lo strumento selezionerà un prodotto adatto,
tralasciare il numero di serie farà sì che lo strumento corrisponda a uno dei disponibili
dispositivi.

COMANDI


Una volta avviato, ao-dbg si connette al cc1111 e quindi legge ed esegue i comandi,
da stdin o dalla connessione di rete a sdcdb.

A differenza della riga di comando, ao-dbg contiene una guida integrata per ciascuno di questi comandi, tramite
comando 'help'. La maggior parte dei comandi è disponibile in una forma lunga e composta da un singolo carattere
forma abbreviata. Di seguito, la forma abbreviata segue quella lunga dopo una virgola.

aiuto, ? {comando}
Senza argomenti, stampa un elenco dei comandi disponibili. Con un argomento stampa
maggiori dettagli sul comando specifico

smettere, q
Termina l'applicazione senza modificare lo stato del processore di destinazione.

di [inizio] [fine]
Esegue il dump di imem (256 byte di memoria "interna") dall'inizio alla fine (inclusa).

ds [inizio] [fine]
Scarica gli sprs dall'inizio alla fine (inclusi). Nota che mentre la maggior parte degli sprs sono visibili in
lo spazio di indirizzamento globale, alcuni non lo sono, quindi usa questo comando invece di "dx" per leggere
Loro.

dx [inizio] [fine]
Scarica la memoria esterna (globale) dall'inizio alla fine (inclusa).

impostare, t [inizio] {dati ...}
Memorizza nello spazio di memoria specificato dal prefisso, dove il prefisso è uno tra "xram", "rom",
"iram" o "sfr". Memorizza i byte a partire da start.

discarica, d [inizio] [fine]
Scarica dallo spazio di memoria specificato dal prefisso, dove il prefisso è uno di "xram",
"rom", "iram" o "sfr". Scarica dall'inizio alla fine (inclusa).

file [nome file]
Specifica un file esadecimale in formato Intel (ihx) che contiene il contenuto dell'area rom
caricato nel cc1111. Viene utilizzato per rispondere alle richieste di dump della memoria rom
contenuti senza ottenerli dal cc1111 (che è lento).

pc, p {indirizzo}
Se viene fornito l'argomento indirizzo, questo imposta il contatore del programma sul valore specificato
valore. In caso contrario, viene visualizzato il valore corrente del contatore del programma.

pausa, b [indirizzo]
Imposta un punto di interruzione all'indirizzo specificato. Utilizza l'hardware integrato
supporto breakpoint nel cc1111. Di conseguenza, non supporta più di quattro
punti di interruzione contemporaneamente. È quindi necessario utilizzare una versione modificata di sdcdb che
modifica il modo in cui l'esecuzione del programma viene controllata per funzionare entro questo limite.

chiaro, c [indirizzo]
Cancella un punto di interruzione dall'indirizzo specificato.

corri, r, vai, g {inizio} {arresto}
Riprende l'esecuzione del programma. Se l'argomento start è presente, allora inizia
a quell'indirizzo, altrimenti continua a funzionare sul pc corrente. Se un arresto
argomento è presente, allora un punto di interruzione temporaneo viene impostato a quell'indirizzo. Questo
il punto di interruzione temporaneo verrà rimosso quando l'esecuzione lo raggiunge.

successivo, n
Istruzione del primo passo. Nel programma s51 originale questo ignorerebbe le subroutine,
ma poiché sdcdb non richiede questa funzionalità, questa non è disponibile qui.

passo, s
Istruzioni per il primo passo.

caricare, l [nome file]
Questa funzione non è implementata, ma dovrebbe caricare un file esadecimale nella flash. Utilizzare
al suo posto il programma ccload.

fermarsi, h
Arresta il processore. Questo è l'unico comando che può essere inviato mentre il programma è in esecuzione.
in esecuzione. In altri momenti viene ignorato.

ripristinare, res
Reimposta il processore. Questo abbassa il pin di reset e riattiva la modalità debug. Controlla
la documentazione cc1111 per vedere esattamente a cosa serve.

stato Questo esegue il dump del registro di stato di debug cc1111.

informazioni, i punti di interruzione, b
Elenca i punti di interruzione correnti.

informazioni, aiuto, ?
Elenca le cose su cui puoi ottenere informazioni.

stop Questo non fa nulla ed è presente solo per mantenere la compatibilità con
emulatore 8051 originale.

Board Aziendale MENZIONARE DEBUG


Mentre lo scopo originale di questo programma era quello di collegare il debugger sorgente con il
hardware, può anche essere utilizzato come un debugger esadecimale di basso livello da solo. In particolare,
tutte le periferiche cc1111 possono essere manipolate direttamente dalla riga di comando ao-dbg.

Avvio di ao-dbg
Per prima cosa assicurati che il dispositivo di destinazione cc1111 e la scheda intermedia cp2103 o cc111
siano tutti collegati correttamente.

$ ao-dbg
Benvenuti al processore non simulato
> stato
CPU arrestata
Interrotto dal comando di debug
>

Accensione dei LED
Due dei pin GPIO cc1111, P1_0 e P1_1, sono in grado di pilotare LED esterni. Per
controllarli, impostare i bit di direzione della porta 1 per creare questi pin di uscita e quindi
modificare i dati della Porta 1 per impostarli alti o bassi:

> imposta sfr 0xfe 0x02 # imposta P1DIR su 0x2
> imposta sfr 0x90 0x02 # imposta P1_1 su alto
> imposta sfr 0x90 0x00 # imposta P1_1 su basso

Lettura dei convertitori A/D
Ciascuno dei sei ingressi del convertitore A/D può essere collegato a uno qualsiasi dei pin P0, terra,
il riferimento di tensione A/D, un sensore di temperatura interno o VDD/3. Per leggere uno di
questi valori, selezionare un convertitore A/D da utilizzare, quindi avviare il processo di conversione.
Il manuale cc1111 riporta la tabella per la selezione dell'input a pagina 144.

Per configurare uno dei pin P0 per l'utilizzo da parte dell'unità A/D, programmiamo l'ADCCFG
registro, impostando i bit che corrispondono ai pin desiderati:

> set sfr 0xf2 0x3f # abilita tutti i 6 ingressi A/D

Per innescare una singola conversione, chiediamo all'unità A/D di eseguire un'operazione 'extra'
conversione, che significa fare una singola conversione non un'intera sequenza di
conversioni. Questo è controllato dal registro ADCCON3 a 0xB6:

> set sfr 0xb6 0xb2 # campiona P0_2 usando 12 bit di precisione
> ds 0xba 0xbb # scarica i dati ADC di bassa e alta registrazione
> set sfr 0xb6 0xbe # campione sensore di temperatura interna
> ds 0xba 0xbb # scarica i dati ADC di bassa e alta registrazione

Utilizzare ao-dbg online utilizzando i servizi onworks.net


Server e workstation gratuiti

Scarica app per Windows e Linux

Comandi Linux

Ad




×
Cookie per pubblicità
❤️Fai acquisti, prenota o acquista qui: nessun costo, aiuta a mantenere i servizi gratuiti.