0

私はビーグルボーン(Angstrom Linuxを実行)に取り組んでおり、Pythonのmmapモジュールを使用してファイルへの読み取りおよび書き込みアクセスを取得しようとしてい/dev/memます。

ただし、何らかの理由で、以下のコードはゼロの値を出力します。私は mmap にかなり慣れていないので、明らかな何かが欠けているかどうかわかりません。

from mmap import mmap

mmap_offset=0x44c00000
mmap_size=0x48ffffff-mmap_offset

with open("/dev/mem", "r+b") as f:
    testMap=mmap(f.fileno(),mmap_size,offset=mmap_offset)

print testMap.size()
print testMap[0]

戻り値:

0
8
4

1 に答える 1

1

デバイス i ノードは/dev/mem、 によって照会されると見かけのサイズが 0 と報告されるためstat()です。これは単に、特別なデバイス ノードがどのように実装されるかということです。通常、デバイス ノードにその大きさを尋ねることは役に立たないからです。/dev/zero( 、 、 、およびフォト スキャナや入力デバイスを表すデバイス ノードなど、データ ストレージではなく通信に使用されるデバイス ノードを検討し/dev/kbd/dev/urandomください。)

mmap ハンドルからデータを取得できるはずです。

于 2013-05-08T16:33:21.497 に答える