MIMXRT1064 custom PCB not booting - firmware programmed via SWD but no execution from 0x70000000

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

MIMXRT1064 custom PCB not booting - firmware programmed via SWD but no execution from 0x70000000

2,070 Views
Anushka_SS
Contributor II

Hi,

I have a custom PCB with MIMXRT1064DVL6B chip.
I followed Teensy 4.1 schematic to design my custom PCB.

BOOT_MODE pin configuration (following Teensy 4.1 schematic):
- GPIO_AD_B0_05 (BOOT_MODE1) = connected to GND
- GPIO_AD_B0_04 (BOOT_MODE0) = originally connected to
Teensy bootloader chip, but since I am using DAPLink
probe for programming instead, I connected this to GND.
- So BOOT_MODE = 00 = Boot From Fuses

Current fuse values read via pyOCD:
- BOOT_CFG0 (0x400D8450) = 0x00000000
- BOOT_CFG1 (0x400D8460) = 0x00000012
- BOOT_CFG2 (0x400D8470) = 0x00011006
- SRC_SBMR2 (0x400F8020) = 0xfa43fce4

Programming method: DAPLink probe + pyOCD via SWD
Firmware base address in hex file: 0x70000000
Firmware size: ~1.1MB

I did NOT solder any external QSPI flash chip because
MIMXRT1064 already has 4MB internal flash on chip.
I want to use this internal flash for booting.

Problem: After programming via pyOCD, chip does not boot.
Reading 0x70000000 via pyOCD shows all zeros.
Reading 0x60000000 shows data (0x4fee7cff pattern).

Questions:
1. Is connecting GPIO_AD_B0_04 to GND correct when
not using Teensy bootloader chip?
2. How to correctly program and boot MIMXRT1064 using
its internal 4MB flash via DAPLink probe?
3. What fuse settings are needed to boot from
internal flash at 0x60000000?

Thank you!

Labels (2)
0 Kudos
Reply
5 Replies

1,978 Views
mayliu1
NXP Employee
NXP Employee

Hi @Anushka_SS ,

Thank you so much for your interest in our products and for using our community.

Q1. Is connecting GPIO_AD_B0_04 to GND correct when not using Teensy bootloader chip?

A1: Yes, but please note that  in Boot From Fuses mode, whether the ROM actually performs normal boot or instead jumps to serial downloader depends on BT_FUSE_SEL .

mayliu1_0-1776998906752.png

Q2. How to correctly program and boot MIMXRT1064 using its internal 4MB flash via DAPLink probe?

A2:  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.

https://www.nxp.com/docs/en/application-note/AN12290.pdf

I suggest you can refer to this application note for reference.


Q3. What fuse settings are needed to boot from internal flash at 0x60000000?

A3: 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. 

 

Best Regards

May Liu

0 Kudos
Reply

1,955 Views
Anushka_SS
Contributor II
Hi,

Thank you for your previous response. I have made progress
based on your advice.

Current Status:
- BOOT_MODE = 00 (Boot From Fuses)
- BT_FUSE_SEL = 1 (programmed via pyOCD)
- Firmware successfully programmed at 0x70000000 via DAPLink/pyOCD
- Linker script base address = 0x70000000

Problem:
After programming, the chip does not boot correctly.
The code crashes immediately after startup.

Evidence:
- GDB debugger connects successfully
- After pressing F5 (Continue), code runs but crashes immediately
- When pressing Pause, GDB shows crash at random addresses:
0x0020e35a and 0x0020e358 (both in ITCM RAM region)
- The crash address is NOT fixed - it changes randomly each time
- Serial output (UART6 at 115200) shows nothing in Tera Term
- Ethernet LED stays ON continuously (not blinking)
- pyOCD confirms firmware is at 0x70000000

Framework:
- Using Teensy 4.1 Arduino framework via PlatformIO
- Chip is MIMXRT1064DVL6B (replaced from RT1062)
- First line in setup() is Serial6.begin(115200)
- Code crashes before any Serial6 output appears

Questions:
1. Is the Teensy 4.1 Arduino framework compatible with
MIMXRT1064DVL6B for booting from internal FlexSPI2 flash?
2. Could the random crash at ITCM addresses (0x0020e35a,
0x0020e358) be caused by incorrect startup/vector table
for RT1064 vs RT1062?
3. Is there any additional linker script or startup code
changes needed when migrating from RT1062 to RT1064?
4. Could the IVT header value 0x432000D1 (found at 0x70001000)
vs expected 0x402000D1 be causing the boot failure?

