2

因此,考虑如何制作自己的硬件/驱动程序,我正在使用 GPIO,并且我知道 GPIO 实际上对所有硬件都使用特定范围内的特定内存库,但是我将如何将它们读取和写入这些内存银行?

USB 是否以类似的方式工作?

PS我用的是树莓派。

4

2 回答 2

1

如果您使用的是 Linux,您还可以使用Proc interfaceGPIO 进行通信。例如,如果您看到此链接,它会显示如何直接从 shell 提示符读取或写入 GPIO 引脚。

于 2012-09-27T18:33:17.907 回答
0

如果您使用的是支持 mmap() 的系统,https: //groups.google.com/forum/?fromgroups=#!topic/comp.os.linux.development.apps/2kiUc-dNa3c讨论了使用mmap()来执行此操作。总结是您的进程将打开 /dev/mem 进行读写,并将您的基本物理地址作为偏移量映射到文件中(并且您的 addr 参数是您希望使用的任何虚拟地址)。

于 2012-09-27T18:22:43.537 回答