如何使用C / C ++获得对特定内存地址的R / W访问权限

时间:2012-09-27 18:13:46

标签: c++ c gpio

所以考虑如何制作我自己的硬件/驱动程序我正在使用GPIO,我知道GPIO实际上在所有硬件的特定范围内使用特定的存储体,但我将如何阅读和编写它们这些记忆库?

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

P.S 我正在使用Raspberry Pi。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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