Pregunta

Estoy usando uCsim para realizar pruebas unitarias en proyectos SDCC.

En uCsim/S51, puede simular el tráfico de línea serie mediante

s51 -s /dev/tty PROGRAM.ihx

o

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

En esta última forma, los datos se envían inmediatamente al simulador, lo que provoca que se pierdan muchas tramas.Entonces, en lugar de proporcionar los datos de prueba en un archivo simple, use pipe en su lugar:

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

Ahora, ¿cómo puedo controlar los baudios de salida desde la utilidad 'cat'?¿O hay otra utilidad que pueda utilizar para generar bits a una velocidad específica?

¿Fue útil?

Solución

La respuesta 1 es incorrecta.Nadie "alimenta el contenido del archivo" a la línea en serie.UCSIM lee desde el archivo cuando es necesario.La tasa de baudios es controlada por SFRS de Temporizador y UART.Cuando se simulan el recuento necesario de garrapatas, se leerá un byte del archivo.

Otros consejos

La velocidad con la que alimenta el archivo in= no es la forma en que se establece la velocidad.El simulador no tiene forma de saber cuándo su aplicación ha inicializado el puerto serie y está lista para leer.Probablemente le falten datos porque el simulador alimenta el puerto serie simulado antes de que se haya ejecutado el código de inicialización serie.

Lo que hay que hacer es configurar un archivo quince con mkfifo (consulte la página de manual) luego utilícelo como su parámetro in=.Luego, alimente ese archivo quince con datos después de que su aplicación simulada esté en funcionamiento.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top