2013-01-08 6 views
5

私は次の問題の解決策についていくつかのアイデアを集めたいと思います。 私はTOFカメラとlinux x86/64用のドライバを持っています。それはうまく動作します。しかし、実際にはカメラがARMベースの組み込み機器に使用される可能性があります。linux上でx86から​​ARMにバイナリを再コンパイルする方法はありますか?

質問:

  • 私はドライバのバイナリを逆コンパイルし、ARMコンパイラで再コンパイルする必要がありますか?利用可能なデコンパイラツールはありますか?
  • ARM >> x86エミュレータはありますか?
  • 他のアイデアですか?

PS:純粋なソースは非常に高価であるので、私はとにかくそれを購入することが好きではありません:)

+0

質問のタイトルは、「ARMデバイスでx86バイナリを実行することはできますか?その答えは「いいえ」です。ドライバをリバースエンジニアリングすることができます。それだけです。 – auselen

答えて

1
  1. 私の知る限り、今日のように、マシンからコンパイルコードを生成します。そのような逆コンパイラはありませんコード。生成されたコードを手動で修正する必要があります(通常は多くの修正が必要です)。あなたはLinuxの逆コンパイラの質問thisを確認することができます。
  2. チェックQEmu。あなたがそれを実行することができる限り、基盤となるアーキテクチャは関係ありません;)
  3. あなたが言ったこと以外にはあまりありません。

あなたの試行は(部分的に)reverse engineeringです。 REは複雑なプロセスであり、の事柄に大きな知識が必要です。あなたは元に戻そうとしています。あなたのケースではカメラドライバ。あなたがこの分野の知識を持っているなら、先に進んでください。あなたがしなければ、私はそれに私の時間を無駄にしないだろう(または知識を最初に得る;))

0

詳細については、次の答えを参照してください。それはあなたがそのような翻訳を自動化しようとすると発生する可能性の問題のいくつかを示しています

Convert object file to another architecture

0

は最近ARM as A Serviceで利用可能Eltechs ExaGear Serverを作成し、ARMデバイス上のx86アプリケーションを実行します。

これは新しく独占ですが、存在します。

0

ドライバがカーネルオブジェクトの場合、ARMカーネル内でx86カーネルコードを実行できるエミュレータはありません。あなたの "ドライバ"が実際に汎用ドライバ(v4l2など)の上でハッキングされたユーザスペースライブラリである場合、ここで述べたQEMUまたはExagearで運がよいかもしれません。さらに、ARMコードからx86ライブラリを呼び出すことは、そのままの状態でQEMUやExagearではサポートされていないため、おそらくx86アプリケーションソフトウェアで終わることになります。

関連する問題