相似的,一切外部设备都在内存中与 CPU 通讯。每个设备都有从 0x3F000000 末尾的公用内存地址,但是它不在真实的 RAM 中(称为内存映射 IO)。如今没有用于中心设备的 mailbox,而是每个设备都有其本人的协议。这些设备的共同点是:必须以 32 位为单位在 4 个字节对齐的地址(所谓的字)上读取和写入其内存,并且每个设备都有控制 / 形状和数据字(data words)。不幸的是,Broadcom(SoC 芯片的制造商)在记载产品方面很差。如今所拥有的最好的是 BCM2835 文档,这个文档就足够了。
CPU 中还有一个内存管理单元,允许创立虚拟地址空间。这可以经过特定的 CPU 寄存器停止编程,并且在将这些 MMIO 地址映射到虚拟地址空间时必须小心。
一些更幽默的 MMIO 地址是:
更多信息,请参见:https://github.com/raspberrypi
【编辑引荐】
instagram_RCE:instagram APP远程代码破绽
赋能科技时代百业开展,AIIA2020人工智能开发者大会启幕
私藏系列:你或许从未听过的20个安卓开发工具
App Store已成开发者公敌
(责任编辑:admin)