【Linux】Linux內核中斷irq.h頭文件找不到的問題
頭文件
在vscode中,進行tasklet和work中斷實驗的時候,對于包含的頭文件如下兩個一直爆紅:
#include <linux/irq.h>
#include <linux/of_irq.h>
一路追查下來,發現是缺少頭文件:
#include <linux/irq.h>
-> #include <asm/irq.h>
-> #include <mach/irqs.h> (該頭文件無法找到)
嘗試了如下一些辦法:第二個辦法有效
- 在
.vscode/c_cpp_properties.json中添加頭文件路徑。(無用,希望有大手子解答)
追查下來發現,在內核文件中,本人用的是i.MX6ULL開發板(路徑是./linux/arch/arm/mach-imx)中,嘗試在json文件中包含該路徑,無果,爆紅無法消除。 - 直接注釋掉(有效)
#ifndef CONFIG_SPARSE_IRQ //#include <mach/irqs.h> #else #define NR_IRQS NR_IRQS_LEGACY #endif
猜測:
可能是內核版本問題,看文件名發現linux/arch/arm/這個路徑下都是一些芯片的名字。mach開頭的文件名,有可能是匹配之意。推測是芯片中斷的一些匹配頭文件,但是使用了設備樹,所以即使是直接注釋掉也不影響編譯通過。

浙公網安備 33010602011771號