Как запустить двоичный файл MIPS на платформе x86?

Есть ли способ запустить двоичный файл MIPS на машине Linux x86/x86-x64? У меня есть несколько приложений для телевизионных приставок Enigma2 (которые также основаны на Linux), которые я хочу запустить на машине x86/x86-64. Эти плагины доступны только для процессоров MIPS.


person nuclearfallout    schedule 22.04.2017    source источник
comment
Вам нужно найти эмуляторы MIPS для Linux и запустить свои приложения внутри эмулятора.   -  person M.Mahdipour    schedule 22.04.2017
comment
Возможный дубликат Как я могу выполнять программы сборки MIPS на Linux x86?   -  person phuclv    schedule 13.04.2019


Ответы (2)


Ключевое слово: "эмулятор". Самый известный эмулятор — qemu, который может эмулировать почти любую архитектуру, но есть также множество MIPS. эмуляторы для Linux, которые можно найти в вики Linux-MIPS:

  1. Открытые виртуальные платформы (OVP) OVPsim
  2. GXemul
  3. СимОС
  4. Сулима
  5. MIPSsim
  6. МипсСим
  7. СПИМ
  8. VMIPS
  9. Виртутек Симикс
  10. ПесокUPSim
  11. MPS
  12. ЯМС
  13. МАМЭ/БЕСПЛАТНИК
  14. МИСС
  15. Симулятор Cisco 7200
  16. QEMU
  17. Виртуальные MIPS
  18. Мип
  19. МАРС
  20. QtMips

Обратите внимание, что существует полносистемная эмуляция (которая тяжелее) и эмуляция пользовательского режима, которая эмулирует один процесс. В зависимости от того, какой тип вам нужен, вы должны выбрать один, но qemu поддерживает оба

  • Полная эмуляция системы: запуск операционных систем на любом компьютере с любой поддерживаемой архитектурой.
  • Эмуляция пользовательского режима: запуск программ для другой цели Linux/BSD на любой поддерживаемой архитектуре.

Однако производительность будет ужасной, поэтому вам никогда не захочется запускать приложение, которое должно быть быстрым, как видеодекодер в телевизионной приставке. Если исходный код доступен, просто перекомпилируйте его

См. раздел Декомпилировать/запустить исполняемый файл MIPS в Ubuntu x86_64.

person phuclv    schedule 13.04.2019
comment
Некоторые из них эмулируют целую машину, на которой вы можете запустить Linux-MIPS (например, QEMU). Другие эмулируют игрушечный MIPS с некоторыми системными вызовами, которые обращаются к самому эмулятору как к простой стандартной библиотеке для чтения/записи строк и чисел в различных форматах и, возможно, к некоторым устройствам MMIO или видеопамяти (MARS, SPIM). Важно отсортировать список по разным типам эмуляторов. - person Peter Cordes; 14.04.2019
comment
Кроме того, некоторые из них являются эмуляторами (применяя правило «как если», как они хотят, например, динамическую перекомпиляцию, по крайней мере, когда вы не выполняете одношаговую работу, например, может быть QEMU), в то время как другие являются фактическими симуляторами, например. классического 5-ступенчатого RISC-конвейера. В MARS есть окно микроархитектуры, которое вы можете открыть, чтобы увидеть, как инструкции проходят этапы конвейера. - person Peter Cordes; 14.04.2019

На этот раз Кему может стать вашим Мессией. Я использую его лично, и это действительно избавляет от многих проблем с использованием FPGA. https://www.linux-mips.org/wiki/QEMU

Конечно, это не изначальное выполнение двоичного файла MIPS на вашем компьютере. Но я предполагаю, что если вы можете найти плагин вашего приложения, закодированный для процессоров MIPS, само приложение может быть найдено для MIPS.

person Kuu Aku    schedule 22.04.2017