GHI.Processor.InFieldUpdate LoadException 0x0000

Dear specialists

Currently I have a repruceable exception on loading firmware onto g400:
“GHI.Processor.InFieldUpdate LoadException 0x0000”

NetMf 4.3 latest G400 Firmware:
Failed to load hex-file from usb2 storage filestream

Best regards


Looks like the following post from John at GHI Electronics was removed some how.

John says:
@ hweinfurterAAEj4i5 - Can you post a complete and minimal program that shows the issue? Along with which files you’re sending. Have you verified the hashes of the files you’re trying to use match the original files?

PHITEK says:
@ hweinfurterAAEj4i5 - Does your “image” file have a checksum that could be checked by your read image from SD card? This would help determine if the problem is on the file system side or IFU software.

the issue was, that there were missing data-frame segments at transferred hex file. the infield-update itself does not check the file/memory stream againts file-format.

I found out details about the used fileformat: Motorola SREC (.hex) Format
source: Hex-Format | IoT und Gadgets mit .Net Micro Framework + TinyCLR OS

I plan to check the file format before using infield-update function.
The hex-format should support header and footer and also count information.

In my case the first record starts not with an header record, instead only a data record is valid, also no termination records.
But there is an end record using identifier S309.

my question: ist the attached format correkt?

@ hweinfurterAAEj4i5 - I don’t think you need to parse the hex file yourself. I think the easier way would be to also send the precomputed hash along with the hex file that you verify on the device. The XTEA class we provide can do this pretty easily.