我正在研究beaglebone(运行angstromlinux)并尝试使用Python的mmap
模块来获得对/dev/mem
文件的读写访问权。在
但是,由于某些原因,下面的代码打印了一个值0。我对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]
退货:
^{pr2}$
因为像} 查询时报告的表观大小为0。这只是特殊设备节点的实现方式,因为询问设备节点有多大通常没有什么用处。(考虑
/dev/mem
这样的设备索引节点在被^{/dev/zero
,/dev/kbd
,/dev/urandom
,以及用于通信而不是数据存储的任何设备节点,例如表示照片扫描仪或输入设备的设备节点。)您应该仍然能够从mmap句柄检索数据。在
相关问题 更多 >
编程相关推荐