Если бы использование симулятора не было вариантом, я бы попытался обернуть функции Linux в интерфейсы, которые, по возможности, соответствуют интерфейсам встроенной системы. Таким образом, любая дополнительная масса в системе будет в системе разработки Linux (которая не ограничена в ресурсах). Различные встроенные ОС и стеки TCP / IP могут иметь совершенно разную архитектуру, поэтому насколько легко это может варьироваться от почти невозможного до вообще без работы.
Если окажется, что написание библиотек-оболочек для того, чтобы Linux выглядел как встроенная система, было слишком сложным, тогда я предлагаю хотя бы попытаться помнить о встроенной ОС при написании версии для Linux, чтобы вы могли попытаться хотя бы написать некоторые функции, чтобы они работали в обеих системах.
Если написание Linux-версии хотя бы части кода не займет слишком много времени, это поможет вам, по крайней мере, устранить некоторые недостатки в общем дизайне. Самое большее, это позволит вам быстрее тестировать изменения в системе, поскольку загрузка кода на встроенное устройство часто занимает больше времени, чем вы хотели бы. Это также может быть проще для отладки на компьютере разработчика.
Некоторые встроенные ОС будут работать на x86, и меня не удивит, если у некоторых из них будут драйверы, позволяющие запускать их на виртуальных машинах, так что это может быть и вариант.
Еще одна вещь, которую следует учитывать, - это порядковый номер и размер слова машины разработки в сравнении со встроенной системой. Если они различаются, вы должны помнить об этом при кодировании. На мой взгляд, правильно подобрать вещи, когда вы изначально пишете код, проще, чем возвращаться и пытаться исправить код.