Hi Marko,

Thanks for the reply.
On Jun 7, 2016, at 5:07 AM, Kevin Townsend <[email protected]> wrote:

Dev probably isn't the ideal place to post this, but I'm filing it here in case 
the request is useful to other people in the future.

I'm trying to determine how the bootloader functions with image management, and 
what functionality is currently in place, and I was hoping someone could 
clarify is whether flashing only the bootloader (on the nRF51822 in this case) 
is enough to allow for firmware updates over serial?
It is not. Bootloader does not have serial port or newtmgr command processing 
in it.
Image uploads/list etc commands are processed by the app itself.

Bootloader gets instructed by the app what image to boot next, and it acts on 
this info
on next reset.

If you can type in console input and see responses over the serial, then the 
target should
be able to process newtmgr commands as well (assuming newtmgr is included, of 
course).
That seems like a significant shortcoming of the bootloader process, then, if it relies on a valid secondary firmware image to be present. What if a faulty image is flashed, for example, or the firmware flash memory is corrupted resulting in essentially a bricked device that will require a JLink to restore, which is an unreasonable expectation in the field in my opinion.

It would seem far safer to integrate the communication process into the bootloader itself so that it's entirely autonomous, although I understand the COM port conflict at that point as well.

For me, the bootloader should be the single, independent constant and the main fail safe mechanism in the system with no external dependencies, but perhaps I've misunderstood some of the design goals as well. That's just how every other bootloader I've dealt with was designed.

K.

Reply via email to