Имитация цели на ПК

Я делаю проект на языке C, который запускается на целевой среде с операционной системой vxWorks. Я хотел бы запустить свой код на ПК и по двум причинам:

  • HW цели еще недоступен, и я хочу начать тестирование своего SW.
  • Даже когда цель будет готова, мне будет легче выполнять тестирование и моделирование на ПК.

Есть ли какой-нибудь интересный способ сделать это?

Спасибо.

Ответ 1

У вас есть три варианта:

  • Используйте VxWorks Simulator (vxsim) - это часть Workbench, и к ней можно получить доступ, как реальная цель
    • Плюсы:
      • Простота использования
      • Интегрировано в Workbench
      • Функциональность отладки и хороший контроль над системой.
      • Не требуется дополнительное оборудование
      • Документация (ознакомьтесь с руководством пользователя Wind River VxWorks Simulator)
    • Минусы:
      • Не настоящая целевая система (но это все точки для всех)
  • Используйте машину x86 и загрузите, например. через ftp
    • Плюсы:
      • Вы можете протестировать загрузку через сеть и сеть.
    • Минусы:
      • В системе может отсутствовать драйвер.
      • Возможно, вам нужно изменить ядро ​​
      • Отладка не так хороша, как vxsim
      • Разница с вашей целью может быть очень большой.
  • Используйте Virtual Maschine
    • Плюсы:
      • Работает на одном компьютере - никаких дополнительных аппаратных средств не требуется
      • Возможно тестирование нескольких загрузчиков
    • Минусы:
      • Невозможно смоделировать целевой процессор и т.д.
      • VM не лучший способ тестирования VxWorks

Как Арчи, я тоже рекомендую вам симулятор VxWorks.

Ответ 2

Третий способ - абстрагировать HW и ОС на отдельном уровне в вашей архитектуре приложения и предоставить как версии ПК, так и версии VxWorks этого уровня.

Это, конечно, довольно дорого, но будет иметь другие преимущества, т.е. изоляцию от нестабильности поставщика (например, когда поддержка pSos была остановлена ​​много лет назад...) Это может также подтолкнуть вас в сторону хорошей многоуровневой архитектуры.