2013-01-08 5 views
5

Ich möchte einige Ideen über die Lösung des folgenden Problems sammeln. Ich habe eine TOF-Kamera und ihren Treiber für Linux x86/64. Es funktioniert gut. Aber die Kamera würde tatsächlich auf einem ARM-basierten Embedded-Gerät verwendet werden, wenn das möglich ist.Gibt es eine Möglichkeit, Binärdateien von X86 zu ARM unter Linux neu zu kompilieren?

Fragen:

  • sollte ich die Treiber-Binärdateien dekompilieren und mit ARM Compiler neu kompilieren? Gibt es ein verfügbares Decompiler-Tool?
  • Gibt es einen ARM >> x86 Emulator, der verfügbar ist?
  • andere Ideen?

ps: die reine Quelle ist sehr teuer, so dass ich es nicht mag sowieso kaufen :)

+0

Der Titel Ihrer Frage kann effektiv gelesen werden als "Kann ich x86-Binärdateien auf einem ARM-Gerät ausführen?" und antworte darauf "nein". Sie können den Treiber zurückentwickeln, das war's. – auselen

Antwort

1
  1. AFAIK, ab heute gibt es keine solche Decompiler, die übersetzbaren Code von Maschine generieren Code. Sie müssen den generierten Code manuell reparieren (normalerweise eine Menge Fixes). Sie können this Frage für Linux-Decompiler überprüfen.
  2. Überprüfen Sie QEmu. Die zugrunde liegende Architektur ist nicht relevant, solange Sie sie ausführen können;)
  3. Es gibt nicht viel außer dem, was Sie angegeben haben.

Was Sie versuchen, ist (teilweise) reverse engineering. RE ist ein komplexer Prozess und erfordert großes Wissen in der Sache Sie versuchen, umzukehren; in deinem Fall Kameratreiber. Wenn Sie Kenntnisse in diesem Bereich haben, gehen Sie voran. Wenn Sie nicht, würde ich nicht meine Zeit darauf verschwenden (oder das Wissen zuerst;))

0

Wenn Ihr Treiber ein Kernel-Objekt ist, gibt es (meines Wissens) keinen Emulator, der x86-Kernel-Code im ARM-Kernel ausführen kann. Wenn Ihr "Treiber" tatsächlich eine Userspace-Bibliothek ist, die über einen generischen Treiber (v4l2 usw.) gehackt wurde, haben Sie möglicherweise Glück mit QEMU oder Exagear, die hier erwähnt werden. Als Randnotiz erhalten Sie wahrscheinlich auch eine x86-Anwendungssoftware, da das Aufrufen einer x86-Bibliothek aus ARM-Code von QEMU oder Exagear nicht ohne weiteres unterstützt wird.

Verwandte Themen