My host is not of the supported dfu architectures. I am looking into populating an incircuit programmer in the middle that would receive a binary from the notecard and pipe that into my host via its serial bootloader.
So my question is, is it possible to transfer a firmware binary from notehub that can be buffered in a micro say stm32 for later downstream data handling? Is card.binary the solution I should be using for that?
You actually don’t have to get as granular as issuing
card.binary requests to manage host DFU updates with Notecard/Notehub. When you say “my host is not of the supported dfu architectures”, I assume you mean not supported with Notecard Outboard Firmware Update? If that’s the case, you can still use the IAP (in application programming) DFU method. I recommend reading this doc article, but reach out with any additional questions!
To pile on, and answer your questions directly…
is it possible to transfer a firmware binary from notehub that can be buffered in a micro say stm32 for later downstream data handling?
Is card.binary the solution I should be using for that?
However, it is also preferable to partition your flash in such a way that you can run your firmware in half of the flash and download the new firmware into the unused partition (this is the solution Rob put forward). If your microcontroller can support this behavior, then you should be able to use the
card.dfu API mentioned in the doc Rob provided.
Thanks for looking into this. My host is an msp430fr6xx and it comes with a ROM BSL bootloader.
Partitioning is not an option unfortunately. Program memory is too limited.