This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

ARM CorePac Interrupts limit to 160 interrupts -bare metal



Hi !!

using k2e


while working on the bare metal interrupt i came across a curious problem that the interrupts can only be accessed till event number 160.

Now i understand that this is due to the fact that the "Interrupt Set-Enable Registers" which is from 0x104-0x11C can only access 160 interrupts and therefore when i try to run a GPIO based interrupt i can easily do that as the event number corresponding to GPIO-0 is 120 while at the same time UART0 interrupt fails as the corresponding number for UART is 277.
 below is the code which decides all this

if (intrNum < 160U)
    {
        index = ((uint32_t) intrNum >> 5) + 1U;
        mask  = ((uint32_t) 1) << ((uint32_t) intrNum & 1F);


        HW_WR_REG32(0x02561000 + (0x100 + (4 * index)), mask);
...

the code itself is not faulty but doing what the datasheet tells us theoretically

So my question is that how can we access the interrupts of arm corepac which are over 160