Если вы используете интерфейс Windows COM (я полагаю, вы говорите не о последовательном порту, а об общей объектной модели), возможно, ваш код должен быть абстрагирован от этого.
Когда вы говорите об IPC, то очевидно, что это кодовая база многозадачного / многозадачного типа. В таком случае вам придется каким-то образом найти способ справиться с разницей в окружающей среде.
Прежде всего, вам понадобится какая-то ОСРВ, поскольку ваше приложение является многозадачным. Когда вы сделали порт для Linux, вы можете захотеть использовать версию Linux в реальном времени. Это сведет к минимуму количество портов, которые вам придется делать.
Если вы не хотите использовать Linux в качестве встроенной платформы, сделайте ваш код POSIX-совместимым (Linux is) и убедитесь, что выбранная вами RTOS поддерживает POSIX. Таким образом, порт для Linux и встроенная платформа будут в основном одинаковыми.
Итог, COM будет вашим альбатросом.
Поскольку вы не упоминаете об использовании графического интерфейса, мы не будем обращаться к , который может содержать черви:)