<?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: MPC5744P External Interrupt 0 Cause Device Reset  in MPC5xxx</title>
    <link>https://community.nxp.com/t5/MPC5xxx/MPC5744P-External-Interrupt-0-Cause-Device-Reset/m-p/623544#M5540</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P style="color: #51626f; border: 0px;"&gt;Hi,&amp;nbsp;&lt;/P&gt;&lt;P style="color: #51626f; border: 0px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;I found the problem is caused by the FCCU configuration, If I remove the following function&amp;nbsp;&lt;SPAN&gt;_configFCCU() , then the cpu will not reset when external interrupt 0 happened.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; border: 0px;"&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;But this function only config the cpu to reset when SWT timeout, why it can effect the external interrupt?&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; border: 0px;"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;By the way, the SWT is disabled in my test.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; border: 0px;"&gt;&lt;/P&gt;&lt;P style="color: #51626f; border: 0px;"&gt;void _configFCCU(void)&lt;BR /&gt;{&lt;BR /&gt;/* Unlock configuration */&lt;BR /&gt;FCCU.TRANS_LOCK.B.TRANSKEY = 0xBC;&lt;/P&gt;&lt;P style="color: #51626f; border: 0px;"&gt;/* provide Config state key */&lt;BR /&gt;FCCU.CTRLK.R = 0x913756AF;&lt;/P&gt;&lt;P style="color: #51626f; border: 0px;"&gt;/* enter config state - OP1 */&lt;BR /&gt;FCCU.CTRL.R = 0x1;&lt;/P&gt;&lt;P style="color: #51626f; border: 0px;"&gt;/* Verify if state change was sucessful */&lt;BR /&gt;while (FCCU.CTRL.B.OPS != 0x3); //operation status successful&lt;/P&gt;&lt;P style="color: #51626f; border: 0px;"&gt;/* Configure FCCU to react on NCF14 with long functional reset */&lt;BR /&gt;FCCU.NCFS_CFG[0].B.NCFSC14 = 0x01; //short functional reset reaction&lt;/P&gt;&lt;P style="color: #51626f; border: 0px;"&gt;//set up the NOMAL mode of FCCU&lt;BR /&gt;FCCU.CTRLK.R = 0x825A132B; //key for OP2&lt;BR /&gt;FCCU.CTRL.R = 0x2; //set the OP2 - set up FCCU into the NORMAL mode&lt;BR /&gt;while (FCCU.CTRL.B.OPS != 0x3); //operational status succesfull&lt;/P&gt;&lt;P style="color: #51626f; border: 0px;"&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 18 Jan 2017 06:05:08 GMT</pubDate>
    <dc:creator>hangxie</dc:creator>
    <dc:date>2017-01-18T06:05:08Z</dc:date>
    <item>
      <title>MPC5744P External Interrupt 0 Cause Device Reset</title>
      <link>https://community.nxp.com/t5/MPC5xxx/MPC5744P-External-Interrupt-0-Cause-Device-Reset/m-p/623542#M5538</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;I'm migrating the code from MPC5643L to MPC5744P in our own design, Now i have a problem that &lt;SPAN&gt;an unexplained reset&lt;/SPAN&gt; &lt;SPAN&gt;hapenning &lt;/SPAN&gt;when a&amp;nbsp;external interrupt triggered (connect to PTA7) . But another&amp;nbsp;&lt;SPAN&gt;interrupt source (connect to PTA8) works fine. Here is the code step-by-step, can anybody help to check the problem?&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;1. clear FCCU faults&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;void _clearFCCUfaults(void)&lt;BR /&gt;{&lt;BR /&gt; int32_t i;&lt;BR /&gt; for (i=0;i&amp;lt;3;i++)&lt;BR /&gt; {&lt;BR /&gt; FCCU.NCFK.R = FCCU_NCFK_KEY;&lt;BR /&gt; FCCU.NCF_S[i].R = 0xFFFFFFFF;&lt;BR /&gt; while (FCCU.CTRL.B.OPS != 0x3);&lt;BR /&gt; }&lt;BR /&gt;}&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;&lt;SPAN&gt;2. CPU Mode config&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;void _configModeEntry(void)&lt;BR /&gt;{&lt;BR /&gt; /* IRC Trim */&lt;BR /&gt; IRCOSC.CTL.B.USER_TRIM = 0;&lt;/P&gt;&lt;P&gt;/* Mode Config */&lt;BR /&gt; MC_ME.ME.R = ME_STOP0_EN|ME_HALT0_EN|ME_RUN3_EN|ME_RUN2_EN|ME_RUN1_EN|ME_TEST_EN;&lt;BR /&gt; MC_ME.DRUN_MC.R = ME_PAD_ON |ME_VREG_ON |ME_CFLASH_ON |ME_FMPLL0_OFF|ME_FMPLL1_OFF|ME_XOSC_ON |ME_FIRC_ON|ME_SYS_CLK_ON_XOSC;&lt;BR /&gt; MC_ME.RUN0_MC.R = ME_PAD_ON |ME_VREG_ON |ME_CFLASH_ON |ME_FMPLL0_ON |ME_FMPLL1_OFF|ME_XOSC_ON |ME_FIRC_ON|ME_SYS_CLK_ON_PRIPLL;&lt;BR /&gt; MC_ME.RUN1_MC.R = ME_PAD_ON |ME_VREG_ON |ME_CFLASH_ON |ME_FMPLL0_OFF |ME_FMPLL1_OFF|ME_XOSC_ON |ME_FIRC_ON|ME_SYS_CLK_ON_XOSC;&lt;BR /&gt; MC_ME.RUN2_MC.R = ME_PAD_ON |ME_VREG_ON |ME_CFLASH_ON |ME_FMPLL0_OFF |ME_FMPLL1_OFF|ME_XOSC_ON |ME_FIRC_ON|ME_SYS_CLK_ON_XOSC;&lt;BR /&gt; MC_ME.RUN3_MC.R = ME_PAD_ON |ME_VREG_ON |ME_CFLASH_ON |ME_FMPLL0_ON |ME_FMPLL1_OFF|ME_XOSC_ON |ME_FIRC_ON|ME_SYS_CLK_ON_PRIPLL;&lt;BR /&gt; MC_ME.HALT0_MC.R = ME_PAD_ON|ME_VREG_ON |ME_CFLASH_LPM|ME_FMPLL0_ON |ME_FMPLL1_OFF|ME_XOSC_ON |ME_FIRC_ON|ME_SYS_CLK_ON_PRIPLL;&lt;BR /&gt; MC_ME.STOP0_MC.R = ME_PAD_ON|ME_VREG_OFF|ME_CFLASH_OFF|ME_FMPLL0_OFF|ME_FMPLL1_OFF|ME_XOSC_OFF|ME_FIRC_OFF|ME_SYS_CLK_DISABLED;&lt;/P&gt;&lt;P&gt;MC_ME.RUN_PC[0].B.RUN3 = 0;&lt;BR /&gt; MC_ME.RUN_PC[0].B.RUN2=0;&lt;BR /&gt; MC_ME.RUN_PC[0].B.RUN1=0;&lt;BR /&gt; MC_ME.RUN_PC[0].B.RUN0=0;&lt;BR /&gt; MC_ME.RUN_PC[0].B.DRUN=1; // all peripherals on in DRUN to execute Peripherals setup&lt;BR /&gt; MC_ME.RUN_PC[0].B.SAFE=0;&lt;BR /&gt; MC_ME.RUN_PC[0].B.TEST=0;&lt;/P&gt;&lt;P&gt;MC_ME.RUN_PC[1].B.RUN3=1;&lt;BR /&gt; MC_ME.RUN_PC[1].B.RUN2=1;&lt;BR /&gt; MC_ME.RUN_PC[1].B.RUN1=1;&lt;BR /&gt; MC_ME.RUN_PC[1].B.RUN0=1;&lt;BR /&gt; MC_ME.RUN_PC[1].B.DRUN=1; // all peripherals on in DRUN to execute Peripherals setup&lt;BR /&gt; MC_ME.RUN_PC[1].B.SAFE=0;&lt;BR /&gt; MC_ME.RUN_PC[1].B.TEST=0;&lt;/P&gt;&lt;P&gt;MC_ME.RUN_PC[2].B.RUN3=0;&lt;BR /&gt; MC_ME.RUN_PC[2].B.RUN2=1;&lt;BR /&gt; MC_ME.RUN_PC[2].B.RUN1=0;&lt;BR /&gt; MC_ME.RUN_PC[2].B.RUN0=0;&lt;BR /&gt; MC_ME.RUN_PC[2].B.DRUN=1; // all peripherals on in DRUN to execute Peripherals setup&lt;BR /&gt; MC_ME.RUN_PC[2].B.SAFE=0;&lt;BR /&gt; MC_ME.RUN_PC[2].B.TEST=0;&lt;/P&gt;&lt;P&gt;MC_ME.LP_PC[0].B.STOP0=0;&lt;BR /&gt; MC_ME.LP_PC[0].B.HALT0=0;&lt;/P&gt;&lt;P&gt;MC_ME.LP_PC[1].B.STOP0=1;&lt;BR /&gt; MC_ME.LP_PC[1].B.HALT0=1;&lt;/P&gt;&lt;P&gt;MC_ME.PCTL9.R = DBGm|ME_LPPC0|ME_RUNPC0; //LFAST0&lt;BR /&gt; MC_ME.PCTL11.R = DBGm|ME_LPPC0|ME_RUNPC0; //SIPI_0&lt;BR /&gt; MC_ME.PCTL12.R = DBGm|ME_LPPC0|ME_RUNPC0; //ENET_0&lt;BR /&gt; MC_ME.PCTL30.R = DBGm|ME_LPPC0|ME_RUNPC1; //PIT_0&lt;BR /&gt; MC_ME.PCTL36.R = DBGm|ME_LPPC0|ME_RUNPC0; //DMAMUX_0&lt;BR /&gt; MC_ME.PCTL38.R = DBGm|ME_LPPC0|ME_RUNPC0; //CRC_0&lt;BR /&gt; MC_ME.PCTL77.R = DBGm|ME_LPPC0|ME_RUNPC1; //CAN_2&lt;BR /&gt; MC_ME.PCTL78.R = DBGm|ME_LPPC0|ME_RUNPC1; //CAN_1&lt;BR /&gt; MC_ME.PCTL79.R = DBGm|ME_LPPC0|ME_RUNPC1; //CAN_0&lt;BR /&gt; MC_ME.PCTL91.R = DBGm|ME_LPPC0|ME_RUNPC1; //LINFlex_1&lt;BR /&gt; MC_ME.PCTL98.R = DBGm|ME_LPPC0|ME_RUNPC0; //DSPI_1&lt;BR /&gt; MC_ME.PCTL99.R = DBGm|ME_LPPC0|ME_RUNPC1; //DSPI_0&lt;BR /&gt; MC_ME.PCTL104.R = DBGm|ME_LPPC0|ME_RUNPC0; //SENT_0&lt;BR /&gt; MC_ME.PCTL107.R = DBGm|ME_LPPC0|ME_RUNPC0; //FLEXRAY&lt;BR /&gt; MC_ME.PCTL124.R = DBGm|ME_LPPC0|ME_RUNPC1; //ADC_3&lt;BR /&gt; MC_ME.PCTL126.R = DBGm|ME_LPPC0|ME_RUNPC1; //ADC_1&lt;BR /&gt; MC_ME.PCTL137.R = DBGm|ME_LPPC0|ME_RUNPC1; //ETIMER_1&lt;BR /&gt; MC_ME.PCTL141.R = DBGm|ME_LPPC0|ME_RUNPC0; //CTU_1&lt;BR /&gt; MC_ME.PCTL144.R = DBGm|ME_LPPC0|ME_RUNPC1; //PWM_1&lt;BR /&gt; MC_ME.PCTL146.R = DBGm|ME_LPPC0|ME_RUNPC0; //DMAMUX_1&lt;BR /&gt; MC_ME.PCTL204.R = DBGm|ME_LPPC0|ME_RUNPC1; //LINFlex_0&lt;BR /&gt; MC_ME.PCTL208.R = DBGm|ME_LPPC0|ME_RUNPC0; //DSPI_3&lt;BR /&gt; MC_ME.PCTL209.R = DBGm|ME_LPPC0|ME_RUNPC1; //DSPI_2&lt;BR /&gt; MC_ME.PCTL214.R = DBGm|ME_LPPC0|ME_RUNPC0; //SENT_1&lt;BR /&gt; MC_ME.PCTL235.R = DBGm|ME_LPPC0|ME_RUNPC1; //ADC_2&lt;BR /&gt; MC_ME.PCTL237.R = DBGm|ME_LPPC0|ME_RUNPC1; //ADC_0&lt;BR /&gt; MC_ME.PCTL239.R = DBGm|ME_LPPC0|ME_RUNPC0; //SGEN_0&lt;BR /&gt; MC_ME.PCTL245.R = DBGm|ME_LPPC0|ME_RUNPC0; //ETIMER_2&lt;BR /&gt; MC_ME.PCTL247.R = DBGm|ME_LPPC0|ME_RUNPC1; //ETIMER_0&lt;BR /&gt; MC_ME.PCTL251.R = DBGm|ME_LPPC0|ME_RUNPC1; //CTU_0&lt;BR /&gt; MC_ME.PCTL255.R = DBGm|ME_LPPC0|ME_RUNPC1; //PWM_0&lt;BR /&gt;}&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;3. config AIPS&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;void _configAIPS(void)&lt;BR /&gt;{&lt;BR /&gt; int32_t i;&lt;/P&gt;&lt;P&gt;AIPS_0.MPRA.R |= 0x77777777;&lt;BR /&gt; AIPS_1.MPRA.R |= 0x77777777;&lt;BR /&gt; for (i=0;i&amp;lt;8;i++)&lt;BR /&gt; {&lt;BR /&gt; if (i !=4 )&lt;BR /&gt; {&lt;BR /&gt; AIPS_0.PACR[i].R = 0x00000000;&lt;BR /&gt; AIPS_1.PACR[i].R = 0x00000000;&lt;BR /&gt; }&lt;BR /&gt; }&lt;BR /&gt; for (i=0;i&amp;lt;32;i++)&lt;BR /&gt; {&lt;BR /&gt; AIPS_0.OPACR[i].R = 0x00000000;&lt;BR /&gt; AIPS_1.OPACR[i].R = 0x00000000;&lt;BR /&gt; }&lt;BR /&gt;}&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;4. config PLL Clock and switch to RUN0&lt;/P&gt;&lt;P&gt;5. config FCCU&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;void _configFCCU(void)&lt;BR /&gt;{&lt;BR /&gt; /* Unlock configuration */&lt;BR /&gt; FCCU.TRANS_LOCK.B.TRANSKEY = 0xBC;&lt;/P&gt;&lt;P&gt;/* provide Config state key */&lt;BR /&gt; FCCU.CTRLK.R = 0x913756AF;&lt;/P&gt;&lt;P&gt;/* enter config state - OP1 */&lt;BR /&gt; FCCU.CTRL.R = 0x1;&lt;/P&gt;&lt;P&gt;/* Verify if state change was sucessful */&lt;BR /&gt; while (FCCU.CTRL.B.OPS != 0x3); //operation status successful&lt;/P&gt;&lt;P&gt;/* Configure FCCU to react on NCF14 with long functional reset */&lt;BR /&gt; FCCU.NCFS_CFG[0].B.NCFSC14 = 0x01; //short functional reset reaction&lt;/P&gt;&lt;P&gt;//set up the NOMAL mode of FCCU&lt;BR /&gt; FCCU.CTRLK.R = 0x825A132B; //key for OP2&lt;BR /&gt; FCCU.CTRL.R = 0x2; //set the OP2 - set up FCCU into the NORMAL mode&lt;BR /&gt; while (FCCU.CTRL.B.OPS != 0x3); //operational status succesfull&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;6. config GPIO PTA7&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;#define GPIO_IBE(x) &amp;nbsp; &lt;SPAN class=""&gt; &lt;/SPAN&gt;SIUL2.MSCR[x].B.IBE&lt;/P&gt;&lt;P&gt;#define IMCR_PADSEL(x) &lt;SPAN class=""&gt; &lt;/SPAN&gt;SIUL2.IMCR[x].B.SSS&lt;SPAN class=""&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&lt;SPAN class=""&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&lt;/SPAN&gt;int32_t drv_gpio_initialize(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;GPIO_IBE(SP4) = 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;// SP4 Define to 7&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;IMCR_PADSEL(180) = 1;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;7. enable External Interrupt, Channel is 7, ExtiEvent is FALLING, Enable is TRUE&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;int32_t drv_exti_set(EXTITypedef Channel,EXTIEventTypedef ExtiEvent,uint8_t Enable)&lt;BR /&gt;{&lt;BR /&gt; if (Channel &amp;gt;= MAX_EXTI_CHANNELS) //Range Check&lt;BR /&gt; return EINVAL;&lt;BR /&gt; if (Enable == TRUE)&lt;BR /&gt; {&lt;BR /&gt; SIUL2.DIRER0.R &amp;amp;= ~_BV(Channel); //&amp;nbsp;Disable first.&lt;BR /&gt; if (ExtiEvent == FALLING) &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;//Falling Edge&lt;BR /&gt; {&lt;BR /&gt; SIUL2.IFEER0.R |= _BV(Channel); //Enable Falling&lt;BR /&gt; SIUL2.IREER0.R &amp;amp;= ~_BV(Channel); //Disable Rising&lt;BR /&gt; }&lt;BR /&gt; else if (ExtiEvent == RISING)&lt;BR /&gt; {&lt;BR /&gt; SIUL2.IREER0.R |= _BV(Channel); //Enable Rising&lt;BR /&gt; SIUL2.IFEER0.R &amp;amp;= ~_BV(Channel); //Disable Falling&lt;BR /&gt; }&lt;BR /&gt; SIUL2.IFER0.R |= _BV(Channel); //Enable Filter&lt;BR /&gt; SIUL2.DISR0.R |= _BV(Channel); //Clear Flag First&lt;BR /&gt; SIUL2.DIRER0.R |= _BV(Channel); //Enable&amp;nbsp;&lt;BR /&gt; }&lt;BR /&gt; else&amp;nbsp;&lt;BR /&gt; {&lt;BR /&gt; SIUL2.DIRER0.R &amp;amp;= ~_BV(Channel);&amp;nbsp;&lt;BR /&gt; }&lt;BR /&gt; return EOK;&lt;BR /&gt;}&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;8. External Interrupt 0 Handler&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;void SIUExternalIRQ0To7(void)&lt;BR /&gt;{&lt;BR /&gt; uint32_t Flag = SIUL2.DISR0.R&amp;amp;0x000000FF;&lt;BR /&gt; SIUL2.DISR0.R=0x000000FF;&lt;BR /&gt; drv_exti_irq_handler(Flag);&lt;BR /&gt;}&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;void (*drv_exti_irq_callback[MAX_EXTI_CHANNELS])(void);&lt;/P&gt;&lt;P&gt;void drv_exti_irq_handler(uint32_t Flag)&lt;BR /&gt;{&lt;BR /&gt; uint32_t i;&lt;BR /&gt; for (i=0; i&amp;lt;MAX_EXTI_CHANNELS; i++)&lt;BR /&gt; {&lt;BR /&gt; if (drv_exti_irq_callback[i] != NULL &amp;amp;&amp;amp; (Flag&amp;amp;_BV(i)))&lt;BR /&gt; drv_exti_irq_callback[i]();&lt;BR /&gt; }&lt;BR /&gt;}&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 17 Jan 2017 06:27:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/MPC5744P-External-Interrupt-0-Cause-Device-Reset/m-p/623542#M5538</guid>
      <dc:creator>hangxie</dc:creator>
      <dc:date>2017-01-17T06:27:01Z</dc:date>
    </item>
    <item>
      <title>Re: MPC5744P External Interrupt 0 Cause Device Reset</title>
      <link>https://community.nxp.com/t5/MPC5xxx/MPC5744P-External-Interrupt-0-Cause-Device-Reset/m-p/623543#M5539</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I posted some simple example for external interrupt to this thread:&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.nxp.com/thread/390644"&gt;https://community.nxp.com/thread/390644&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Martin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 17 Jan 2017 11:24:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/MPC5744P-External-Interrupt-0-Cause-Device-Reset/m-p/623543#M5539</guid>
      <dc:creator>martin_kovar</dc:creator>
      <dc:date>2017-01-17T11:24:30Z</dc:date>
    </item>
    <item>
      <title>Re: MPC5744P External Interrupt 0 Cause Device Reset</title>
      <link>https://community.nxp.com/t5/MPC5xxx/MPC5744P-External-Interrupt-0-Cause-Device-Reset/m-p/623544#M5540</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P style="color: #51626f; border: 0px;"&gt;Hi,&amp;nbsp;&lt;/P&gt;&lt;P style="color: #51626f; border: 0px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;I found the problem is caused by the FCCU configuration, If I remove the following function&amp;nbsp;&lt;SPAN&gt;_configFCCU() , then the cpu will not reset when external interrupt 0 happened.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; border: 0px;"&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;But this function only config the cpu to reset when SWT timeout, why it can effect the external interrupt?&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; border: 0px;"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;By the way, the SWT is disabled in my test.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; border: 0px;"&gt;&lt;/P&gt;&lt;P style="color: #51626f; border: 0px;"&gt;void _configFCCU(void)&lt;BR /&gt;{&lt;BR /&gt;/* Unlock configuration */&lt;BR /&gt;FCCU.TRANS_LOCK.B.TRANSKEY = 0xBC;&lt;/P&gt;&lt;P style="color: #51626f; border: 0px;"&gt;/* provide Config state key */&lt;BR /&gt;FCCU.CTRLK.R = 0x913756AF;&lt;/P&gt;&lt;P style="color: #51626f; border: 0px;"&gt;/* enter config state - OP1 */&lt;BR /&gt;FCCU.CTRL.R = 0x1;&lt;/P&gt;&lt;P style="color: #51626f; border: 0px;"&gt;/* Verify if state change was sucessful */&lt;BR /&gt;while (FCCU.CTRL.B.OPS != 0x3); //operation status successful&lt;/P&gt;&lt;P style="color: #51626f; border: 0px;"&gt;/* Configure FCCU to react on NCF14 with long functional reset */&lt;BR /&gt;FCCU.NCFS_CFG[0].B.NCFSC14 = 0x01; //short functional reset reaction&lt;/P&gt;&lt;P style="color: #51626f; border: 0px;"&gt;//set up the NOMAL mode of FCCU&lt;BR /&gt;FCCU.CTRLK.R = 0x825A132B; //key for OP2&lt;BR /&gt;FCCU.CTRL.R = 0x2; //set the OP2 - set up FCCU into the NORMAL mode&lt;BR /&gt;while (FCCU.CTRL.B.OPS != 0x3); //operational status succesfull&lt;/P&gt;&lt;P style="color: #51626f; border: 0px;"&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Jan 2017 06:05:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/MPC5744P-External-Interrupt-0-Cause-Device-Reset/m-p/623544#M5540</guid>
      <dc:creator>hangxie</dc:creator>
      <dc:date>2017-01-18T06:05:08Z</dc:date>
    </item>
    <item>
      <title>Re: MPC5744P External Interrupt 0 Cause Device Reset</title>
      <link>https://community.nxp.com/t5/MPC5xxx/MPC5744P-External-Interrupt-0-Cause-Device-Reset/m-p/623545#M5541</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;the problem you deal with is little bit complicated, but I will try to explain.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SIUL2 external interrupt IRQ0 causes fault NCF32 in FCCU. This is the NCF32 fault description:&lt;/P&gt;&lt;P style="margin: 2.0pt 0in 2.0pt 0in;"&gt;&lt;SPAN style="font-size: 9.0pt;"&gt;Error input pin of this device. Because of the lack of a dedicated pin for this purpose, SIUL2 External Interrupt_0 can be used to indicate if any other MCU is going into Error state. Note: If interrupt is configured as the reaction of this NCF then the interrupt controller may observe two interrupts one due to FCCU and another due to the SIUL IRQ[0]. So, appropriate configuration must be done.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;By default, this NCF32 is enabled in FCCU (see registers NCF_E1), but no reaction is set.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FOSU is enabled by setting any bit of NCF_E and correspondingly same bit in any of the NMI_EN, IRQ_ALARM_EN, EOUT_SIG_EN or NCFS_CFG (in your case it is NCFS_CFG[0] - watchdog, NCF14).&amp;nbsp; As soon as external interrupt occurs, FOSU triggers its own internal watchdog and waits for NCF32 fault reaction. Because this reaction is not set, device is reset after FOSU internal watchdog timeout.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There are three ways, how to resolve your problem:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1) Disable the NCF32 fault in NCF_Ex register.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2) Configure reaction for the NCF32 fault (interrupt)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3) Use IRQ1 external interrupt instead of IRQ0. Do not forget about external interrupt routing to INTC controller.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_4.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/13808i869161A6E0D381DB/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_4.png" alt="pastedImage_4.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Use the pads, which have function REQ8 and higher. These are routed to IRQ1 - IRQ3.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_5.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/13862i3C7C88C55FE39E66/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_5.png" alt="pastedImage_5.png" /&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;Regards,&lt;/P&gt;&lt;P&gt;Martin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Jan 2017 12:50:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/MPC5744P-External-Interrupt-0-Cause-Device-Reset/m-p/623545#M5541</guid>
      <dc:creator>martin_kovar</dc:creator>
      <dc:date>2017-01-18T12:50:01Z</dc:date>
    </item>
    <item>
      <title>Re: MPC5744P External Interrupt 0 Cause Device Reset</title>
      <link>https://community.nxp.com/t5/MPC5xxx/MPC5744P-External-Interrupt-0-Cause-Device-Reset/m-p/623546#M5542</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;Thanks your reply, in our design, there two interrupt&amp;nbsp;&lt;SPAN&gt;source REQ7 and REQ8 in use, and can not change it to another (use the same board from MPC5643L, need to forward compatible the previous product), so I try to d&lt;SPAN style="background-color: #ffffff;"&gt;isable the NCF32 fault in NCF_E[1] during FCCU config, now&amp;nbsp;the problem solved, great thanks!&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE class="language-c line-numbers"&gt;&lt;CODE&gt;&amp;nbsp; &lt;SPAN class="comment token"&gt;/* Disable NCF32 */&lt;/SPAN&gt;
&amp;nbsp; FCCU&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;NCF_E&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;B&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;NCFE0 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jan 2017 01:44:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/MPC5744P-External-Interrupt-0-Cause-Device-Reset/m-p/623546#M5542</guid>
      <dc:creator>hangxie</dc:creator>
      <dc:date>2017-01-19T01:44:33Z</dc:date>
    </item>
  </channel>
</rss>

