我正在使用一个小的演示内核模块学习内核中断 使用这两个标题包括
ASM / exception.h
ASM /马赫/ irq.h
我的Makefile是
ifeq (${KERNELRELEASE},)
KERNEL_SOURCE := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
make -C ${KERNEL_SOURCE} SUBDIRS=${PWD} modules
clean:
make -C ${KERNEL_SOURCE} SUBDIRS=${PWD} clean
else
obj-m := irq_demo.o
endif
我得到的错误
irq_demo.c:9:27: fatal error: asm/exception.h: No such file or directory
#include <asm/exception.h>
我在/usr/src/linux-headers-3.16.0-30-generic/arch/arm/include /
的系统中找到了asm / exception.h[1]但如何在Makefile中包含此路径
[2] /usr/src/linux-headers-3.16.0-30-generic/include/asm-generic/与arch / arm / include / asm /?相关联?如果是,那么如何?
答案 0 :(得分:0)
首先尝试 在make之后添加ARCH = arm 即
make ARCH=arm -C ${KERNEL_SOURCE} SUBDIRS=${PWD} modules
============================= OR ================= ============
你可以尝试在make之前添加行吗
CARGS = -I /lib/modules/$(shell uname -r)/arch/arm/include/
make $(CARGS) -C ${KERNEL_SOURCE} SUBDIRS=${PWD} modules