我正在尝试在uboot中配置GPIO中断,这是为了测试中断响应时间而无需任何操作系统干预(裸机)。我已成功配置了引脚复用并设置了GPIO引脚的中断。
我的问题涉及中断服务例程的注册。我发现我的平台的中断向量表位于地址0xFFFF0000(我读取系统控制寄存器以查找此信息)。GPIO的中断ID为56,我只需计算出我的中断服务例程应驻留的地址,并尝试使用指向我的ISR例程的指针编写地址。这样做的方法对吗?还是我必须自己处理所有其他事情,如上下文保存等?
注意:我正在使用ARM Cortex A-9。
编辑:
根据答案,我检查了代码后有以下问题。我的架构(arm v7)的do_irq定义没有什么作用,而CONFIG_USE_IRQ对我不起作用,因为像arch_interrupt_init这样的函数对我来说未定义。因此,我可以得出结论,我的架构不支持中断。现在,如果我必须自己定义它,我需要实现哪些功能才能使其工作?由于这只是我的项目的一小部分,我想知道是否可以实现此中断支持。我只想知道这是否需要几行代码还是需要一些工作来实现此中断支持。