如何使用操作系统在C中读/写CPU片上外设寄存器?

时间:2015-12-17 15:27:10

标签: c operating-system

背景信息:我正在使用具有Intel Atom E3815处理器的主板(Intel NUC DE3815TYBE)。处理器有两个PWM引脚,我想用来控制风扇 - 这些引脚可通过电路板上的接头访问,但没有关于如何在软件中使用它们的文档。但是,处理器的文档详细说明了用于控制这些PWM引脚的片上寄存器 - 列出了它们的存储器地址。以下是处理器数据表中的两个快照:

enter image description here enter image description here

说我在Linux或Windows操作系统下工作。 如果我正在编写C程序并希望读/写这些I / O寄存器(位于处理器芯片内部),我该怎么做呢?

我可以像这样进行正常的C内存访问吗?

int x = *(0x00002e23)

或者这不起作用,因为这个寄存器是CPU芯片的内部而不是RAM?它说它们是"内存映射" I / O寄存器,但我不确定这是什么。我有什么特别的东西可以访问这些吗?

0 个答案:

没有答案