1

Linuxを搭載した組み込みデバイス。一般的に、MTDデバイスファイルサブシステムは、フラッシュメモリと対話するために使用されます。内蔵デバイスでのメモリの操作

このようなデバイスで管理しているメモリについては、いくつか質問があります。デバイスのメモリマップの指定はできません。 埋め込みデバイスのメモリにアクセスする方法はほとんどありません。たとえば、デバッグ時にメモリアドレスに直接値を書き込む場合や、物理アドレスでコマンドを使用して読み込む場合など、メモリアドレスへの直接呼び出しです。

show <hex address> <number of words to display> 

このコマンドは、デバイスのNVRAM NORフラッシュメモリまたはRAMメモリへのアクセスを実行しますか? このプロセスを逆にすることは可能ですか?つまり、特定の設定が「存続する」メモリアドレスを見つけることはできますか?特定の値を知っていると仮定すると、その値がどこかに格納されていることがわかっているのはメモリです。アドレスを見つけることは今まで可能ですか?

+0

明確ではありません。あなたはどこで読書をしたいですか?カーネルレベルまたはアプリケーションレベル? – LPs

+0

@LPs端末セッションから、レジスタ(MACレジスタ、PHYレジスタ)へのデータの読み込みと書き込みが可能なため、OSIレイヤ1です。 – sonex

答えて

1

このコマンドは、NVRAM NORフラッシュメモリまたは デバイスのRAMメモリへのアクセスを実行しますか?

はい、このコマンドは、両方のタイプのメモリ、および通常はOSメモリマップ(PCIデバイスメモリ)にリストされている他のすべてのメモリで機能します。

このプロセスを逆にすることができます。つまり、メモリアドレス が特定の設定を「生存」していることを確認できますか?我々は特定の値を知っていると仮定して、 と値がどこかに記憶されていることを知っています。住所を見つけることができるのはいつでも ですか?

あなたは、コンパイルのコントロールを持っている場合は、[はい、あなたがバイナリを分解することができobjdumpnmのようなツールがあります。デプロイされたシステムしかない場合は、リバースエンジニアリングを調べる必要があります。

+0

明確ではない:ドライブのmtdblock(nvram)をドライブに保存して、ターゲットオブジェクトが配置されているメモリアドレスが見つかりました。実行中のシステムでこのメモリアドレスを呼び出すと、ターゲットオブジェクトが返されます。つまり、_static_ mtdblock上のオブジェクトのメモリアドレスが、live _running_システムのメモリアドレスと一致しますか?静的ファイルと実行中のシステム上のメモリアドレスが一致する必要がありますか? – sonex

+0

@sonex:実行可能ファイルのセクションとリンカーの設定方法によって異なります。参照:http://www.linuxjournal.com/article/6463?page=0,0 –

関連する問題