Domanda

Sto usando UCSIM per fare un test unitario sui progetti SDCC.

In UCSIM / S51, è possibile simulare il traffico della linea seriale di

s51 -s /dev/tty PROGRAM.ihx
.

o

s51 -S in=testdata.in,out=testdata.out PROGRAM.ihx
.

Nel corso di quest'ultimo modulo, i dati vengono immediatamente inviati al simulatore che provoca molti fotogrammi sono persi.Quindi, invece di dati i dati del test in file semplice, utilizzando il tubo invece:

s51 -S in=<(cat testdata.in),out=testdata.out PROGRAM.ihx
.

Ora, come posso controllare il baud di output dall'utilità del `Cat"?O c'è un'altra utilità che posso usare per produrre bit in una tariffa specifica?

È stato utile?

Soluzione

Risposta 1 non è corretto.Nessuno "alimenta" il contenuto del file alla linea seriale.UCSIM legge dal file quando è necessario.La velocità di trasmissione è controllata da SFR di Timer e UART.Quando è simulato il conteggio necessario delle zecche, un byte verrà letto dal file.

Altri suggerimenti

La velocità che si nutre del file in= non è come è impostato la velocità.Il simulatore non ha modo di sapere quando la tua applicazione ha inizializzato la porta seriale ed è pronta a leggere.Probabilmente ti mancano i dati perché il simulatore alimenta la porta seriale simulata prima che il codice di inizializzazione seriale abbia eseguito.

Cosa devi fare è impostare un file FIFO con mkfifo (consultare la pagina Man), quindi utilizzare come il tuo parametro in=.Quindi alimenta il file FIFO con i dati dopo che l'applicazione simulata è attiva e in esecuzione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top