Как имитировать последовательный порт встроенной платы в системе Zephyr-RTOS при компиляции для «эмуляции» на хосте Linu ⇐ Linux
-
Anonymous
Как имитировать последовательный порт встроенной платы в системе Zephyr-RTOS при компиляции для «эмуляции» на хосте Linu
У меня есть встроенная система с Zephyr-RTOS, которая использует последовательный порт в качестве основного интерфейса с внешним миром. «Мир» в этом случае включает в себя облачные серверы (или их локально размещенные тестовые экземпляры), некоторые промежуточные прокси-серверы с бегущими парами ключей EC и т. д. Встроенное устройство имеет нетривиальную бизнес-логику.
Важными требованиями являются виртуальная разработка, интеграционное тестирование и CI. Перед портированием встроенного проекта на Zephyr-RTOS практика заключалась в замене всех внешних операций ввода-вывода встроенной системы (например, ввода-вывода последовательного драйвера) приближениями на основе TCP, чтобы можно было скомпилировать и собрать аналог «встроенной» системы. запускать под X-Code или в образе докера Linux для разработки и тестирования бизнес-логики, а также для CI.
Есть ли в Zephyr лучший способ «портировать/эмулировать/обрабатывать» физический последовательный порт встроенного устройства как «канал», созданный для хоста Linux для тестирования. Мне бы хотелось что-то, что дало бы мне пару виртуальных последовательных портов, соединенных друг с другом, как канал BSD. Это позволило бы мне указать последовательный порт Linux в «дереве устройств» и тестовые драйверы Linux для подключения к парному «виртуальному последовательному порту» для связи. Большим бонусом было бы то, что установка тестового драйвера могла бы подключаться к физическому оборудованию для тестирования, просто заменив виртуальный последовательный порт на физический.
Длинный вопрос, но хотя я знаю, чего мне следует достичь, я не знаю, каково может быть название этого объекта или обычно используемые инструменты, поэтому я не знаю, как искать это. Предложения очень приветствуются!
У меня есть встроенная система с Zephyr-RTOS, которая использует последовательный порт в качестве основного интерфейса с внешним миром. «Мир» в этом случае включает в себя облачные серверы (или их локально размещенные тестовые экземпляры), некоторые промежуточные прокси-серверы с бегущими парами ключей EC и т. д. Встроенное устройство имеет нетривиальную бизнес-логику.
Важными требованиями являются виртуальная разработка, интеграционное тестирование и CI. Перед портированием встроенного проекта на Zephyr-RTOS практика заключалась в замене всех внешних операций ввода-вывода встроенной системы (например, ввода-вывода последовательного драйвера) приближениями на основе TCP, чтобы можно было скомпилировать и собрать аналог «встроенной» системы. запускать под X-Code или в образе докера Linux для разработки и тестирования бизнес-логики, а также для CI.
Есть ли в Zephyr лучший способ «портировать/эмулировать/обрабатывать» физический последовательный порт встроенного устройства как «канал», созданный для хоста Linux для тестирования. Мне бы хотелось что-то, что дало бы мне пару виртуальных последовательных портов, соединенных друг с другом, как канал BSD. Это позволило бы мне указать последовательный порт Linux в «дереве устройств» и тестовые драйверы Linux для подключения к парному «виртуальному последовательному порту» для связи. Большим бонусом было бы то, что установка тестового драйвера могла бы подключаться к физическому оборудованию для тестирования, просто заменив виртуальный последовательный порт на физический.
Длинный вопрос, но хотя я знаю, чего мне следует достичь, я не знаю, каково может быть название этого объекта или обычно используемые инструменты, поэтому я не знаю, как искать это. Предложения очень приветствуются!
Мобильная версия