Thank you!
0 Kudos
Reply

1,879 Views
mayliu1
NXP Employee
NXP Employee

Hi @Anushka_SS ,

From NXP’s official support scope, the Teensy 4.1 Arduino framework is part of a third‑party ecosystem.
NXP does not provide official support or validation services for third‑party software frameworks
 
Thanks for your understanding and cooperation.
 
Best Regards
May Liu
0 Kudos
Reply

1,867 Views
Anushka_SS
Contributor II

Hi May Liu,

Thank you for your response. I understand NXP does
not support third-party frameworks like Teensy Arduino.

However, I want to clarify that this is NOT only a
Teensy/PlatformIO issue.

I also tested NXP's official hello_world example
from MCUXpresso SDK on my custom PCB with
MIMXRT1064DVL6B and it also crashes in Flash XIP mode.

Key observations:
- hello_world runs perfectly from RAM
- hello_world crashes from Flash XIP
- Crash address: 0x0020E360 (ITCM RAM region)
- Error: "Debug port inaccessible after access
at location 0x0020E360"
- Both Teensy framework AND MCUXpresso SDK crash
at same address

This confirms the issue is hardware related, not
framework related.

My hardware setup:
- MIMXRT1064DVL6B custom PCB
- 24MHz crystal on XTALI/XTALO
- All power pins connected correctly
- BOOT_MODE = 00, BT_FUSE_SEL = 1

Question: What hardware issues could cause Flash XIP
boot to fail while RAM execution works perfectly on
MIMXRT1064DVL6B?

Thank you!

0 Kudos
Reply

1,826 Views
MultipleMonomials
Contributor IV

Hmm... fwiw, 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):

  • the debugger connects and resets the chip
  • Your program doesn't run correctly and doesn't disable the RTWDOG (enabled at boot)
  • 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
  • The bootrom code crashes as it's not in a state to continue executing

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.

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 MCU Boot Utility + 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).

