<?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: MIMXRT1064 custom PCB not booting - firmware programmed via SWD but no execution from 0x70000000 in MCX Microcontrollers</title>
    <link>https://community.nxp.com/t5/MCX-Microcontrollers/MIMXRT1064-custom-PCB-not-booting-firmware-programmed-via-SWD/m-p/2356855#M5304</link>
    <description>&lt;P&gt;Hmm... fwiw,&amp;nbsp;0x0020e35a is not an ITCM address, it's in the bootrom. I have seen behavior like what you describe sometimes in situations where (I think):&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;the debugger connects and resets the chip&lt;/LI&gt;&lt;LI&gt;Your program doesn't run correctly and doesn't disable the RTWDOG&amp;nbsp;(enabled at boot)&lt;/LI&gt;&lt;LI&gt;The RTWDOG triggers and forces a reset back to bootrom code, or perhaps your program doesn't run correctly and triggers a fault back to bootrom code&lt;/LI&gt;&lt;LI&gt;The bootrom code crashes as it's not in a state to continue executing&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;This seems kinda like somehow you are not correctly writing to the internal flash. Personally I'd recommend using either an MCU-Link + MCUXpressoIDE or a J-Link instead of pyocd. I have successfully used pyocd with RT1062 before but not RT1064, and I consider it by far the buggiest of the available flash tools, so I'd be very suspicious.&lt;/P&gt;&lt;P&gt;I recommend you switch to MCU-Link or J-Link and then, if flashing with one of those doesn't work, try dumping the flexspi2 flash and verifying that it contains the desired contents. Another option would be to force the chip into bootrom via the boot mode pins and then use &lt;A href="https://github.com/JayHeng/NXP-MCUBootUtility" target="_self"&gt;MCU Boot Utility&lt;/A&gt; + a USB or UART connection to connect to the chip. This will let you both dump the existing flash contents and program it with your own elf file (though it's slow).&lt;/P&gt;</description>
    <pubDate>Tue, 28 Apr 2026 03:22:18 GMT</pubDate>
    <dc:creator>MultipleMonomials</dc:creator>
    <dc:date>2026-04-28T03:22:18Z</dc:date>
    <item>
      <title>MIMXRT1064 custom PCB not booting - firmware programmed via SWD but no execution from 0x70000000</title>
      <link>https://community.nxp.com/t5/MCX-Microcontrollers/MIMXRT1064-custom-PCB-not-booting-firmware-programmed-via-SWD/m-p/2354592#M5269</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I have a custom PCB with MIMXRT1064DVL6B chip.&lt;BR /&gt;I followed Teensy 4.1 schematic to design my custom PCB.&lt;/P&gt;&lt;P&gt;BOOT_MODE pin configuration (following Teensy 4.1 schematic):&lt;BR /&gt;- GPIO_AD_B0_05 (BOOT_MODE1) = connected to GND&lt;BR /&gt;- GPIO_AD_B0_04 (BOOT_MODE0) = originally connected to&lt;BR /&gt;Teensy bootloader chip, but since I am using DAPLink&lt;BR /&gt;probe for programming instead, I connected this to GND.&lt;BR /&gt;- So BOOT_MODE = 00 = Boot From Fuses&lt;/P&gt;&lt;P&gt;Current fuse values read via pyOCD:&lt;BR /&gt;- BOOT_CFG0 (0x400D8450) = 0x00000000&lt;BR /&gt;- BOOT_CFG1 (0x400D8460) = 0x00000012&lt;BR /&gt;- BOOT_CFG2 (0x400D8470) = 0x00011006&lt;BR /&gt;- SRC_SBMR2 (0x400F8020) = 0xfa43fce4&lt;/P&gt;&lt;P&gt;Programming method: DAPLink probe + pyOCD via SWD&lt;BR /&gt;Firmware base address in hex file: 0x70000000&lt;BR /&gt;Firmware size: ~1.1MB&lt;/P&gt;&lt;P&gt;I did NOT solder any external QSPI flash chip because&lt;BR /&gt;MIMXRT1064 already has 4MB internal flash on chip.&lt;BR /&gt;I want to use this internal flash for booting.&lt;/P&gt;&lt;P&gt;Problem: After programming via pyOCD, chip does not boot.&lt;BR /&gt;Reading 0x70000000 via pyOCD shows all zeros.&lt;BR /&gt;Reading 0x60000000 shows data (0x4fee7cff pattern).&lt;/P&gt;&lt;P&gt;Questions:&lt;BR /&gt;1. Is connecting GPIO_AD_B0_04 to GND correct when&lt;BR /&gt;not using Teensy bootloader chip?&lt;BR /&gt;2. How to correctly program and boot MIMXRT1064 using&lt;BR /&gt;its internal 4MB flash via DAPLink probe?&lt;BR /&gt;3. What fuse settings are needed to boot from&lt;BR /&gt;internal flash at 0x60000000?&lt;/P&gt;&lt;P&gt;Thank you!&lt;/P&gt;</description>
      <pubDate>Wed, 22 Apr 2026 08:27:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCX-Microcontrollers/MIMXRT1064-custom-PCB-not-booting-firmware-programmed-via-SWD/m-p/2354592#M5269</guid>
      <dc:creator>Anushka_SS</dc:creator>
      <dc:date>2026-04-22T08:27:49Z</dc:date>
    </item>
    <item>
      <title>Re: MIMXRT1064 custom PCB not booting - firmware programmed via SWD but no execution from 0x70000000</title>
      <link>https://community.nxp.com/t5/MCX-Microcontrollers/MIMXRT1064-custom-PCB-not-booting-firmware-programmed-via-SWD/m-p/2355544#M5283</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/261976"&gt;@Anushka_SS&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;Thank you so much for your interest in our products and for using our community.&lt;/P&gt;
&lt;P&gt;Q1. Is connecting GPIO_AD_B0_04 to GND correct when&amp;nbsp;not using Teensy bootloader chip?&lt;/P&gt;
&lt;P&gt;A1: Yes, but please note that&amp;nbsp;&amp;nbsp;in&amp;nbsp;Boot From Fuses&amp;nbsp;mode, whether the ROM actually performs normal boot or instead jumps to serial downloader depends on&amp;nbsp;BT_FUSE_SEL&amp;nbsp;.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="mayliu1_0-1776998906752.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/383412i0AFD4A4FD0FC849D/image-size/medium?v=v2&amp;amp;px=400" role="button" title="mayliu1_0-1776998906752.png" alt="mayliu1_0-1776998906752.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;Q2. How to correctly program and boot MIMXRT1064 using&amp;nbsp;its internal 4MB flash via DAPLink probe?&lt;/P&gt;
&lt;P&gt;A2: &lt;SPAN&gt;&amp;nbsp;For MIMXRT1064, the bootable image must be linked/programmed for the on-chip flash at 0x70000000, not 0x60000000. AN12290 explicitly states that RT1064 boots through FlexSPI2 and that the linker base address must be updated from 0x60000000 to 0x70000000 when migrating from RT1060 to RT1064.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://www.nxp.com/docs/en/application-note/AN12290.pdf" target="_blank"&gt;https://www.nxp.com/docs/en/application-note/AN12290.pdf&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;I suggest you can refer to this application note for reference.&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Q3. What fuse settings are needed to boot from&amp;nbsp;internal flash at 0x60000000?&lt;/P&gt;
&lt;P&gt;A3: &lt;SPAN&gt;The RT1064 on-chip QSPI flash boot address space is 0x70000000. So if your goal is to boot from the embedded flash, 0x60000000 is not the correct image base address for RT1064.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best Regards&lt;/P&gt;
&lt;P&gt;May Liu&lt;/P&gt;</description>
      <pubDate>Fri, 24 Apr 2026 03:00:12 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCX-Microcontrollers/MIMXRT1064-custom-PCB-not-booting-firmware-programmed-via-SWD/m-p/2355544#M5283</guid>
      <dc:creator>mayliu1</dc:creator>
      <dc:date>2026-04-24T03:00:12Z</dc:date>
    </item>
    <item>
      <title>Re: MIMXRT1064 custom PCB not booting - firmware programmed via SWD but no execution from 0x70000000</title>
      <link>https://community.nxp.com/t5/MCX-Microcontrollers/MIMXRT1064-custom-PCB-not-booting-firmware-programmed-via-SWD/m-p/2356068#M5293</link>
      <description>Hi,&lt;BR /&gt;&lt;BR /&gt;Thank you for your previous response. I have made progress&lt;BR /&gt;based on your advice.&lt;BR /&gt;&lt;BR /&gt;Current Status:&lt;BR /&gt;- BOOT_MODE = 00 (Boot From Fuses)&lt;BR /&gt;- BT_FUSE_SEL = 1 (programmed via pyOCD)&lt;BR /&gt;- Firmware successfully programmed at 0x70000000 via DAPLink/pyOCD&lt;BR /&gt;- Linker script base address = 0x70000000 &lt;LI-EMOJI id="lia_white-heavy-check-mark" title=":white_heavy_check_mark:"&gt;&lt;/LI-EMOJI&gt;&lt;BR /&gt;&lt;BR /&gt;Problem:&lt;BR /&gt;After programming, the chip does not boot correctly.&lt;BR /&gt;The code crashes immediately after startup.&lt;BR /&gt;&lt;BR /&gt;Evidence:&lt;BR /&gt;- GDB debugger connects successfully&lt;BR /&gt;- After pressing F5 (Continue), code runs but crashes immediately&lt;BR /&gt;- When pressing Pause, GDB shows crash at random addresses:&lt;BR /&gt;0x0020e35a and 0x0020e358 (both in ITCM RAM region)&lt;BR /&gt;- The crash address is NOT fixed - it changes randomly each time&lt;BR /&gt;- Serial output (UART6 at 115200) shows nothing in Tera Term&lt;BR /&gt;- Ethernet LED stays ON continuously (not blinking)&lt;BR /&gt;- pyOCD confirms firmware is at 0x70000000&lt;BR /&gt;&lt;BR /&gt;Framework:&lt;BR /&gt;- Using Teensy 4.1 Arduino framework via PlatformIO&lt;BR /&gt;- Chip is MIMXRT1064DVL6B (replaced from RT1062)&lt;BR /&gt;- First line in setup() is Serial6.begin(115200)&lt;BR /&gt;- Code crashes before any Serial6 output appears&lt;BR /&gt;&lt;BR /&gt;Questions:&lt;BR /&gt;1. Is the Teensy 4.1 Arduino framework compatible with&lt;BR /&gt;MIMXRT1064DVL6B for booting from internal FlexSPI2 flash?&lt;BR /&gt;2. Could the random crash at ITCM addresses (0x0020e35a,&lt;BR /&gt;0x0020e358) be caused by incorrect startup/vector table&lt;BR /&gt;for RT1064 vs RT1062?&lt;BR /&gt;3. Is there any additional linker script or startup code&lt;BR /&gt;changes needed when migrating from RT1062 to RT1064?&lt;BR /&gt;4. Could the IVT header value 0x432000D1 (found at 0x70001000)&lt;BR /&gt;vs expected 0x402000D1 be causing the boot failure?&lt;BR /&gt;&lt;BR /&gt;Thank you!</description>
      <pubDate>Sat, 25 Apr 2026 06:19:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCX-Microcontrollers/MIMXRT1064-custom-PCB-not-booting-firmware-programmed-via-SWD/m-p/2356068#M5293</guid>
      <dc:creator>Anushka_SS</dc:creator>
      <dc:date>2026-04-25T06:19:40Z</dc:date>
    </item>
    <item>
      <title>Re: MIMXRT1064 custom PCB not booting - firmware programmed via SWD but no execution from 0x70000000</title>
      <link>https://community.nxp.com/t5/MCX-Microcontrollers/MIMXRT1064-custom-PCB-not-booting-firmware-programmed-via-SWD/m-p/2356235#M5295</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/261976"&gt;@Anushka_SS&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;DIV&gt;
&lt;DIV&gt;From NXP’s official support scope, the Teensy 4.1 Arduino framework is part of a third‑party ecosystem.&lt;/DIV&gt;
&lt;DIV&gt;NXP does not provide official support or validation services for third‑party software frameworks&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Thanks for your understanding and cooperation.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Best Regards&lt;/DIV&gt;
&lt;DIV&gt;May Liu&lt;/DIV&gt;
&lt;/DIV&gt;</description>
      <pubDate>Mon, 27 Apr 2026 03:00:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCX-Microcontrollers/MIMXRT1064-custom-PCB-not-booting-firmware-programmed-via-SWD/m-p/2356235#M5295</guid>
      <dc:creator>mayliu1</dc:creator>
      <dc:date>2026-04-27T03:00:54Z</dc:date>
    </item>
    <item>
      <title>Re: MIMXRT1064 custom PCB not booting - firmware programmed via SWD but no execution from 0x70000000</title>
      <link>https://community.nxp.com/t5/MCX-Microcontrollers/MIMXRT1064-custom-PCB-not-booting-firmware-programmed-via-SWD/m-p/2356300#M5297</link>
      <description>&lt;P&gt;Hi May Liu,&lt;/P&gt;&lt;P&gt;Thank you for your response. I understand NXP does&lt;BR /&gt;not support third-party frameworks like Teensy Arduino.&lt;/P&gt;&lt;P&gt;However, I want to clarify that this is NOT only a&lt;BR /&gt;Teensy/PlatformIO issue.&lt;/P&gt;&lt;P&gt;I also tested NXP's official hello_world example&lt;BR /&gt;from MCUXpresso SDK on my custom PCB with&lt;BR /&gt;MIMXRT1064DVL6B and it also crashes in Flash XIP mode.&lt;/P&gt;&lt;P&gt;Key observations:&lt;BR /&gt;- hello_world runs perfectly from RAM &lt;LI-EMOJI id="lia_white-heavy-check-mark" title=":white_heavy_check_mark:"&gt;&lt;/LI-EMOJI&gt;&lt;BR /&gt;- hello_world crashes from Flash XIP &lt;LI-EMOJI id="lia_cross-mark" title=":cross_mark:"&gt;&lt;/LI-EMOJI&gt;&lt;BR /&gt;- Crash address: 0x0020E360 (ITCM RAM region)&lt;BR /&gt;- Error: "Debug port inaccessible after access&lt;BR /&gt;at location 0x0020E360"&lt;BR /&gt;- Both Teensy framework AND MCUXpresso SDK crash&lt;BR /&gt;at same address&lt;/P&gt;&lt;P&gt;This confirms the issue is hardware related, not&lt;BR /&gt;framework related.&lt;/P&gt;&lt;P&gt;My hardware setup:&lt;BR /&gt;- MIMXRT1064DVL6B custom PCB&lt;BR /&gt;- 24MHz crystal on XTALI/XTALO &lt;LI-EMOJI id="lia_white-heavy-check-mark" title=":white_heavy_check_mark:"&gt;&lt;/LI-EMOJI&gt;&lt;BR /&gt;- All power pins connected correctly &lt;LI-EMOJI id="lia_white-heavy-check-mark" title=":white_heavy_check_mark:"&gt;&lt;/LI-EMOJI&gt;&lt;BR /&gt;- BOOT_MODE = 00, BT_FUSE_SEL = 1 &lt;LI-EMOJI id="lia_white-heavy-check-mark" title=":white_heavy_check_mark:"&gt;&lt;/LI-EMOJI&gt;&lt;/P&gt;&lt;P&gt;Question: What hardware issues could cause Flash XIP&lt;BR /&gt;boot to fail while RAM execution works perfectly on&lt;BR /&gt;MIMXRT1064DVL6B?&lt;/P&gt;&lt;P&gt;Thank you!&lt;/P&gt;</description>
      <pubDate>Mon, 27 Apr 2026 05:54:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCX-Microcontrollers/MIMXRT1064-custom-PCB-not-booting-firmware-programmed-via-SWD/m-p/2356300#M5297</guid>
      <dc:creator>Anushka_SS</dc:creator>
      <dc:date>2026-04-27T05:54:25Z</dc:date>
    </item>
    <item>
      <title>Re: MIMXRT1064 custom PCB not booting - firmware programmed via SWD but no execution from 0x70000000</title>
      <link>https://community.nxp.com/t5/MCX-Microcontrollers/MIMXRT1064-custom-PCB-not-booting-firmware-programmed-via-SWD/m-p/2356855#M5304</link>
      <description>&lt;P&gt;Hmm... fwiw,&amp;nbsp;0x0020e35a is not an ITCM address, it's in the bootrom. I have seen behavior like what you describe sometimes in situations where (I think):&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;the debugger connects and resets the chip&lt;/LI&gt;&lt;LI&gt;Your program doesn't run correctly and doesn't disable the RTWDOG&amp;nbsp;(enabled at boot)&lt;/LI&gt;&lt;LI&gt;The RTWDOG triggers and forces a reset back to bootrom code, or perhaps your program doesn't run correctly and triggers a fault back to bootrom code&lt;/LI&gt;&lt;LI&gt;The bootrom code crashes as it's not in a state to continue executing&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;This seems kinda like somehow you are not correctly writing to the internal flash. Personally I'd recommend using either an MCU-Link + MCUXpressoIDE or a J-Link instead of pyocd. I have successfully used pyocd with RT1062 before but not RT1064, and I consider it by far the buggiest of the available flash tools, so I'd be very suspicious.&lt;/P&gt;&lt;P&gt;I recommend you switch to MCU-Link or J-Link and then, if flashing with one of those doesn't work, try dumping the flexspi2 flash and verifying that it contains the desired contents. Another option would be to force the chip into bootrom via the boot mode pins and then use &lt;A href="https://github.com/JayHeng/NXP-MCUBootUtility" target="_self"&gt;MCU Boot Utility&lt;/A&gt; + a USB or UART connection to connect to the chip. This will let you both dump the existing flash contents and program it with your own elf file (though it's slow).&lt;/P&gt;</description>
      <pubDate>Tue, 28 Apr 2026 03:22:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCX-Microcontrollers/MIMXRT1064-custom-PCB-not-booting-firmware-programmed-via-SWD/m-p/2356855#M5304</guid>
      <dc:creator>MultipleMonomials</dc:creator>
      <dc:date>2026-04-28T03:22:18Z</dc:date>
    </item>
  </channel>
</rss>

