Вопрос

Я использую UCSIM, чтобы сделать модульный тест на проекты SDCC.

в UCSIM / S51, вы можете моделировать трафик последовательной линии через

s51 -s /dev/tty PROGRAM.ihx
.

или

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

В последней форме данные немедленно отправляются на симулятор, который вызывает множество кадров, потерянных.Таким образом, вместо того, чтобы дать тестовые данные в простой файле, вместо этого используя трубу:

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

Теперь, как я могу контролировать выходные данные из утилиты `CAT?Или есть другая утилита, которую я могу использовать для вывода битов в определенной скорости?

Это было полезно?

Решение

Ответ 1 неверно.Никто не «кормит» содержимое файла в последовательную линию.UCSIM читает из файла при необходимости.Скорость бода контролируется SFR Taimer и UART.При необходимости моделируется количество клещей, один байт будет прочитан из файла.

Другие советы

Скорость, которую вы подаете файл In= не так, как скорость установлена.Симулятор не имеет способа узнать, когда ваше приложение инициализировало последовательный порт и готов к чтению.Вы, вероятно, отсутствуют данные, потому что симулятор подает симуляционный последовательный порт до того, как выполнен код последовательного инициализации.

Что нужно сделать, это настроить файл FIFO с mkfifo (см. Страницу MAN), а затем используйте это в качестве вашего параметра In=.Затем кормите, что файл FIFO с данными после того, как ваше моделируемое приложение работает и работает.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top