"); //-->
在linux系统下,中断号跟BD中zynq7000 processer中配置的生成的中断号不是直接对应的,中间有一个“-32” 的关系,如下
For Shared Periperal interrupts, the value in the device tree is the (IRQ - 32) ;
例子 interrupts = <0x0 0x32 0x0>; 中间的参数0X32是中断号 50
uart@e0001000 { compatible = "xlnx,ps7-uart-1.00.a"; reg = <0xe0001000 0x1000>; interrupts = <0x0 0x32 0x0>; interrupt-parent = <&gic>; clock = <50000000>; }; The second value is the interrupt number. The translate function adds 16 to SPIs and 32 to non-SPIs, so for interrupts generated by fabric logic in a Zynq, the number in the DTS file should be the hardware number (as shown in Xilinx Platform Studio, XPS) minus 32. 翻译:第二个参数是中断号。传递的过程中会区分是否为spi中断,如果是spi中断则加16,非spi则加32 , 所以在devicetree中的生成的中断号是实际中断号减去32 ;
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。