Hi,
I’m working on the local cloud in order to get system updates working. From what I can tell, everything should be working but maybe I’m missing something.
In my mind, the flow should work something like this for a Photon:
- Start sending part 1 of the system firmware
- Send
BeginUpdate
message with a value of00 01 00 00 03 d4 4c 00 08 02 00 00
.
0x03d44c
is the size of the part one firmware
I’m not using FastOTA for now so I can test some things. I’m passing the memory address of0x0802000
- Send all
Chunk
messages normally - Wait for
UpdateDone
COAP message
- Send
- Start sending part 2 of the system firmware – Repeate all substeps in 1 but pass a memory address of
0x0806000
- Send application firmware - Just send an address of
0x0
and the firmware will figure out where things go.
Is this flow correct?
Is there a special COAP message I need to send which will stop the device from resetting after each piece of firmware is sent?
So I’ve spent a lot of time trying to debug this and it seems like the memory address I’m sending isn’t correct or that I’m sending an incorrect flag.
The failure is happening when the first system message chunk is sent. I am getting an empty Ack
message back which tells me this code is running but I don’t know where it’s failing after that.