Hi @Dave_SU ,
Q1. As you mentioned, if my board is set to FlexSPI BOOT mode and XIP is not enabled, the flash.ld file will not be used, right?
BOOT set : PRIMARY_BOOT_SRC bits[3:0] is not set(default value is b'0000), ISP_Pin[2:0] is set '011'
2. When BOOT rom loads images, how do they work and which one works first?
=> As you know, the BOOT ROM will read the FCB at first, it will check the APP address, if it is the flash, then jump to the flash, if it is the RAM, copy the code from the flash to RAM, then jump to RAM.
=>kerry: when you generate the code, the ld file is not related to the boot now.
Do you know the srec file? If you generate the .srec file, you can find your app address, the address will let you see the memory area, about the address memory map, you can check the RT595 RM:

flash is the XIP code, RAM is the non-XIP code.
Q2.How does BOOT ROM check the address of APP, and how to distinguish whether it is flash or RAM?
=>kerry: check the resetISR address
Flash generated code, you can see the resetISR is in the flash:

RAM code:
resetISR is in the RAM address

Q3.Does the SDK have a demo about XIP?
=>All the SDK flash code is the XIP code in default.
Wish it helps you!
Best Regards,
Kerry