OTA Mechanics #17102
DoubleVee73
started this conversation in
General
OTA Mechanics
#17102
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
I have a product that is very nearly reaching completion and I have recently moved away from ST Micro to use the RP2040. The codebase until now has been focussed on feature development and proving the overall design and functionality. As part of the final checks and before progressing any further, I wanted to verify the OTA mechanism. Having read multiple posts and entries online, I am now very concerned about achieving this on the rp2 ports (I would like to upgrade to the RP2350 in the very near future).
The product will be manufactured in the UK and I am also keen to support the RPi Foundation but obviously OTA is a critical feature for a commercial product. What I will have is a single frozen binary file, with REPL disabled etc in a modest attempt to add some obscurity. I would therefore like to be able to download an upgrade binary file, store this in flash and have a system of pointing to an image to load at boot time, possibly from a config file. My understanding is a custom bootloader could achieve this and I could write the new binary to the necessary location. This is well beyond my capabilities so I would have to subcontract this part, but before I go down that path, is what I am asking for feasible and sensible?
My other option is to move away from the rp2 and adopt something like an EPS32 which does seem to support OTA? This would be quite a blow though.
The product's network connection is via a separate 'network dongle' and there is a serial link between the two. This is necessary due to the physical constraints placed upon the product and there is simply no physical space for a network port or a CAT6 cable. I am wondering if the upgrade binary could be downloaded into the dongle and the dongle program the target RP2040 directly, potentially using the SWD interface? Would this be possible?
Beta Was this translation helpful? Give feedback.
All reactions