devmem2 命令返回“奇怪”的值

devmem2 命令返回“奇怪”的值

我目前正在研究树莓派 3,阅读手册后我发现寄存器 0x​​76f09000 应该让我知道 GPIO 引脚是高还是低。

我正在使用 devmem2 命令

$devmem2 0x7e200034
/dev/mem opened 
Memory mapped at address 0x76f2f000
Value at address 0x2116026420 (0x76f2f034): 0x0

根据数据表,寄存器 0x​​76f2f000 应该是一个 32 位寄存器。我不明白在这种情况下地址的值告诉我什么,因为它返回 10 位数字(十六进制?)!!有人知道这个值是什么吗?

手臂手册链接(第 96 页):https://www.raspberrypi.org/app/uploads/2012/02/BCM2835-ARM-Peripherals.pdf

答案1

这 10 位数字就是物理地址,但转换成了十进制形式(自己尝试一下http://www.binaryhexconverter.com/hex-to-decimal-converter)。我感兴趣的信息是 0x76f2f034,这是 32 位值。您需要将其转换为二进制才能找出哪个 GPIO 引脚是高电平还是低电平(0111 0110 1111 0010 1111 0000 0011 0100)。但是,我不认为这是数据表和 Raspberry PI 上的实际 GPIO 引脚之间的直接 1 对 1 映射

相关内容