Hi,
For an image to be Dual Enhanced, it needs to have the Dual Enhanced image marker value (0x0FFEB6B6) at offset 0x24. It must also have a valid image header in the image pointed to at offset 0x28.
One of the images must start at sector 0. The other image must be aligned on a sector boundary and linked to run at the sector start address where the image is programmed. Either image can have optional new event handler table (256-Words aligned).
For Dual Enhanced image creation, two standalone images (Image1, Image2) should be created. The Image1 and Image2 has below arguments for CRC calculation.
IMAGE1 starts at FLASH sector 0
BOOTADDR = 0 (For all Single Enhanced image)
IMAGEHEADEROFFSET = 0x124 (Depict in address 0x28, ImageHeader offset)
IMAGE2 starts at FLASH sector X (e.g. 0x8000)
BOOTADDR = SECTOR X start
IMAGEHEADEROFFSET = BOOTADDR + 0x124 (Depict in address BOOTADDR + 0x28)
Based on legacy image creation, three additional steps are required to create a Single Enhanced image.
1. Add enhanced image flag
For Single Enhanced image, the boot address is 0, the enhanced image flag is at 0x24 and the pointer to image header is at 0x28.
In MCUXPRESSO SDK project, these values can be edited in file “startup_LPC54608.s”.

2. Add Single Enhanced image header
Add Single Enhanced image header at end of ISR vector table in file “startup_LPC54608.s”

3. Processing Single Enhanced image.
For Dual Enhanced image creation, Image1 creation procedures are similar to the Single Enhanced image creation which below has three steps, additional there are minor differences in step 1 and 2 as shown following figures.


1. The image marker is 0x0FFEB6B6 in Dual Enhanced image.
2. Version information in image header is applicable.
As of Image2 creation, it can follow the procedures of Image1 creation to set up image flag and image marker. Moreover, as the BOOTADDR of Image2 is not 0 but FLASH sector X boundary, linker script changes are required.
The linker script file is “LPC54608J512_flash.scf” (KEIL) and in “lpc54608J512_flash.icf” (IAR). The address of m_interrupts_start should be set to BOOTADDR and other defined symbol should move forward in sequence.
I hope this helps,
Regards
Sol