查寄存手册,
3.5.5. INTC Register List
Module Name Base Address
INTC 0x01C20400
Register Name Offset Description
INTC_VECTOR_REG 0x00 Interrupt Vector Register
INTC_BASE_ADDR_REG 0x04 Interrupt Base Address Register
NMI_INT_CTRL_REG 0x0C NMI Interrupt Control Register
INTC_PEND_REG0 0x10 Interrupt Pending Register 0
INTC_PEND_REG1 0x14 Interrupt Pending Register 1
INTC_EN_REG0 0x20 Interrupt Enable Register 0
INTC_EN_REG1 0x24 Interrupt Enable Register 1
INTC_MASK_REG0 0x30 Interrupt Mask Register 0
INTC_MASK_REG1 0x34 Interrupt Mask Register 1
INTC_RESP_REG0 0x40 Interrupt Response Register 0
INTC_RESP_REG1 0x44 Interrupt Response Register 1
INTC_FF_REG0 0x50 Interrupt Fast Forcing Register 0
INTC_FF_REG1 0x54 Interrupt Fast Forcing Register 1
INTC_PRIO_REG0 0x60 Interrupt Source Priority Register 0
INTC_PRIO_REG1 0x64 Interrupt Source Priority Register 1
INTC_PRIO_REG2 0x68 Interrupt Source Priority Register 2
INTC_PRIO_REG3 0x6C Interrupt Source Priority Register 3
设置 INTC_PRIO_REG0 ~ INTC_PRIO_REG3, 控制 优先级发现 没用,
指定 INTC_FF_REG0~INTC_RESP_REG1, 为快速中断, 系统卡死,
应该是 底层没有 实现快速中断,,
晕啦, 不知道怎么实现.
离线
arm9是没有cm3这样的中断优先级的,你可以认为irq,fiq,swi等这几个就是中断优先级,irq想做中断嵌套,网上有讨论,还挺复杂
谢谢解答! 我尝试在 entry-armv.S 实现 FIQ , 把某个中断 设为快速中断, 一设置, 就死机, 不知道怎么弄了
离线
arm9是没有cm3这样的中断优先级的,你可以认为irq,fiq,swi等这几个就是中断优先级,irq想做中断嵌套,网上有讨论,还挺复杂
如果知道怎么实现 FIQ 可以有偿求代码.
离线