如果你认为这个问题结构不正确,请看它的原始版本。我被要求将这个问题简化为最小形式。
如果我正在编写Linux设备驱动程序,我如何获得对实际GPIO引脚的编程访问?例如:
// Turn a green LED on by sending the GPIO pins 0x11223344
int cmd = encode(Commands.TURN_GREEN_ON);
send_to_gpio_pins(cmd);
再说一次,如果这一点不清楚,那是因为我试图遵守社区规则,让它保持简单,愚蠢。在这种情况下,请阅读我对这个问题的第一个版本。
我正尝试在我的ARM9 (SAM9X25)上读写寄存器,按照以下步骤:
我以以下代码结束:
#include "stdio.h"
#define PIO_WPMR_BANK_D 0xFFFFFAE4 // PIO Write Protection Mode Register Bank D
#define PIO_PUER_BANK_D 0xFFFFFA64 // PIO Pull-Up Enable Register Bank D
#define PIO_PUSR_BANK_D
我是新ZedBoard。我的ZedBoard在Xilinx 2015.4上运行(devicetree.dtb、boot.bin和uImage手动编译;其他文件来自预编译系统的原始存档)。我创建了非常简单的FPGA配置,只有PS,AXI GPIO和LED。在Vivado地址中,我可以看到这一行:
Cell Slave Interface Base name Offset addr. Range High addr.
axi_gpio_0 S_AXI Reg 0x4120_0000 64K 0x4120_FFFF
我想为这个FPGA配置创建自己的内
我要和一个司机约会。有以下几种说法:
/* Get the interrupt GPIO pin number */
gpiod = devm_gpiod_get_optional(dev, GOODIX_GPIO_INT_NAME, GPIOD_IN);
我读过关于的文章,但我仍然不知道到底返回了什么?
我知道gpiod_direction_output返回一个struct gpio_desc。但是devm_gpiod_get_optional的情况似乎并非如此,因为我尝试过在每个示例中打印gpiod->label,并且得到了dereferencing pointer to incom