組み込み ARM システムで mmap されたデバイスを制御するソフトウェアに取り組んでいますが、利用可能なデバッグ ツールと開発ツールでは不十分な状況に遭遇しました。つまり、valgrind やハイエンドのスレッド プロファイラなどのインストルメンテーション ツールは使用できません。
私がやりたいことは、x86 マシンでコードをコンパイルし、同じサイズを使用してメモリの「ダミー」セグメントを mmap し、ネットワークを介してこれらの読み取り/書き込みを組み込みマシンにプロキシし、それに応じて応答できるようにすることです。
これにはクライアント/サーバーメカニズムが必要になる可能性が高く、非常に遅くなることがわかっていますが、このオプションを使用することの利点は、x86 開発ツールを使用して計測するために、mmap インターフェイス自体 (非同期イベント処理、スレッド管理) の外部のメカニズムを利用できるようにすることです。非常に便利。
シミュレーション用の ASIC 開発でこの手法について聞いたことがありますが、この機能を提供するものを使用したことはありません。ここでの重要な点は、大量のものを書き直さなくても、またはハードウェア処理ロジックを含むカーネル モジュールを作成しなくても、両方のプラットフォームで同じコードを使用したいということです。mmap を使用して、すべてのデバイス制御ロジックをユーザーランドに保持したい