Hi Mario –
Thank you for this information. It has prompted a few questions:
1) This file “irq_JN516x.S” - is there documentation for it, or its usage, anywhere? If vAHI_InterruptSetPriority() requires this file in order to work, there must be some reference to it somewhere? Also, in which directory of the SDK is this file located? I cannot find it anywhere.
2) User Guide JN-UG-3087 v1.5, Page-153 documents the function vAHI_InterruptSetPriority(). It says I need the Include File “MicroSpecific.h”. I have found this file, located at:
C:\NXP\bstudio_nxp\sdk\JN-SW-4163\Components\MicroSpecific\Include\MicroSpecific.h
But it appears that the correct file I should be using with the JN5169 is actually MicroSpecific_ba.h. There are a variety of files in this folder and they contain lots of definitions – I want to be sure I’m using the correct one. Can you please confirm if MicroSpecific_ba.h (not MicroSpecific.h as indicated in the User Guide) is indeed the correct file to use with the JN5169?
3) JN5169 Product Data Sheet Rev 1.3 (Page 25 of 95) states the following:
If while processing an interrupt, a new event occurs at the same or lower priority level, a
new external interrupt will not be triggered. However, if a new higher priority event occurs,
the external interrupt will again be asserted, interrupting the current interrupt service
routine. Once the interrupt service routine is complete, lower priority events can be serviced.
So if I get an Interrupt from DIO16 and enter the ISR, then while I’m in the ISR, if DIO17 then asserts an interrupt I will not see the DIO17 Interrupt while I am still in the ISR. But when I exit the ISR (entered because of DIO16) will the Interrupt from DIO17 still be pending, resulting in entry to an ISR to service DIO17? Or is it the case that when I’m in an ISR servicing an IRQ from a DIO that any IRQs that may occur from other DIOs will just never be detected? From the statement above, it appears that this may be the case, but that is very surprising if it’s true. That means that once a DIO causes an Interrupt and enters the ISR, all Interrupts from other DIOs will be permanently lost with no indication that they ever happened until the ISR is exited. Can you please confirm if my interpretation is accurate. If so, DIO IRQs are bound to be missed quite often – this has serious system implications…
Thank you for your support Mario. I look forward to your answers to each of the 3 questions above.
I am nearing completion of this new product design and am eager to resolve these items.
Thanks again Mario,
Matt