0 Kudos
Reply
%3CLINGO-SUB%20id%3D%22lingo-sub-2354592%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EMIMXRT1064%20custom%20PCB%20not%20booting%20-%20firmware%20programmed%20via%20SWD%20but%20no%20execution%20from%200x70000000%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2354592%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%2C%3C%2FP%3E%3CP%3EI%20have%20a%20custom%20PCB%20with%20MIMXRT1064DVL6B%20chip.%3CBR%20%2F%3EI%20followed%20Teensy%204.1%20schematic%20to%20design%20my%20custom%20PCB.%3C%2FP%3E%3CP%3EBOOT_MODE%20pin%20configuration%20(following%20Teensy%204.1%20schematic)%3A%3CBR%20%2F%3E-%20GPIO_AD_B0_05%20(BOOT_MODE1)%20%3D%20connected%20to%20GND%3CBR%20%2F%3E-%20GPIO_AD_B0_04%20(BOOT_MODE0)%20%3D%20originally%20connected%20to%3CBR%20%2F%3ETeensy%20bootloader%20chip%2C%20but%20since%20I%20am%20using%20DAPLink%3CBR%20%2F%3Eprobe%20for%20programming%20instead%2C%20I%20connected%20this%20to%20GND.%3CBR%20%2F%3E-%20So%20BOOT_MODE%20%3D%2000%20%3D%20Boot%20From%20Fuses%3C%2FP%3E%3CP%3ECurrent%20fuse%20values%20read%20via%20pyOCD%3A%3CBR%20%2F%3E-%20BOOT_CFG0%20(0x400D8450)%20%3D%200x00000000%3CBR%20%2F%3E-%20BOOT_CFG1%20(0x400D8460)%20%3D%200x00000012%3CBR%20%2F%3E-%20BOOT_CFG2%20(0x400D8470)%20%3D%200x00011006%3CBR%20%2F%3E-%20SRC_SBMR2%20(0x400F8020)%20%3D%200xfa43fce4%3C%2FP%3E%3CP%3EProgramming%20method%3A%20DAPLink%20probe%20%2B%20pyOCD%20via%20SWD%3CBR%20%2F%3EFirmware%20base%20address%20in%20hex%20file%3A%200x70000000%3CBR%20%2F%3EFirmware%20size%3A%20~1.1MB%3C%2FP%3E%3CP%3EI%20did%20NOT%20solder%20any%20external%20QSPI%20flash%20chip%20because%3CBR%20%2F%3EMIMXRT1064%20already%20has%204MB%20internal%20flash%20on%20chip.%3CBR%20%2F%3EI%20want%20to%20use%20this%20internal%20flash%20for%20booting.%3C%2FP%3E%3CP%3EProblem%3A%20After%20programming%20via%20pyOCD%2C%20chip%20does%20not%20boot.%3CBR%20%2F%3EReading%200x70000000%20via%20pyOCD%20shows%20all%20zeros.%3CBR%20%2F%3EReading%200x60000000%20shows%20data%20(0x4fee7cff%20pattern).%3C%2FP%3E%3CP%3EQuestions%3A%3CBR%20%2F%3E1.%20Is%20connecting%20GPIO_AD_B0_04%20to%20GND%20correct%20when%3CBR%20%2F%3Enot%20using%20Teensy%20bootloader%20chip%3F%3CBR%20%2F%3E2.%20How%20to%20correctly%20program%20and%20boot%20MIMXRT1064%20using%3CBR%20%2F%3Eits%20internal%204MB%20flash%20via%20DAPLink%20probe%3F%3CBR%20%2F%3E3.%20What%20fuse%20settings%20are%20needed%20to%20boot%20from%3CBR%20%2F%3Einternal%20flash%20at%200x60000000%3F%3C%2FP%3E%3CP%3EThank%20you!%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2354592%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3EBoot%20ROM%7CBooting%20%7C%20Flash%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3ECore%20and%20Memory%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2356855%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20MIMXRT1064%20custom%20PCB%20not%20booting%20-%20firmware%20programmed%20via%20SWD%20but%20no%20execution%20from%200x70000000%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2356855%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHmm...%20fwiw%2C%26nbsp%3B0x0020e35a%20is%20not%20an%20ITCM%20address%2C%20it's%20in%20the%20bootrom.%20I%20have%20seen%20behavior%20like%20what%20you%20describe%20sometimes%20in%20situations%20where%20(I%20think)%3A%3C%2FP%3E%3CUL%3E%3CLI%3Ethe%20debugger%20connects%20and%20resets%20the%20chip%3C%2FLI%3E%3CLI%3EYour%20program%20doesn't%20run%20correctly%20and%20doesn't%20disable%20the%20RTWDOG%26nbsp%3B(enabled%20at%20boot)%3C%2FLI%3E%3CLI%3EThe%20RTWDOG%20triggers%20and%20forces%20a%20reset%20back%20to%20bootrom%20code%2C%20or%20perhaps%20your%20program%20doesn't%20run%20correctly%20and%20triggers%20a%20fault%20back%20to%20bootrom%20code%3C%2FLI%3E%3CLI%3EThe%20bootrom%20code%20crashes%20as%20it's%20not%20in%20a%20state%20to%20continue%20executing%3C%2FLI%3E%3C%2FUL%3E%3CP%3EThis%20seems%20kinda%20like%20somehow%20you%20are%20not%20correctly%20writing%20to%20the%20internal%20flash.%20Personally%20I'd%20recommend%20using%20either%20an%20MCU-Link%20%2B%20MCUXpressoIDE%20or%20a%20J-Link%20instead%20of%20pyocd.%20I%20have%20successfully%20used%20pyocd%20with%20RT1062%20before%20but%20not%20RT1064%2C%20and%20I%20consider%20it%20by%20far%20the%20buggiest%20of%20the%20available%20flash%20tools%2C%20so%20I'd%20be%20very%20suspicious.%3C%2FP%3E%3CP%3EI%20recommend%20you%20switch%20to%20MCU-Link%20or%20J-Link%20and%20then%2C%20if%20flashing%20with%20one%20of%20those%20doesn't%20work%2C%20try%20dumping%20the%20flexspi2%20flash%20and%20verifying%20that%20it%20contains%20the%20desired%20contents.%20Another%20option%20would%20be%20to%20force%20the%20chip%20into%20bootrom%20via%20the%20boot%20mode%20pins%20and%20then%20use%20%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2FJayHeng%2FNXP-MCUBootUtility%22%20target%3D%22_self%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3EMCU%20Boot%20Utility%3C%2FA%3E%20%2B%20a%20USB%20or%20UART%20connection%20to%20connect%20to%20the%20chip.%20This%20will%20let%20you%20both%20dump%20the%20existing%20flash%20contents%20and%20program%20it%20with%20your%20own%20elf%20file%20(though%20it's%20slow).%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2356300%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20MIMXRT1064%20custom%20PCB%20not%20booting%20-%20firmware%20programmed%20via%20SWD%20but%20no%20execution%20from%200x70000000%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2356300%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20May%20Liu%2C%3C%2FP%3E%3CP%3EThank%20you%20for%20your%20response.%20I%20understand%20NXP%20does%3CBR%20%2F%3Enot%20support%20third-party%20frameworks%20like%20Teensy%20Arduino.%3C%2FP%3E%3CP%3EHowever%2C%20I%20want%20to%20clarify%20that%20this%20is%20NOT%20only%20a%3CBR%20%2F%3ETeensy%2FPlatformIO%20issue.%3C%2FP%3E%3CP%3EI%20also%20tested%20NXP's%20official%20hello_world%20example%3CBR%20%2F%3Efrom%20MCUXpresso%20SDK%20on%20my%20custom%20PCB%20with%3CBR%20%2F%3EMIMXRT1064DVL6B%20and%20it%20also%20crashes%20in%20Flash%20XIP%20mode.%3C%2FP%3E%3CP%3EKey%20observations%3A%3CBR%20%2F%3E-%20hello_world%20runs%20perfectly%20from%20RAM%20%3CLI-EMOJI%20id%3D%22lia_white-heavy-check-mark%22%20title%3D%22%3Awhite_heavy_check_mark%3A%22%3E%3C%2FLI-EMOJI%3E%3CBR%20%2F%3E-%20hello_world%20crashes%20from%20Flash%20XIP%20%3CLI-EMOJI%20id%3D%22lia_cross-mark%22%20title%3D%22%3Across_mark%3A%22%3E%3C%2FLI-EMOJI%3E%3CBR%20%2F%3E-%20Crash%20address%3A%200x0020E360%20(ITCM%20RAM%20region)%3CBR%20%2F%3E-%20Error%3A%20%22Debug%20port%20inaccessible%20after%20access%3CBR%20%2F%3Eat%20location%200x0020E360%22%3CBR%20%2F%3E-%20Both%20Teensy%20framework%20AND%20MCUXpresso%20SDK%20crash%3CBR%20%2F%3Eat%20same%20address%3C%2FP%3E%3CP%3EThis%20confirms%20the%20issue%20is%20hardware%20related%2C%20not%3CBR%20%2F%3Eframework%20related.%3C%2FP%3E%3CP%3EMy%20hardware%20setup%3A%3CBR%20%2F%3E-%20MIMXRT1064DVL6B%20custom%20PCB%3CBR%20%2F%3E-%2024MHz%20crystal%20on%20XTALI%2FXTALO%20%3CLI-EMOJI%20id%3D%22lia_white-heavy-check-mark%22%20title%3D%22%3Awhite_heavy_check_mark%3A%22%3E%3C%2FLI-EMOJI%3E%3CBR%20%2F%3E-%20All%20power%20pins%20connected%20correctly%20%3CLI-EMOJI%20id%3D%22lia_white-heavy-check-mark%22%20title%3D%22%3Awhite_heavy_check_mark%3A%22%3E%3C%2FLI-EMOJI%3E%3CBR%20%2F%3E-%20BOOT_MODE%20%3D%2000%2C%20BT_FUSE_SEL%20%3D%201%20%3CLI-EMOJI%20id%3D%22lia_white-heavy-check-mark%22%20title%3D%22%3Awhite_heavy_check_mark%3A%22%3E%3C%2FLI-EMOJI%3E%3C%2FP%3E%3CP%3EQuestion%3A%20What%20hardware%20issues%20could%20cause%20Flash%20XIP%3CBR%20%2F%3Eboot%20to%20fail%20while%20RAM%20execution%20works%20perfectly%20on%3CBR%20%2F%3EMIMXRT1064DVL6B%3F%3C%2FP%3E%3CP%3EThank%20you!%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2356235%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20MIMXRT1064%20custom%20PCB%20not%20booting%20-%20firmware%20programmed%20via%20SWD%20but%20no%20execution%20from%200x70000000%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2356235%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F261976%22%20target%3D%22_blank%22%3E%40Anushka_SS%3C%2FA%3E%26nbsp%3B%2C%3C%2FP%3E%0A%3CDIV%3E%0A%3CDIV%3EFrom%20NXP%E2%80%99s%20official%20support%20scope%2C%20the%20Teensy%204.1%20Arduino%20framework%20is%20part%20of%20a%20third%E2%80%91party%20ecosystem.%3C%2FDIV%3E%0A%3CDIV%3ENXP%20does%20not%20provide%20official%20support%20or%20validation%20services%20for%20third%E2%80%91party%20software%20frameworks%3C%2FDIV%3E%0A%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%0A%3CDIV%3EThanks%20for%20your%20understanding%20and%20cooperation.%3C%2FDIV%3E%0A%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%0A%3CDIV%3EBest%20Regards%3C%2FDIV%3E%0A%3CDIV%3EMay%20Liu%3C%2FDIV%3E%0A%3C%2FDIV%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2356068%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20MIMXRT1064%20custom%20PCB%20not%20booting%20-%20firmware%20programmed%20via%20SWD%20but%20no%20execution%20from%200x70000000%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2356068%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EHi%2C%3CBR%20%2F%3E%3CBR%20%2F%3EThank%20you%20for%20your%20previous%20response.%20I%20have%20made%20progress%3CBR%20%2F%3Ebased%20on%20your%20advice.%3CBR%20%2F%3E%3CBR%20%2F%3ECurrent%20Status%3A%3CBR%20%2F%3E-%20BOOT_MODE%20%3D%2000%20(Boot%20From%20Fuses)%3CBR%20%2F%3E-%20BT_FUSE_SEL%20%3D%201%20(programmed%20via%20pyOCD)%3CBR%20%2F%3E-%20Firmware%20successfully%20programmed%20at%200x70000000%20via%20DAPLink%2FpyOCD%3CBR%20%2F%3E-%20Linker%20script%20base%20address%20%3D%200x70000000%20%3CLI-EMOJI%20id%3D%22lia_white-heavy-check-mark%22%20title%3D%22%3Awhite_heavy_check_mark%3A%22%3E%3C%2FLI-EMOJI%3E%3CBR%20%2F%3E%3CBR%20%2F%3EProblem%3A%3CBR%20%2F%3EAfter%20programming%2C%20the%20chip%20does%20not%20boot%20correctly.%3CBR%20%2F%3EThe%20code%20crashes%20immediately%20after%20startup.%3CBR%20%2F%3E%3CBR%20%2F%3EEvidence%3A%3CBR%20%2F%3E-%20GDB%20debugger%20connects%20successfully%3CBR%20%2F%3E-%20After%20pressing%20F5%20(Continue)%2C%20code%20runs%20but%20crashes%20immediately%3CBR%20%2F%3E-%20When%20pressing%20Pause%2C%20GDB%20shows%20crash%20at%20random%20addresses%3A%3CBR%20%2F%3E0x0020e35a%20and%200x0020e358%20(both%20in%20ITCM%20RAM%20region)%3CBR%20%2F%3E-%20The%20crash%20address%20is%20NOT%20fixed%20-%20it%20changes%20randomly%20each%20time%3CBR%20%2F%3E-%20Serial%20output%20(UART6%20at%20115200)%20shows%20nothing%20in%20Tera%20Term%3CBR%20%2F%3E-%20Ethernet%20LED%20stays%20ON%20continuously%20(not%20blinking)%3CBR%20%2F%3E-%20pyOCD%20confirms%20firmware%20is%20at%200x70000000%3CBR%20%2F%3E%3CBR%20%2F%3EFramework%3A%3CBR%20%2F%3E-%20Using%20Teensy%204.1%20Arduino%20framework%20via%20PlatformIO%3CBR%20%2F%3E-%20Chip%20is%20MIMXRT1064DVL6B%20(replaced%20from%20RT1062)%3CBR%20%2F%3E-%20First%20line%20in%20setup()%20is%20Serial6.begin(115200)%3CBR%20%2F%3E-%20Code%20crashes%20before%20any%20Serial6%20output%20appears%3CBR%20%2F%3E%3CBR%20%2F%3EQuestions%3A%3CBR%20%2F%3E1.%20Is%20the%20Teensy%204.1%20Arduino%20framework%20compatible%20with%3CBR%20%2F%3EMIMXRT1064DVL6B%20for%20booting%20from%20internal%20FlexSPI2%20flash%3F%3CBR%20%2F%3E2.%20Could%20the%20random%20crash%20at%20ITCM%20addresses%20(0x0020e35a%2C%3CBR%20%2F%3E0x0020e358)%20be%20caused%20by%20incorrect%20startup%2Fvector%20table%3CBR%20%2F%3Efor%20RT1064%20vs%20RT1062%3F%3CBR%20%2F%3E3.%20Is%20there%20any%20additional%20linker%20script%20or%20startup%20code%3CBR%20%2F%3Echanges%20needed%20when%20migrating%20from%20RT1062%20to%20RT1064%3F%3CBR%20%2F%3E4.%20Could%20the%20IVT%20header%20value%200x432000D1%20(found%20at%200x70001000)%3CBR%20%2F%3Evs%20expected%200x402000D1%20be%20causing%20the%20boot%20failure%3F%3CBR%20%2F%3E%3CBR%20%2F%3EThank%20you!%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2355544%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20MIMXRT1064%20custom%20PCB%20not%20booting%20-%20firmware%20programmed%20via%20SWD%20but%20no%20execution%20from%200x70000000%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2355544%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F261976%22%20target%3D%22_blank%22%3E%40Anushka_SS%3C%2FA%3E%26nbsp%3B%2C%3C%2FP%3E%0A%3CP%3EThank%20you%20so%20much%20for%20your%20interest%20in%20our%20products%20and%20for%20using%20our%20community.%3C%2FP%3E%0A%3CP%3EQ1.%20Is%20connecting%20GPIO_AD_B0_04%20to%20GND%20correct%20when%26nbsp%3Bnot%20using%20Teensy%20bootloader%20chip%3F%3C%2FP%3E%0A%3CP%3EA1%3A%20Yes%2C%20but%20please%20note%20that%26nbsp%3B%26nbsp%3Bin%26nbsp%3BBoot%20From%20Fuses%26nbsp%3Bmode%2C%20whether%20the%20ROM%20actually%20performs%20normal%20boot%20or%20instead%20jumps%20to%20serial%20downloader%20depends%20on%26nbsp%3BBT_FUSE_SEL%26nbsp%3B.%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22mayliu1_0-1776998906752.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22mayliu1_0-1776998906752.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F383412i0AFD4A4FD0FC849D%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22mayliu1_0-1776998906752.png%22%20alt%3D%22mayliu1_0-1776998906752.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3EQ2.%20How%20to%20correctly%20program%20and%20boot%20MIMXRT1064%20using%26nbsp%3Bits%20internal%204MB%20flash%20via%20DAPLink%20probe%3F%3C%2FP%3E%0A%3CP%3EA2%3A%20%3CSPAN%3E%26nbsp%3BFor%20MIMXRT1064%2C%20the%20bootable%20image%20must%20be%20linked%2Fprogrammed%20for%20the%20on-chip%20flash%20at%200x70000000%2C%20not%200x60000000.%20AN12290%20explicitly%20states%20that%20RT1064%20boots%20through%20FlexSPI2%20and%20that%20the%20linker%20base%20address%20must%20be%20updated%20from%200x60000000%20to%200x70000000%20when%20migrating%20from%20RT1060%20to%20RT1064.%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fwww.nxp.com%2Fdocs%2Fen%2Fapplication-note%2FAN12290.pdf%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fwww.nxp.com%2Fdocs%2Fen%2Fapplication-note%2FAN12290.pdf%3C%2FA%3E%3C%2FP%3E%0A%3CP%3EI%20suggest%20you%20can%20refer%20to%20this%20application%20note%20for%20reference.%3C%2FP%3E%0A%3CP%3E%3CBR%20%2F%3EQ3.%20What%20fuse%20settings%20are%20needed%20to%20boot%20from%26nbsp%3Binternal%20flash%20at%200x60000000%3F%3C%2FP%3E%0A%3CP%3EA3%3A%20%3CSPAN%3EThe%20RT1064%20on-chip%20QSPI%20flash%20boot%20address%20space%20is%200x70000000.%20So%20if%20your%20goal%20is%20to%20boot%20from%20the%20embedded%20flash%2C%200x60000000%20is%20not%20the%20correct%20image%20base%20address%20for%20RT1064.%26nbsp%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3EBest%20Regards%3C%2FP%3E%0A%3CP%3EMay%20Liu%3C%2FP%3E%3C%2FLINGO-BODY%3E