【问题标题】:Working with GPIO on bcm2836在 bcm2836 上使用 GPIO
【发布时间】:2016-06-19 06:56:48
【问题描述】:

我正在为我的 RPI2 操作系统编写一个 GPIO 驱动程序。我在网上冲浪了很长时间,但我只找到了 linux 数据。我应该如何做这样的功能

void gpio_set(int pin);
void gpio_clr(int pin);

在 C 中用于驱动程序。或者,也许它可以通过内联汇编来完成?

【问题讨论】:

    标签: c arm raspberry-pi inline-assembly gpio


    【解决方案1】:

    正如here解释的那样

    BCM2836 中的底层架构与 BCM2835 相同。唯一显着的区别是移除了 ARM1176JZF-S 处理器并替换为四核 Cortex-A7 集群。

    BCM2836 的可用文档没有详细说明外设硬件,只有 A7。相反,您需要BCM2835 的文档。 peripheral specification 第 6 节处理 GPIO。寄存器是内存映射的,因此您可以在 C 中直接写入它们。

    【讨论】:

    • 非常感谢您!
    【解决方案2】:

    在 C 中实现非常简单。请记住,外围地址 RPi2 是 0x3F000000 而不是 0x20000000 (RPi)。可用的文档适用于 RPi (BCM2835),但也适用于 RPi2 以及一些内存地址更改和处理器更改 (Cortex-A7)。如需快速跳转,您可以查看valver's blog 进行裸机开发。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-09-01
      • 1970-01-01
      • 2011-05-30
      • 2023-04-04
      • 2021-09-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多