8
votes

Y a-t-il un moyen de recompiler les fichiers binaires de X86 à bras sur Linux?

J'aimerais collecter des idées sur la solution du problème suivant. J'ai une caméra TOF et son pilote pour Linux X86 / 64. Ça fonctionne bien. Mais en effet, la caméra serait utilisée sur un appareil intégré à base de bras si cela est possible.

questions:

  • devrais-je avoir à décompiler les fichiers binaires du conducteur et recompiler avec le compilateur de bras? Y a-t-il un outil de décompiler disponible?
  • Y a-t-il un bras >> x86 émulateur disponible?
  • Toutes les autres idées?

    PS: la source pure coûte très cher, donc je n'aime pas l'acheter de toute façon :)


1 commentaires

Le titre de votre question peut effectivement être lu comme "puis-je exécuter x86 binaires sur un appareil à bras?" et réponse à cela est "non". Vous pouvez ingénierie ingénieur du conducteur, c'est tout.


4 Réponses :


3
votes
  1. Afaik, à compter d'aujourd'hui, il n'y a pas de tel décompiler qui générera un code compilable du code de la machine. Vous devrez résoudre manuellement (généralement beaucoup de corrections) le code généré. Vous pouvez vérifier Cette Question pour les décompileurs Linux.
  2. Vérifiez QEMU . L'architecture sous-jacente n'est pas pertinente tant que vous pouvez l'exécuter;)
  3. Il n'y a pas grand chose à part ce que vous avez déclaré.

    Qu'est-ce que vous essayez est (en partie) ingénierie inverse . Re est un processus complexe et nécessite une bonne connaissance dans la chose que vous essayez d'inverser; dans vos pilotes de caméra de cas. Si vous avez des connaissances dans ce domaine, allez-y. Si vous ne le faites pas, je ne perdrais pas mon temps dessus (ou n'abandonnerais pas les connaissances en premier;))


0 commentaires

0
votes

Voir la réponse suivante pour plus de détails. Il énumère certains des problèmes que vous pourriez rencontrer pour tenter d'automatiser une telle traduction:

Convertir le fichier d'objet vers une autre architecture


0 commentaires

0
votes

récemment créé Eltechs Exogear Server , disponible sur bras comme service , fonctionne X86 applications sur les appareils de bras.

C'est nouveau et exclusif, mais il existe.


0 commentaires

0
votes

Si votre pilote est un objet de noyau, il n'y a pas d'émulateur (à ma connaissance) capable d'exécuter X86 Code de noyau à l'intérieur du noyau de bras. Si votre «pilote» est en fait une bibliothèque d'utilisateurs piratée au-dessus d'un pilote générique (V4L2, etc.), vous pouvez avoir de la chance avec QEMU ou EXAGEAR mentionné ici. En tant que note latérale, vous vous retrouverez probablement avec un logiciel d'application X86, car appelant une bibliothèque X86 du code ARM n'est pas pris en charge par QEMU ou EXAGEAR hors de la boîte.


0 commentaires