This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] 编译器/AM3359:致命错误:#include <linux/interrupt.h>:没有此类文件或目录

Guru**** 2024750 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/570334/compiler-am3359-fatal-error-include-linux-interrupt-h-no-such-file-or-directory

器件型号:AM3359

工具/软件:TI C/C++编译器

我有一个运行良好的源文件。  

但添加 include 时、我无法交叉编译 文件中。

我能否知道错误发生的原因?

我该怎么做?  

我的代码:

#include
#include
#include
#include
#include
#include
#include
#include
#include "serial.h"
#include


#define SYS_GPIO_DIR "/sys/class/gpio

文件* GPIO_init (int port_num){
文件*fp;
char GPIO_buf[255];

snprintf (GPIO_buf、sizeof (GPIO_buf)、"%s/导出"、SYS_GPIO_DIR);
fp = fopen (GPIO_buf、"w");
fprintf (fp、"%d\n"、port_num);
fclose (FP);

snprintf (GPIO_buf、sizeof (GPIO_buf)、"%s/GPI%d/Direction"、SYS_GPIO_DIR、PORT_num);
fp = fopen (GPIO_buf、"w");
fprintf (fp、"out\n");
fclose (FP);

snprintf (GPIO_buf、sizeof (GPIO_buf)、"%s/GPI%d/value"、SYS_GPIO_DIR、PORT_num);
fp=fopen (GPIO_buf、"w");
setvbuf (fp、NULL、_IONBF、0);

退货 FP;

/*
irqreturn_t uart1_handler (int IRQ、void *识别){
printf ("发生中断\n"\n);
返回 IRQ_Handled;
}*/

void main(){
int fd、i=0;
int val =1;
int k;
文件*GPIO_FD;
结构报告 R1;
struct shutter_info si1;
unsigned char TX_Buf[40];
unsigned char rx_buf[40];

fd = UART_init();
GPIO_FD = GPIO_init (27);

/*
//IRQ_handler //
unsigned int IRQ;
unsigned int irqflags;
内转台;

IRQ=159;
irqflags=IRQF_disabled;

RET = REQUEST_IRQ (IRQ、uart1_handler、irqflags、"uart1"、NULL);
if (ret!=0){
printk ("错误:无法请求 IRQ %d\n"、IRQ);

*
////
r1.display_mode=SHUTTER1_MODE;
R1.STALL_SET=0x00;
r1.state=State_Up;
/*SendReport (TX_Buf、R1);
//SendNightTime (TX_Buf);//when 10p.m
写入(FD、TX_Buf、16);
*
while (1){
读取(fd、rx_buf、1);
if (rx_buf[0]=0x02){
fprintf (GPIO_FD、"%d\n"、val);
//val=0;
//fprintf (GPIO_FD、"%d\n"、val);
/*
unsigned char rx_size = rx_buf[5];

for (k=0;k<(int) rx_size;k++){
printf ("%x "、rx_buf[k]);
RX_Buf[k]= 0x00;
}*/
RX_BUF[0]= 00;

关闭(FD);
返回;

这是错误消息:

BOO@boo 虚拟机:~$ make
/home/boo/ti-processor-sdk-linux-am335x-evm-03.02.00.05/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-linux-gnueabihf-gcc -c main.c
main.c:10:29:致命错误:linux/interrupt.h:无此类文件或目录
编译已终止。

我的 makefile 文件:

所有:main.o serial.o
    /home/boo/ti-processor-sdk-linux-am335x-evm-03.02.00.05/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-linux-gnueabihf-gcc -o main.o serial.o
main.o:main.c serial.h
    /home/boo/ti-processor-sdk-linux-am335x-evm-03.02.00.05/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-linux-gnueabihf-gcc -c main.c
serial.o:serial.c serial.h
    /home/boo/ti-processor-sdk-linux-am335x-evm-03.02.00.05/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-linux-gnueabihf-gcc -c serial.c
清理:
    rm -f *。o

此致