Есть два метода, которые вы можете использовать для доступа к вашему устройству ввода-вывода из RTP.
Подсистема ввода / вывода (предпочтительно)
Вы по сути создаете небольшой драйвер устройства. Этот драйвер может быть интегрирован в подсистему ввода-вывода VxWorks. После интеграции драйвер становится доступным для RTP, просто используя стандартные операции ввода-вывода: открытие, закрытие, чтение, запись, ioctl.
Обратите внимание, что «создание драйвера устройства» не должно быть сложным. Это может быть так же просто, как просто определить оболочку для функции ioctl. См. IoLib для более подробной информации.
Карта памяти напрямую (не рекомендуется)
Вы можете создать область общей памяти с помощью вызова sdOpen. При создании общей памяти вы можете указать, каким должен быть физический адрес. Укажите адрес, который будет отображаться в области ввода-вывода вашего устройства, и вы сможете напрямую обращаться к устройству.
Проблема в том, что область разделяемой памяти является открытым объектом, доступным для любого пространства, и использование прямого доступа к оборудованию противоречит философии RTP.