3

組み込み ARM システムで mmap されたデバイスを制御するソフトウェアに取り組んでいますが、利用可能なデバッグ ツールと開発ツールでは不十分な状況に遭遇しました。つまり、valgrind やハイエンドのスレッド プロファイラなどのインストルメンテーション ツールは使用できません。

私がやりたいことは、x86 マシンでコードをコンパイルし、同じサイズを使用してメモリの「ダミー」セグメントを mmap し、ネットワークを介してこれらの読み取り/書き込みを組み込みマシンにプロキシし、それに応じて応答できるようにすることです。

これにはクライアント/サーバーメカニズムが必要になる可能性が高く、非常に遅くなることがわかっていますが、このオプションを使用することの利点は、x86 開発ツールを使用して計測するために、mmap インターフェイス自体 (非同期イベント処理、スレッド管理) の外部のメカニズムを利用できるようにすることです。非常に便利。

シミュレーション用の ASIC 開発でこの手法について聞いたことがありますが、この機能を提供するものを使用したことはありません。ここでの重要な点は、大量のものを書き直さなくても、またはハードウェア処理ロジックを含むカーネル モジュールを作成しなくても、両方のプラットフォームで同じコードを使用したいということです。mmap を使用して、すべてのデバイス制御ロジックをユーザーランドに保持したい

4

2 に答える 2

1

これを考えてみると、基本的にこれはリモートファイルシステムを実装するために要約されます。

  • 「最も簡単な」のは、おそらく、組み込みデバイスが単純なバージョンのNFSクライアント側とmmap、デスクトップマシン上のファイルを実現できる場合です。
  • 逆も可能です。つまり、組み込みシステムでnfsサーバーモジュールを実行し/dev/shm、nfsマウントポイントなどをデスクトップにエクスポートすることもできます。

どちらのアプローチ(を使用する他のアプローチ)でもmmap、データ同期に本当に注意する必要があります。ただし、基本的に1つのライターと1つのリーダーを使用する一般的なデバッグ設定がある限り、これは実行可能です。これがさらに複雑になる場合は、nfs拡張子として利用可能なリモートファイルロックがあります。

于 2010-09-26T12:27:02.627 に答える
0

私は過去に似たようなものを望んでいましたが、実際に実装することはできませんでした. ただし、me​​mcached のようなものを見てみたいと思うかもしれません。通常は web/db ベースのものに使用されることは知っていますが、特にデバッグ用であるため、この目的で悪用される可能性があります。

于 2011-06-09T02:17:33.443 に答える