中断处理函数映射说法是否正确不敢保证,意思就是将中断处理函数的地址与参数放入中断向量表中(_vector_table)中。
早期运用的arm芯片规模较小,在芯片上直接有uart的中断服务函数地址寄存器,直接将中断服务函数的地址写入寄存器就搞定了。然后zynq似乎比较复杂,中断也比较。在zynq中有个Scu(snoop control unit窥探控制单元,也是arm所有的)专门控制中断处理。Vivado SDK中提供了scugic驱动来处理相关的操作。下面具体说一下,中断hook的过程。
XScuGic_LookupConfig // 找到scugic的定义实体;