AnsweredAssumed Answered

Programming JS16 with USBDM (JM)

Question asked by Dietmar Schwertberger on Jan 14, 2017
Latest reply on Jan 14, 2017 by pgo

Hi!

This is a follow-up to my post from June JS16 

 

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

Outcomes