我有一块 Jetway NF81-T56 主板,它有一个提供 8 条 I/O 线的接头,标有 GPIO30-GPIO37。我的 CentOS6 安装中没有 GPIO 驱动程序,我正在尝试编写驱动程序。Fintek F71869 Super IO 芯片提供 GPIO 和其他 I/O 功能。我可以通过 0x2e/0x2f 端口访问和修改 GPIO3 寄存器,但无法使用 F71869 GPIO 寄存器中设置的 GPIO BASE_ADDR 访问数据端口。我已经阅读了这些寄存器,并且 GPIO BASE_ADDR 设置为 0x0a00。该芯片的手册页指出:
索引端口为 BASE_ADDR[15:2] + 5,数据端口为 BASE_ADDR[15:2] + 6
我已将数据端口设置为 0x0f(由连接的 LED 显示)并尝试读取端口 0x0a00-0x0a7f。全部返回 0xff,而不是 0x0f。有谁知道如何解释“BASE_ADDR[15:2]”符号语法?我曾尝试在互联网上搜索并尝试联系制造商,但无济于事。