Hi!
This is a follow-up to my post from June https://community.nxp.com/message/669508
For bypassing the JS16 bootloader, it's important that the addresses FFB8/9/A are written:
FFB8: Flash Block Checksum High Byte
FFB9: Flash Block Checksum High Byte
FFBA: Checksum Bypass
It seems that the USBDM Flash Programmer does not write these.
E.g. this is the content of my s19 file:
S106FFB8D135003C
Written with USBDMs Flash Programmer and read again using USBDM Memory Dump, I get this:
S123FFA0FFFFFFFFFFFFFFFFFFFFFFFFFFFF01ADFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEAE
Written with a PE Multilink:
S123FFA0FFFFFFFFFFFFFFFFFFFFFFFFFFFF01AEFFFFFFFFFFFFFFFFD13500FFFFFFFFFEA4
The difference AD vs AE is OK. This is the clock trim value.
The checksum is calculated from 0xC400 TO 0xFFAD and 0xFFC0 TO 0xFFFF so the trim value does not affect the checksum.
It seems that the USBDM programmer just ignores anything in this address range. Maybe the Flash Programmer is calculating the trim value and writing just this to this page.
Also, the "Verify Flash" does not find this difference.
Programmer: 4.12.1.140
BDM Firmware 4.12.1
DLL Ver 4.12.1.130
Windows 7 Professional, 64 bit
Regards,
Dietmar