I use the bootloader to load code to the feather using the USB interface.
HOLD MD, press-and-release RESET.

I have another processor in the design and I was thinking that I could drive MD and reset from the processor and then upgrade the firmware from the other processor.

So, would I need to rebuild the bootloader to make this work?
Is that possible?

From an earlier request, I see that I might be able to add another UART.

&uart2 {
compatible = “nordic,nrf-uarte”;
current-speed = <115200>;
status = “okay”;
hw-flow-control;
tx-pin = <24>;
rx-pin = <23>;
rts-pin = <0xFFFFFFFF>;
cts-pin = <0xFFFFFFFF>;
};

I am already using UART2 for another purpose.
Can I use that interface?
Can I rebuild the bootloader to upgrade over uart2?
Is the upgrade protocol open source?

Thanks for any help you can provide.

    My earlier response:

    You’ll need to re-map the pins you want in an overlay file placed in your project like this:

    <app root directory>/child_image/mcuboot/boards/circuitdojo_feather_nrf9160.overlay

    The root directory is the same where your CMakeLists.txt lives.

    Then update the entries for mcumgr to whatever UART you want:

    chosen {
    zephyr,uart-mcumgr = &uart0;
    };

    uart1 maps to the UART TX/RX pins in the feather formfactor.

    Depending on whatever else you have hooked up you may have to play some games with configuring peripherals differently. (You can only have one peripheral with 0 suffix, 1 suffix ,etc. i.e. You can’t have I2C0 and UART0 at the same time)

    You can only have two UART running on the nRF91 at the same time. So you will need to pick and choose. That means that for debugging you may need to use debugging over SWD to get the console output.

    It’s all open source.

    https://github.com/apache/mynewt-newtmgr

    You can also look at the other side of the equation in mcuboot.

    https://github.com/mcu-tools/mcuboot

      Terms and Conditions | Privacy Policy