I am attempting to follow the instructions for using a flash image with CRC checksum as described in AN13183. I can successfully turn my application's axf file into a binary image with the MCUXpresso IDE or the arm-none-eabi-objcopy command line. The generated bin file boots and runs as expected when programmed onto the LPC55S16-EVK using the blhost.exe utility.
I am having problems, however, with getting a CRC based image to boot. Using the elftosb-gui utility as directed by the application note, I get a binary file that does not seem to boot (nothing appears on the USB bus and I see no serial output from the debug console). There are only 8 bytes different between the two binary files:
Offset 0x20: 0x00 0x00 -> 0x34 0xB7
Offset 0x24: 0x00 0x00 -> 0x05 0x40
Offset 0x28: 0x00 0x00 0x00 0x00 -> 0x24 0x16 0xB7 0x3A
According to Table 1, Offset 0x20 is the application length which should be 0 for image type 0. My bin file is 46900 (0xB734) bytes long.
Offset 0x24 is the image type, which Table 1 indicates should be 0x0005 for a CRC image. The value 0x4005 is not listed as a valid option.
If I change the image type from 0x4005 to 0x00005 the LPC55S16-EVK boots into the ISP boot-loader, likely because the length and/or CRC value is incorrect. With the image type set to 0x4005, I get no response from the board unless I force it into ISP mode (press reset with the ISP button pressed).
Please advise how to generate a correct CRC bin image for the LPC55S16. The json and script files created by elftosb-gui (version 1.0.10) are attached as a reference.