Reply
Highlighted
Posts: 1
Registered: ‎03-16-2017

EM357 application bootloader memory protection

We are buying ETRX357-LRS modules preloaded with our custom application bootloader. Recently we pulled from the field several modules having the issue with upgrade. Comparing the bootloader images from troubled modules we our original bootloader found multiple differences (below):

 

Original app. bootloader (type = 2):

08000000: 00 04 00 20 4F 02 00 08 65 02 00 08 65 02 00 08

08000010: A7 0B 07 01 00 00 00 00 01 02 0E 00 00 20 00 08

 

Not working bootloader (type = 1):

08000000: 00 04 00 20 D5 1E 00 08 A5 0E 00 08 A5 0E 00 08

08000010: A7 0B 09 01 00 00 00 00 03 01 00 56 00 20 00 08

 

Another not working bootloader. Correct type, but has some other differences:

08000000: 00 04 00 20 8F 02 00 08 A5 02 00 08 A5 02 00 08

08000010: A7 0B 07 01 00 00 00 00 01 02 04 01 00 20 00 08

 

Question:

Is it possible that bootloader is modified by the stack or by the bootloader itself?

 

Posts: 188
Registered: ‎02-05-2014

Re: EM357 application bootloader memory protection

Not sure what's stored in those bytes, but if these were supposed to be pre-loaded with your bootloader binary, how are the bytes not the same on all devices?  These bytes are part of the app-bootloader S37 file, so they should be pre-written to the expected contents...

 

The only flash writing that happens is towards the start of the app, where the bootloader marks the app valid after an upload completes OK.

--------
The views represented in this post are the independent views of the author and don't necessarily represent the official views of Silicon Labs.