Hi @kerryzhou, thanks for the info.
I was able to get the example running from ITCM when using the "Link application to RAM" option instead of the "Plain load image" option.
I do have the part set correctly for the i.mx rt1170 dev (MIMXRT1176xxxxx in the MCUXpresso MCU Settings), and the "Plain load image" option is always available for me even though I'm not using an LPCx.
So I just need to generate the boot headers for the RAM image at this point; I downloaded the MCU Boot Utility you linked and followed along with the user manual.
I set XIP_BOOT_HEADER_ENABLE = 0, even though "Link application to RAM" is specified and there is no boot header in the image.
I deselected "Manage linker script" and added the following vector table offset as suggested:

I configured the target as follows:

Boot Device Configuration:

DCD Configuration (none, just using internal SRAM):

I also set the IVT Entry Type:

I connected to the EVK and selected the MCUXpresso output file; when I select "Generate Unsigned Bootable Image" I get the following error:

I tried to change the Tools -> IVT Entry Type to be "Reset Handler" and "Vector Table" but the result is the same.
In all cases I tried the resulting srec does not have any boot headers added.
Can you please try to reproduce this problem or point me to a procedure for this part/IDE/project?
I'm now trying to just add the initial XIP project boot headers manually to the RAM linked image; changing the entry point and boot data, but haven't had any luck yet...
Just to confirm:
- IVT "entry" value is the ResetHandler address in ITCM (0x0000_24E9)
- Boot data "start" value is the address of the start of ITCM (0x0000_0000)
- Boot data "length" value is the length of ITCM (0x0004_0000)
- RAM application is linked in ITCM at offset 0x0000_2000
- I chose 0x2000 instead of 0x3000 as the offset.
- Why is this offset needed?
- My guess is that ROM copies the entire image from NOR into ITCM, including the boot headers, and the execute address would be wrong without it?
- Is there a way to eliminate this offset using the IVT/boot params (maybe IVT "self")?
I've attached this binary image; it looks ok to me but won't boot.
Thanks again for the help!