SystemUpdate - File size

I have few questions about SystemUpdate on EMX(Cobra). Im make bootloader application and get HEX file from device(bootloader.hex) I also have SDK HEX files and application HEX file(app.hex)… Im using 4.1.7.0 SDK. I think Im make something wrong when Im get app.hex file from device because it is to big…
Here are sizes:
CLR.HEX 1464KB
CLR2.HEX 1407KB
Config.HEX 7KB
bootloader.hex 199KB
app.hex 2517KB

If I check in VS bin/Debug folder Application.exe size is 905KB.
Resources use on HDD 705KB(Some images, http files and few fonts).
All Classes on HDD use 383KB.

Is this normal that app.hex is so big?

Yes. Read about the hex file format.

Updating that file size over 2G network will be pain :slight_smile:
also 4.5MB FLASH < 5594KB
I think that app.hex have included some files which are already in Firmware and are not necessary to Deploy…

I don’t think those HEX files are needed if you want to update only your application. The hex files are needed for updating the firmware on EMX (.netmf 4.2 update?).

Im talking about app.hex and not CLR.HEX&CLR2.HEX&Config.HEX&bootloader.hex
I know that I must update CLR.HEX&CLR2.HEX&Config.HEX&bootloader.hex only when new SDK is avalible and their total size is 3077KB and this is not problem if this happen only few times in year…
Main problem is that app.hex size is 2517KB which I think is to big…

You could compress it some way. Because HEX files are plain text files, the compression ratio would be very good. Still, I don’t know any .netmf compression libs.
Or you could send the binary and not the HEX file which is at least 2 times smaller.

There is not avalible any compression library for NETMF as I know…
If I zip HEX file on pc it go down to 539KB
Does in field update work with binary file(Application.exe)?

I’ve done some compression work with NETMF…painfully slow

Maybe RLP could speed things up…