<?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 Interrupt Enable Lock Up in i.MX RT Crossover MCUs</title>
    <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Interrupt-Enable-Lock-Up/m-p/1195557#M11576</link>
    <description>&lt;P&gt;Hi Gents,&lt;/P&gt;&lt;P&gt;&amp;nbsp;I'm locking up when I hit the following EnableIRQ() below:&lt;/P&gt;&lt;P&gt;&lt;EM&gt;// CONTROLLER 1 ///////////////////////////////////////////////////////////&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;irqNumber = usbHOSTEhciIrq[CONTROLLER1_ID - kUSB_ControllerEhci0];&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;ppPRINTF(DEBUG_CONSOLE_MODE_INFO, " ControllerID: %i", CONTROLLER1_ID - kUSB_ControllerEhci0);&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;ppPRINTF(DEBUG_CONSOLE_MODE_INFO, " Clock: %i", BOARD_XTAL0_CLK_HZ);&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;ppPRINTF(DEBUG_CONSOLE_MODE_INFO, " IRQ: %i", irqNumber);&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;ppPRINTF(0, "setup usb clocking");&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;CLOCK_EnableUsbhs1PhyPllClock(kCLOCK_Usbphy480M, 480000000U);&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;CLOCK_EnableUsbhs1Clock(kCLOCK_Usb480M, 480000000U);&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;ppPRINTF(0, "setup usb phy");&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;USB_EhciPhyInit(CONTROLLER1_ID, BOARD_XTAL0_CLK_HZ, &amp;amp;phyConfig);&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;ppPRINTF(0, "usb host init");&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;// Init USB host&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;status = USB_HostInit(CONTROLLER1_ID, &amp;amp;g_HostHandle1, USB_HostEvent);&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;if (status != kStatus_USB_Success)&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;{&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;ppPRINTF(DEBUG_CONSOLE_MODE_ERROR, "USB host init error");&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;HMI_config.system_error |= HMI_USB_ERROR;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;return 0;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;}&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;ppPRINTF(0, "setup usb irq");&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;//setup IRQ&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;NVIC_SetPriority((IRQn_Type)irqNumber, USB_HOST_INTERRUPT_PRIORITY);&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;ppPRINTF(0, "enable usb irq");&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;NVIC_ClearPendingIRQ((IRQn_Type)irqNumber);&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;EnableIRQ((IRQn_Type)irqNumber);&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The lock up only happens when I use a bootloader. Perhaps I need to clear all interrupts and set boot conditions(clear flags?)? How can I accomplish this?&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="regsisters-bad.png" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/132150iECC344F268192434/image-size/large?v=v2&amp;amp;px=999" role="button" title="regsisters-bad.png" alt="regsisters-bad.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 08 Dec 2020 18:52:32 GMT</pubDate>
    <dc:creator>mspenard603</dc:creator>
    <dc:date>2020-12-08T18:52:32Z</dc:date>
    <item>
      <title>Interrupt Enable Lock Up</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Interrupt-Enable-Lock-Up/m-p/1195557#M11576</link>
      <description>&lt;P&gt;Hi Gents,&lt;/P&gt;&lt;P&gt;&amp;nbsp;I'm locking up when I hit the following EnableIRQ() below:&lt;/P&gt;&lt;P&gt;&lt;EM&gt;// CONTROLLER 1 ///////////////////////////////////////////////////////////&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;irqNumber = usbHOSTEhciIrq[CONTROLLER1_ID - kUSB_ControllerEhci0];&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;ppPRINTF(DEBUG_CONSOLE_MODE_INFO, " ControllerID: %i", CONTROLLER1_ID - kUSB_ControllerEhci0);&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;ppPRINTF(DEBUG_CONSOLE_MODE_INFO, " Clock: %i", BOARD_XTAL0_CLK_HZ);&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;ppPRINTF(DEBUG_CONSOLE_MODE_INFO, " IRQ: %i", irqNumber);&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;ppPRINTF(0, "setup usb clocking");&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;CLOCK_EnableUsbhs1PhyPllClock(kCLOCK_Usbphy480M, 480000000U);&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;CLOCK_EnableUsbhs1Clock(kCLOCK_Usb480M, 480000000U);&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;ppPRINTF(0, "setup usb phy");&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;USB_EhciPhyInit(CONTROLLER1_ID, BOARD_XTAL0_CLK_HZ, &amp;amp;phyConfig);&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;ppPRINTF(0, "usb host init");&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;// Init USB host&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;status = USB_HostInit(CONTROLLER1_ID, &amp;amp;g_HostHandle1, USB_HostEvent);&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;if (status != kStatus_USB_Success)&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;{&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;ppPRINTF(DEBUG_CONSOLE_MODE_ERROR, "USB host init error");&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;HMI_config.system_error |= HMI_USB_ERROR;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;return 0;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;}&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;ppPRINTF(0, "setup usb irq");&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;//setup IRQ&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;NVIC_SetPriority((IRQn_Type)irqNumber, USB_HOST_INTERRUPT_PRIORITY);&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;ppPRINTF(0, "enable usb irq");&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;NVIC_ClearPendingIRQ((IRQn_Type)irqNumber);&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;EnableIRQ((IRQn_Type)irqNumber);&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The lock up only happens when I use a bootloader. Perhaps I need to clear all interrupts and set boot conditions(clear flags?)? How can I accomplish this?&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="regsisters-bad.png" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/132150iECC344F268192434/image-size/large?v=v2&amp;amp;px=999" role="button" title="regsisters-bad.png" alt="regsisters-bad.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 08 Dec 2020 18:52:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Interrupt-Enable-Lock-Up/m-p/1195557#M11576</guid>
      <dc:creator>mspenard603</dc:creator>
      <dc:date>2020-12-08T18:52:32Z</dc:date>
    </item>
    <item>
      <title>Re: Interrupt Enable Lock Up</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Interrupt-Enable-Lock-Up/m-p/1199199#M11665</link>
      <description>&lt;P&gt;Customer solution: The vector table was not moved correctly and did not have required space.&lt;/P&gt;</description>
      <pubDate>Mon, 14 Dec 2020 23:46:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Interrupt-Enable-Lock-Up/m-p/1199199#M11665</guid>
      <dc:creator>FelipeGarcia</dc:creator>
      <dc:date>2020-12-14T23:46:00Z</dc:date>
    </item>
  </channel>
</rss>

