我从arm的设备驱动程序开始...在那里,我看到了提到的每个处理程序- __attribute__((interrupt( irq )))
-.I对此属性如何调用我们的驱动程序例程感到困惑。??
arm的IRQ具有以下矢量地址- 0x00000018 (或0xFFFF0018),因为同一线路上可以有多个中断处理程序。假设我们有4个设备驱动程序,每个驱动程序都有自己的IRQ。
意味着一些启动代码将由GCC编译器提供给IRQ处理程序,编译器将在中断处理程序的启动代码中调用我们的例程。我说的对吗...?
发布于 2012-12-09 18:43:16
发布于 2012-12-29 17:18:17
该属性应仅由操作系统的中断处理程序使用,而不应由特定驱动程序的中断处理程序使用。操作系统将读取IRQ矢量/编号,并调用相应的驱动程序函数来为IRQ提供服务。您只需向操作系统注册您的驱动程序/ISR。
https://stackoverflow.com/questions/13786605
复制相似问题