我正在尝试这个 Rust,但代码有段错误:
unsafe {
const PERIPH_BASE: u32 = 0xFE000000;
const GPIO_BASE: u32 = PERIPH_BASE + 0x00200000;
// Turn on pin GPIO 24
ptr::write_volatile(GPIO_BASE as *mut u32, 1 << 24);
}
我怀疑这是由于使用了错误的地址。我发现的关于该主题的唯一信息是 RP 论坛帖子。我在 RP4 数据表中找不到信息,也找不到 Broadcom 芯片组的手册。
我在 Raspberry Pi SBC 上的 Raspian 上运行此代码。我试图概括代码,以便以后更容易移植到真正的嵌入式,因此我避免使用库。
我查看了 rppal 和 embedded-hal,但很惊讶没有找到解决方案。我查看了gpio
模块代码中的每个文件。mem.rs 和 ioctl.rs 看起来最接近,但我一直找不到它。