我需要访问 FPGA 分配给 PLX 芯片的内存块。现在我认为这不会有太大问题,除非我尝试使用它们时/include/linux-headers
似乎有些缺乏功能,即 USERSPACE 头文件。通常它们的功能较少,例如/include/linux/pci.h
只有 100 行左右。
我必须安装哪些包才能在我的头文件中说明,#include<pci.h>
以便它实际上指向pci.h
in/usr/src/linux-headers-3.1.x.xx
而不是 in /usr/include/linux
?
我知道有各种各样的软件包,但是坦率地说,阅读所有这些内容只会让我感到困惑,并且对于要安装哪一个有些谨慎。
我所看过的一些内容是这样的。
kernel-devel
kernel-headers
dkms
我为什么还要安装其他东西?这些对我有用吗?
答案1
如果您正在编写驱动程序,则需要您正在为其编写的内核的头文件。要找出您正在运行的内核,您可以使用uname -a
。使用安装其头文件apt-get install linux-headers-$(uname -r)
。
包含语法
两个都用户和系统使用预处理指令#include 来包含头文件。它有以下两种形式:
#include <file>
此表格用于系统头文件。它在系统目录的标准列表中搜索名为 file 的文件。您可以在编译源代码时使用 -I 选项将目录添加到此列表的前面。
#include "file"
此格式用于您自己程序的头文件。它在包含当前文件的目录中搜索名为 file 的文件。您可以在编译源代码时使用 -I 选项将目录添加到此列表的前面。