Abd*_*iab 10 linux embedded arm interrupt embedded-linux
我正在做一个我需要在Linux中处理中断的项目.
我使用的板是一个ARM9Board由三星(臂11处理器)的基础上S3C6410 MCU和它具有以下的I/O接口:
如图所示,我有外部中断的EINTx引脚和GPIO引脚作为GPIO引脚,我不介意使用其中任何一个,但我没有他们的数字!
对于EINTx引脚:
我打电话的时候
int request_irq(unsigned int irq, void (*handler)(int, struct pt_regs *),
unsigned long flags, const char *device);
Run Code Online (Sandbox Code Playgroud)
我需要中断号作为函数的第一个参数传递它,那么如何获得irq数,例如EINT16引脚?
对于GPxx引脚: 与我需要GPIO引脚编号将其传递给这些功能的故事相同
int gpio_request(unsigned gpio, const char *label);
int gpio_direction_input(unsigned gpio);
int gpio_to_irq(unsigned gpio);
Run Code Online (Sandbox Code Playgroud)
即,我如何知道GPP8引脚的GPIO编号?
我搜索了董事会文件和数据表,但它没有包含任何关于如何获得这些数字,任何想法或帮助在哪里看?
您正在使用的嵌入式Linux应该有一个GPIO驱动程序,其中包含#define
GPIO引脚的语句.然后,您可以使用以下内容获取特定GPIO的IRQ编号:
irq_num = gpio_to_irq(S3C64XX_GPP(8));
以下文件中提供了对该特定芯片的Linux GPIO lib支持:
LINUX /拱/臂/马赫 - S3C6400 /包含/马赫/ gpio.h
在那里,您将找到#define
各种GPIO的所有声明.
请参阅其文档中有关GPIO约定的部分:
http://www.kernel.org/doc/Documentation/gpio/gpio.txt
归档时间: |
|
查看次数: |
19507 次 |
最近记录: |