%20%D0%BD%D0%B0%20%D1%81%D0%BE%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D0%BE%D0%B9%20%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%B8%20%D0%B2%D1%81%D1%82%D1%80%D0%B0%D0%B8%D0%B2%D0%B0%D0%B5%D0%BC%D0%BE%D0%B3%D0%BE%20Linux%3F.png)
Мы разрабатываем встраиваемый продукт с использованием Yocto Linux на архитектуре ARM, STM32 от ST.
В текущем выпуске мы намерены повторно использовать, как можно быстрее и грубее, код, изначально написанный для более старого продукта на базе микропроцессора 68376 (включая Toucan для связи по шине CAN), на специальной плате.
Есть ли способ запустить старый двоичный файл 68376 «как есть» насколько это возможно, используя какой-нибудь программный эмулятор/программное обеспечение виртуальной машины? (Я имею в виду под «эмулятором» программный эмулятор, например, аналогичный тем, что используются в старых игровых консолях, или виртуальную машину, а не внутрисхемный эмулятор.)
Двоичный код 60376
- не будет иметь графического интерфейса
- придется взаимодействовать с другим процессом Linux через последовательные порты (т.е. последовательные порты на стороне 60376, эмулированные, в идеале реализованные как сокеты или что-то подобное для стороны ОС)
- придется взаимодействовать через CAN шину с другими физическими (не эмулируемыми) продуктами (т.е. на новой пользовательской плате будет настоящий CAN чип, и оригинальный код Toucan должен будет работать, каким-то образом получая доступ к настоящему CAN чипу)
- доступ к сохраняемой оперативной памяти
Мы можем модифицировать и перекомпилировать код 68376, но мы хотели бы делать это как можно реже.