<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: INTC_InstallINTCInterruptHandler Not working in CodeWarrior for QorIQ</title>
    <link>https://community.nxp.com/t5/CodeWarrior-for-QorIQ/INTC-InstallINTCInterruptHandler-Not-working/m-p/252109#M4924</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Werner,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;In software vector mode the execution should jump into IVOR4 Exception routine first if an external interrupt occurs.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;The INTC_InitINTCInterrupts() should move INTC_INTCInterruptHandler() address into IVOR4 register which causes the interrupt prolog is executed.&lt;/P&gt;&lt;P&gt;Can you double check that after Interrupt init. IVOR4 register contains the address of INTC_INTCInterruptHandler() and not EXCEP_DefaultExceptionHandler().&lt;/P&gt;&lt;P&gt;If IVOR4 address is ok than you are probably facing some other core exception (invalid instruction, MMU TLB issue,...)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Which derivative you are targeting to? MPC5554?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Stan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 11 Apr 2014 08:48:31 GMT</pubDate>
    <dc:creator>stanish</dc:creator>
    <dc:date>2014-04-11T08:48:31Z</dc:date>
    <item>
      <title>INTC_InstallINTCInterruptHandler Not working</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-QorIQ/INTC-InstallINTCInterruptHandler-Not-working/m-p/252104#M4919</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm trying to use the codewarrior generated code for a MPC5554 project. I want to capture eSCI interrupts. I've turned on all the interrupts. I receive and transmit a byte. I've set a breakpoint in my ISR. It does not get hit. Any ideas?&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt; INTC_InitINTCInterrupts();&lt;/P&gt;&lt;P&gt; INTC_InstallINTCInterruptHandler((INTCInterruptFn) eSCIA_ISR, 146,1);&lt;/P&gt;&lt;P&gt; INTC.MCR.B.HVEN = 1;&lt;/P&gt;&lt;DIV class="j-rte-table"&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;asm(" wrteei 1");&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 21 Feb 2014 21:37:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-QorIQ/INTC-InstallINTCInterruptHandler-Not-working/m-p/252104#M4919</guid>
      <dc:creator>charlessaperste</dc:creator>
      <dc:date>2014-02-21T21:37:46Z</dc:date>
    </item>
    <item>
      <title>Re: INTC_InstallINTCInterruptHandler Not working</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-QorIQ/INTC-InstallINTCInterruptHandler-Not-working/m-p/252105#M4920</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Charles,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've checked with colleague and see below their answer.&lt;/P&gt;&lt;P&gt;+++++++++++++++++&lt;/P&gt;&lt;P&gt;The real problem here is that the eSCI example project included within CodeWarrior tool is using polling but interrupt to transmit and receive data.&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;If you did not add code to enable interrupts in ESCIx_CR1 for eSCI, the related ISR installed by INTC_InstallINTCInterruptHandler will have no chance to be scheduled for running.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please let the ctm check his project to make sure the related interrupts of eSCI have been enabled. &lt;/P&gt;&lt;P&gt;+++++++++++++++++&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Pascal&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Mar 2014 10:18:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-QorIQ/INTC-InstallINTCInterruptHandler-Not-working/m-p/252105#M4920</guid>
      <dc:creator>trytohelp</dc:creator>
      <dc:date>2014-03-05T10:18:06Z</dc:date>
    </item>
    <item>
      <title>Re: INTC_InstallINTCInterruptHandler Not working</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-QorIQ/INTC-InstallINTCInterruptHandler-Not-working/m-p/252106#M4921</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Charles,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have you modified INTC_CPR&amp;nbsp; register? &lt;/P&gt;&lt;P&gt;It's set to prevent all priority interrupts by default .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Add the line below to&amp;nbsp; enable all priority interrupts:&lt;/P&gt;&lt;P&gt;INTC.CPR.R = 0;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Stan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 07 Mar 2014 13:05:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-QorIQ/INTC-InstallINTCInterruptHandler-Not-working/m-p/252106#M4921</guid>
      <dc:creator>stanish</dc:creator>
      <dc:date>2014-03-07T13:05:27Z</dc:date>
    </item>
    <item>
      <title>Re: INTC_InstallINTCInterruptHandler Not working</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-QorIQ/INTC-InstallINTCInterruptHandler-Not-working/m-p/252107#M4922</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yes I did. I removed the call to INTC_InstallINTCInterruptHandler() and defined CALL_USR_INIT and it started to work. I had previously tried all of the above except take out the function call. May I misspelt the preprocessor directive. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 07 Mar 2014 15:26:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-QorIQ/INTC-InstallINTCInterruptHandler-Not-working/m-p/252107#M4922</guid>
      <dc:creator>charlessaperste</dc:creator>
      <dc:date>2014-03-07T15:26:19Z</dc:date>
    </item>
    <item>
      <title>Re: INTC_InstallINTCInterruptHandler Not working</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-QorIQ/INTC-InstallINTCInterruptHandler-Not-working/m-p/252108#M4923</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I could need some help implementing an ISR. I am using CW 2.10 for MPC55xx.&lt;/P&gt;&lt;P&gt;Although I did everything Stanislav told, my FLEXRAY_ISR Handler is never called.&lt;/P&gt;&lt;P&gt;Instead always the EXCEP_DefaultExceptionHandler() is called. What did I wrong?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INTC_InitINTCInterrupts();&lt;/P&gt;&lt;P&gt;INTC_InstallINTCInterruptHandler(FLEXRAY_ISR, 352,2);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt; INTC.CPR.R = 0;&lt;/P&gt;&lt;P&gt; asm("wrteei 1");&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt; Enable_interrupts();&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void FLEXRAY_ISR(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;...clear channel interrupt flag....&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please help me. I am looking forward to your answers.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 Apr 2014 08:02:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-QorIQ/INTC-InstallINTCInterruptHandler-Not-working/m-p/252108#M4923</guid>
      <dc:creator>wernermotz</dc:creator>
      <dc:date>2014-04-11T08:02:59Z</dc:date>
    </item>
    <item>
      <title>Re: INTC_InstallINTCInterruptHandler Not working</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-QorIQ/INTC-InstallINTCInterruptHandler-Not-working/m-p/252109#M4924</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Werner,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;In software vector mode the execution should jump into IVOR4 Exception routine first if an external interrupt occurs.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;The INTC_InitINTCInterrupts() should move INTC_INTCInterruptHandler() address into IVOR4 register which causes the interrupt prolog is executed.&lt;/P&gt;&lt;P&gt;Can you double check that after Interrupt init. IVOR4 register contains the address of INTC_INTCInterruptHandler() and not EXCEP_DefaultExceptionHandler().&lt;/P&gt;&lt;P&gt;If IVOR4 address is ok than you are probably facing some other core exception (invalid instruction, MMU TLB issue,...)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Which derivative you are targeting to? MPC5554?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Stan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 Apr 2014 08:48:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-QorIQ/INTC-InstallINTCInterruptHandler-Not-working/m-p/252109#M4924</guid>
      <dc:creator>stanish</dc:creator>
      <dc:date>2014-04-11T08:48:31Z</dc:date>
    </item>
    <item>
      <title>Re: INTC_InstallINTCInterruptHandler Not working</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-QorIQ/INTC-InstallINTCInterruptHandler-Not-working/m-p/252110#M4925</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Stan,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thank you very much for your help. Unfortunately I still could not solve the problem. I checked the registers with following results:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IVPR = 00000000&lt;/P&gt;&lt;P&gt;IVOR0 to IVOR34 = 00001000&lt;/P&gt;&lt;P&gt;but IVOR4 = 000010B0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The INTCInterruptsHandlerTable is also correct. VTES is 1 and the INTC_PSR also has the right entries. Does anyone has an&lt;/P&gt;&lt;P&gt;idea? My target is a MPC5567. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 14 Apr 2014 06:42:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-QorIQ/INTC-InstallINTCInterruptHandler-Not-working/m-p/252110#M4925</guid>
      <dc:creator>wernermotz</dc:creator>
      <dc:date>2014-04-14T06:42:10Z</dc:date>
    </item>
    <item>
      <title>Re: INTC_InstallINTCInterruptHandler Not working</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-QorIQ/INTC-InstallINTCInterruptHandler-Not-working/m-p/252111#M4926</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Werner,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I assume the IVOR4 address 0x0000_10B0&amp;nbsp; is the start address of I&lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;NTC_INTCInterruptHandler().&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Can you place a breakpoint at this address? Does the execution stops at the breakpoint? If so, can you step the interrupt prolog instruction by instruction to find out where a core exception occurs.&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;Can you test&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt; if the same problem occur with external interrupts disabled?&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;asm(" wrteei 0");&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note: create a separate Exception handler for each IVOR to distinguish which specific exception IVOR occurs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Stan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 16 Apr 2014 08:51:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-QorIQ/INTC-InstallINTCInterruptHandler-Not-working/m-p/252111#M4926</guid>
      <dc:creator>stanish</dc:creator>
      <dc:date>2014-04-16T08:51:00Z</dc:date>
    </item>
    <item>
      <title>Re: INTC_InstallINTCInterruptHandler Not working</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-QorIQ/INTC-InstallINTCInterruptHandler-Not-working/m-p/252112#M4927</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Stan - Lord of Interrupt :smileywink:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Your idea of putting a breakpoint into the INTC_INTCInterruptHandler() was excellent.&lt;/P&gt;&lt;P&gt;Because my isr was never called I expected the INTC_INCTInterruptHandler() never to be called.&lt;/P&gt;&lt;P&gt;However the execution stops at the INTC handler. When INTC_NESTED_INTERRUPT is set to 0, the&lt;/P&gt;&lt;P&gt;unloved Exception handler is called right after (**handlerFn)(); Afterwards the application hangs&lt;/P&gt;&lt;P&gt;in the Exception handler.&lt;/P&gt;&lt;P&gt;The line INTC.EOIR.R = 0; is never reached.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;//*************************************************************************************************************************&lt;/P&gt;&lt;P&gt;#if INTC_NESTED_INTERRUPT == 0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;__declspec(interrupt)&lt;/P&gt;&lt;P&gt;__declspec(section ".__exception_handlers")&lt;/P&gt;&lt;P&gt;void INTC_INTCInterruptHandler(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; INTCInterruptFn *handlerFn = (INTCInterruptFn*)(*(unsigned int*)&amp;amp;INTC.IACKR.R);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (**handlerFn)();&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; INTC.EOIR.R = 0;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;//*************************************************************************************************************************&lt;/P&gt;&lt;P&gt;#else&lt;/P&gt;&lt;P&gt;__declspec(interrupt)&lt;/P&gt;&lt;P&gt;__declspec(section ".__exception_handlers")&lt;/P&gt;&lt;P&gt;__asm void INTC_INTCInterruptHandler(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;nofralloc&lt;/P&gt;&lt;P&gt;prolog:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; stwu&amp;nbsp;&amp;nbsp;&amp;nbsp; r1, -0x50 (r1)&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Create stack frame */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; stw r0,&amp;nbsp; 0x24 (r1)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Store r0 working register&amp;nbsp; */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Save SRR0 and SRR1 */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mfsrr1&amp;nbsp; r0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Store SRR1 (must be done before enabling EE) */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; stw&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r0,&amp;nbsp; 0x10 (r1)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mfsrr0&amp;nbsp; r0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Store SRR0 (must be done before enabling EE) */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; stw&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r0,&amp;nbsp; 0x0C (r1)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Clear request to processor; r3 contains the address of the ISR */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; stw&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r3,&amp;nbsp; 0x28 (r1)&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Store r3 */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lis&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r3, INTC_IACKR@h&amp;nbsp; /* Read pointer into ISR Vector Table &amp;amp; store in r3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ori&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r3, r3, INTC_IACKR@l&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lwz&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r3, 0x0(r3)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Load INTC_IACKR, which clears request to processor&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lwz&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r3, 0x0(r3)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Read ISR address from ISR Vector Table using pointer */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Enable processor recognition of interrupts */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; wrteei&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Set MSR[EE]=1&amp;nbsp; */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Save rest of context required by EABI */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; stw&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r12, 0x4C (r1)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Store r12 */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; stw&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r11, 0x48 (r1)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Store r11 */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; stw&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r10, 0x44 (r1)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Store r10 */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; stw&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r9,&amp;nbsp; 0x40 (r1)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Store r9 */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; stw&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r8,&amp;nbsp; 0x3C (r1)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Store r8 */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; stw&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r7,&amp;nbsp; 0x38 (r1)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Store r7 */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; stw&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r6,&amp;nbsp; 0x34 (r1)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Store r6 */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; stw&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r5,&amp;nbsp; 0x30 (r1)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Store r5 */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; stw&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r4,&amp;nbsp; 0x2C (r1)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Store r4 */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mfcr&amp;nbsp;&amp;nbsp;&amp;nbsp; r0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Store CR */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; stw&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r0,&amp;nbsp; 0x20 (r1)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mfxer&amp;nbsp;&amp;nbsp; r0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Store XER */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; stw&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r0,&amp;nbsp; 0x1C (r1)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mfctr&amp;nbsp;&amp;nbsp; r0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Store CTR */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; stw&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r0,&amp;nbsp; 0x18 (r1)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mflr&amp;nbsp;&amp;nbsp;&amp;nbsp; r0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Store LR */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; stw&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r0,&amp;nbsp; 0x14 (r1)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Branch to ISR handler address from SW vector table */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mtlr&amp;nbsp;&amp;nbsp;&amp;nbsp; r3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Store ISR address to LR to use for branching later */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; blrl&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Branch to ISR, but return here */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;epilog:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Restore context required by EABI (except working registers) */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lwz&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r0,&amp;nbsp; 0x14 (r1)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Restore LR */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mtlr&amp;nbsp;&amp;nbsp;&amp;nbsp; r0&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lwz&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r0,&amp;nbsp; 0x18 (r1)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Restore CTR */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mtctr&amp;nbsp;&amp;nbsp; r0&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lwz&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r0,&amp;nbsp; 0x1C (r1)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Restore XER */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mtxer&amp;nbsp;&amp;nbsp; r0&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lwz&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r0,&amp;nbsp; 0x20 (r1)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Restore CR */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mtcrf&amp;nbsp;&amp;nbsp; 0xff, r0&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lwz&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r5,&amp;nbsp; 0x30 (r1)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Restore r5 */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lwz&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r6,&amp;nbsp; 0x34 (r1)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Restore r6 */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lwz&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r7,&amp;nbsp; 0x38 (r1)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Restore r7 */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lwz&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r8,&amp;nbsp; 0x3C (r1)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Restore r8 */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lwz&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r9,&amp;nbsp; 0x40 (r1)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Restore r9 */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lwz&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r10, 0x44 (r1)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Restore r10 */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lwz&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r11, 0x48 (r1)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Restore r11 */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lwz&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r12, 0x4C (r1)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Restore r12 */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Disable processor recognition of interrupts */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; wrteei&amp;nbsp; 0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Ensure interrupt flag has finished clearing */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mbar&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Write 0 to INTC_EOIR, informing INTC to lower priority */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; li&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r3, 0&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lis&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r4, INTC_EOIR@h&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Load upper half of INTC_EOIR address to r4 */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ori&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r4, r4, INTC_EOIR@l&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; stw&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r3, 0(r4)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Write 0 to INTC_EOIR */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Restore Working Registers */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lwz&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r3,&amp;nbsp; 0x28 (r1)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Restore r3 */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lwz&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r4,&amp;nbsp; 0x2C (r1)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Restore r4 */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Retrieve SRR0 and SRR1 */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lwz&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r0,&amp;nbsp; 0x0C (r1)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Restore SRR0 */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mtsrr0&amp;nbsp; r0&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lwz&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r0,&amp;nbsp; 0x10 (r1)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Restore SRR1 */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mtsrr1&amp;nbsp; r0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Restore Other Working Registers */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lwz&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r0,&amp;nbsp; 0x24 (r1)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Restore r0 */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Restore space on stack */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; addi&amp;nbsp;&amp;nbsp;&amp;nbsp; r1, r1, 0x50&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* End of Interrupt */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; rfi&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#endif&lt;/P&gt;&lt;P&gt;//*************************************************************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If I set INTC_NESTED_INTERRUPT to 1, I can step through the #else part. Here the Execution handler&lt;/P&gt;&lt;P&gt;is called after reaching the line blrl (Branch to ISR, but return here). The epilog part of the INTC handler&lt;/P&gt;&lt;P&gt;is never reached.&lt;/P&gt;&lt;P&gt;Do you have any idea why? Thank you very much.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Werner&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 16 Apr 2014 10:07:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-QorIQ/INTC-InstallINTCInterruptHandler-Not-working/m-p/252112#M4927</guid>
      <dc:creator>wernermotz</dc:creator>
      <dc:date>2014-04-16T10:07:20Z</dc:date>
    </item>
    <item>
      <title>Re: Re: INTC_InstallINTCInterruptHandler Not working</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-QorIQ/INTC-InstallINTCInterruptHandler-Not-working/m-p/252113#M4928</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Werner,&lt;/P&gt;&lt;P&gt;Thanks for this original title ... I should update my business card&amp;nbsp; :smileywink:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I suspect the problem could be caused by an uninitialized vector in the vector table &lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;INTCInterruptsHandlerTable&lt;/SPAN&gt;[]&lt;/P&gt;&lt;P&gt;I'm not a FlexRay expert but please make sure that the interrupt request number 352 matches with the interrupt that has really occurred.&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;INTC_InstallINTCInterruptHandler(FLEXRAY_ISR, 352,2);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;You can read&amp;nbsp; the register INTC_IACKR&amp;nbsp; when you hit the breakpoint to get the INTC vector table address.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;If the address is different then address of INTCInterruptsHandlerTable[352] then probably a different Interrupt which has no ISR routine assigned occurred.&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note: you can create a dummy ISR and adjust the &lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;INTCInterruptsHandlerTable&lt;/SPAN&gt;[] definition in IntcInterrupts.c in order to initialize all uninitialized vectors to point at this dummy_ISR() (see below). This initialization is C99 feature therefore you need to enable this feature in compiler settings (ALT+F7 -&amp;gt; "C/C++ Language" -&amp;gt; check "Enable C99 Extensions")&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&lt;STRONG&gt;void dummy_ISR(void);&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;#define INTC_INTERRUPTS_REQUEST_VECTOR_TABLE_SIZE&amp;nbsp; (360)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;INTCInterruptFn INTCInterruptsHandlerTable[INTC_INTERRUPTS_REQUEST_VECTOR_TABLE_SIZE] =&amp;nbsp; {[0 ... INTC_INTERRUPTS_REQUEST_VECTOR_TABLE_SIZE-1] = (INTCInterruptFn)&amp;amp;dummy_ISR};&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;...&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;void dummy_ISR(void)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; while(1);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope it helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Stan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 16 Apr 2014 16:54:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-QorIQ/INTC-InstallINTCInterruptHandler-Not-working/m-p/252113#M4928</guid>
      <dc:creator>stanish</dc:creator>
      <dc:date>2014-04-16T16:54:40Z</dc:date>
    </item>
    <item>
      <title>Re: Re: INTC_InstallINTCInterruptHandler Not working</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-QorIQ/INTC-InstallINTCInterruptHandler-Not-working/m-p/252114#M4929</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Good morning Stan,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I created a dummy ISR for all the uninitialized vectors and believe it or not it is called :smileyhappy: &lt;/P&gt;&lt;P&gt;Now I have two more problems:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;First Problem:&lt;/P&gt;&lt;P&gt;Although the FlexRay channel interrupt flag should be on table position [352] and accordingly [350] (FlexRay modul interrupt flag) (datasheet MPC5567),&lt;/P&gt;&lt;P&gt;my interrupts are only called if i bind them on position 10 (MIF) and 12 (CHIF). If I bind them on position [350] and [352] no interrupt is called.&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;//**********************************************************************************************************************************&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;for(uint32_t position = 0; position&amp;lt;INTC_INTERRUPTS_REQUEST_VECTOR_TABLE_SIZE; position++)&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt; INTCInterruptsHandlerTable[position] = (INTCInterruptFn)&amp;amp;Fr_interrupt_handler;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt; //MIF&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt; INTCInterruptsHandlerTable[10] = (INTCInterruptFn)&amp;amp;dummy_ISR;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt; INTC.PSR[350].B.PRI = 2;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt; //CHIF&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt; INTCInterruptsHandlerTable[12] = (INTCInterruptFn)&amp;amp;dummy_ISR2;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt; INTC.PSR[352].B.PRI = 2;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;//************************************************************************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Second Problem:&lt;/P&gt;&lt;P&gt;After calling the interrupt (here CHIF) the application never comes out of it, the interrupt is called repeatedly although&lt;/P&gt;&lt;P&gt;I handle all the CHIF flags.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;//************************************************************************************************************************************&lt;/P&gt;&lt;P&gt;void dummy_ISR2(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(FR.GIFER.B.CHIF == 1)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FR.CHIERFR.B.FRLBEF &amp;amp;= FR.CHIERFR.B.FRLBEF; /* flame lost channel B error flag */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FR.CHIERFR.B.FRLAEF &amp;amp;= FR.CHIERFR.B.FRLAEF; /* frame lost channel A error flag */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FR.CHIERFR.B.PCMIEF &amp;amp;= FR.CHIERFR.B.PCMIEF; /* command ignored error flag */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FR.CHIERFR.B.FOVBEF &amp;amp;= FR.CHIERFR.B.FOVBEF;/* receive FIFO overrun channel B error flag */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FR.CHIERFR.B.FOVAEF &amp;amp;= FR.CHIERFR.B.FOVAEF;/* receive FIFO overrun channel A error flag */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FR.CHIERFR.B.MSBEF&amp;nbsp; &amp;amp;= FR.CHIERFR.B.MSBEF; /* message buffer search error flag */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FR.CHIERFR.B.MBUEF&amp;nbsp; &amp;amp;= FR.CHIERFR.B.MBUEF; /* message buffer utilization error flag */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FR.CHIERFR.B.LCKEF&amp;nbsp; &amp;amp;= FR.CHIERFR.B.LCKEF; /* lock error flag */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FR.CHIERFR.B.DBLEF&amp;nbsp; &amp;amp;= FR.CHIERFR.B.DBLEF; /* double transmit message buffer lock error flag */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FR.CHIERFR.B.SBCFEF &amp;amp;= FR.CHIERFR.B.SBCFEF;/* system bus communication failure error flag */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FR.CHIERFR.B.FIDEF&amp;nbsp; &amp;amp;= FR.CHIERFR.B.FIDEF; /* frame ID error flag */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FR.CHIERFR.B.DPLEF&amp;nbsp; &amp;amp;= FR.CHIERFR.B.DPLEF; /* dynamic payload length error flag */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FR.CHIERFR.B.SPLEF&amp;nbsp; &amp;amp;= FR.CHIERFR.B.SPLEF; /* static payload length error flag */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FR.CHIERFR.B.NMLEF&amp;nbsp; &amp;amp;= FR.CHIERFR.B.NMLEF; /* network management length error flag */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FR.CHIERFR.B.NMFEF&amp;nbsp; &amp;amp;= FR.CHIERFR.B.NMFEF; /* network management frame error flag */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FR.CHIERFR.B.ILSAEF &amp;amp;= FR.CHIERFR.B.ILSAEF;/* illegal access error flag */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FR.GIFER.B.CHIF &amp;amp;= FR.GIFER.B.CHIF;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;//************************************************************************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for your help.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 22 Apr 2014 05:24:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-QorIQ/INTC-InstallINTCInterruptHandler-Not-working/m-p/252114#M4929</guid>
      <dc:creator>wernermotz</dc:creator>
      <dc:date>2014-04-22T05:24:27Z</dc:date>
    </item>
    <item>
      <title>Re: INTC_InstallINTCInterruptHandler Not working</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-QorIQ/INTC-InstallINTCInterruptHandler-Not-working/m-p/252115#M4930</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi werner,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I had the same problem. All I did was this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void INTC_INTCInterruptHandler(void)&lt;BR /&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //INTCInterruptFn *handlerFn = (INTCInterruptFn*)(*(unsigned int*)&amp;amp;INTC.IACKR.R);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; INTCInterruptFn *handlerFn = &amp;amp;INTCInterruptsHandlerTable[INTC.IACKR.B.INTVEC_PRC0];&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (**handlerFn)();&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; INTC.EOIR.R = 0;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I don´t know why &lt;EM&gt;"&lt;STRONG&gt;**handlerFn&lt;/STRONG&gt;"&lt;/EM&gt; points to &lt;STRONG&gt;IACKR&lt;/STRONG&gt;. This register do not contain the &lt;SPAN style="text-decoration: underline;"&gt;address of ISR function&lt;/SPAN&gt; that you installed.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can see the register definition on section &lt;STRONG&gt;&lt;EM&gt;18.5.2.3 INTC Interrupt Acknowledge Register (INTC_IACKR)&lt;/EM&gt;&lt;/STRONG&gt; (MPC5607BRM.pdf Rev. 7.2, 05/2012)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope it helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edgar&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 23 Apr 2014 22:17:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-QorIQ/INTC-InstallINTCInterruptHandler-Not-working/m-p/252115#M4930</guid>
      <dc:creator>edgarsevilla</dc:creator>
      <dc:date>2014-04-23T22:17:47Z</dc:date>
    </item>
  </channel>
</rss>

