This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Very Urgent :VIC in ARM Cortex R4

Hi all,

It was nice experience working with NXP with my favorite S32K1XX series having ARM Cotex M-4 and M-0+.

 Now i switched to BCM895XX series with ARM Cotex R-4 having VIC for interrupt contolling.

 I am working with controller having ARM cortex R-4 , which supports VIC (PL190) for interrupt controlling. I searched a lot but not satisfied. Now i come here again.

I have few questions:

1- Does VICIRQSTATUS register gives the currently IRQ interrupt servicing by processor.

2. Which status gives the VICRAWINTR register. 

3. I want the current executing interrupt source number( decimal number out of 32 interrupt source ) at run time . I am     only getting the status bit being set in STATUS register . Also I am not getting any register supported by Cortex R-4 to  get the interrupt source number. How I can get this number . 

 

Please  help me on this and also let me know if i have posted this question in wrong category. 

 

 

Thanks!

Parents
  • >if i have posted this question in wrong category

    Don't worry, you've posted the question in the right place. :-)

    The technical reference manual pf PL190 can be found in

    http://infocenter.arm.com/help/topic/com.arm.doc.ddi0181e/index.html

    >Does VICIRQSTATUS register gives the currently IRQ interrupt servicing by processor.

    No. VICIRQSTATUS give you the status of the interrupt requests after masking by VICINTENABLE and VICINTSELECT registers. This is separated from what the processor is serving. The diagram (figure 2.2) in this page should give you an idea what it means:

    http://infocenter.arm.com/help/topic/com.arm.doc.ddi0181e/Cjachhef.html

    > Which status gives the VICRAWINTR register

    Again, fig 2.2 give you the idea. It is a combination of interrupt requests from peripherals and software interrupt requests.

    > I want the current executing interrupt source number

    There is no equivalent of IPSR as in Cortex-M. The PL190 and the Cortex-R4 are not as closely coupled together as NVIC in Cortex-M. So the only way to handle this is by software. The interrupt handling veneer could implement some code to create this IPSR in the memory.  In the interrupt entry the interrupt veneer save the IRQ number of a pre-empted interrupt, and restore the old value when the interrupt handler ends.

     regards,

    Joseph

Reply
  • >if i have posted this question in wrong category

    Don't worry, you've posted the question in the right place. :-)

    The technical reference manual pf PL190 can be found in

    http://infocenter.arm.com/help/topic/com.arm.doc.ddi0181e/index.html

    >Does VICIRQSTATUS register gives the currently IRQ interrupt servicing by processor.

    No. VICIRQSTATUS give you the status of the interrupt requests after masking by VICINTENABLE and VICINTSELECT registers. This is separated from what the processor is serving. The diagram (figure 2.2) in this page should give you an idea what it means:

    http://infocenter.arm.com/help/topic/com.arm.doc.ddi0181e/Cjachhef.html

    > Which status gives the VICRAWINTR register

    Again, fig 2.2 give you the idea. It is a combination of interrupt requests from peripherals and software interrupt requests.

    > I want the current executing interrupt source number

    There is no equivalent of IPSR as in Cortex-M. The PL190 and the Cortex-R4 are not as closely coupled together as NVIC in Cortex-M. So the only way to handle this is by software. The interrupt handling veneer could implement some code to create this IPSR in the memory.  In the interrupt entry the interrupt veneer save the IRQ number of a pre-empted interrupt, and restore the old value when the interrupt handler ends.

     regards,

    Joseph

Children