Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs

About bootloader upgrade pin power outage

Hi,

When I DFU upgraded the bootloader of my firmware, I found that during the upgrade process, when ret_val = bl_activate() was executed, the pin would be pulled low.

I pull gpio high before bootloader initialization ( both versions). I tested two different pins and it was the same.

The image below shows the detected waveform:

How to implement the entire process of upgrading the bootloader in software and maintain the status of GPIO?

The software version I am using is nRF5SDK17.1.0 .

Parents
  • Hi,

    Several resets are involved when performing DFU, and most registers are reset to their default state during reset. This includes the GPIO registers, and the pins will be configured as disconnected inputs. This is inherent in the hardware.

    When performing bootloader and SoftDevice updates the actual copying/actication happens in the MBR, which runs before the bootloader and application. So you will have to wait until the MBR has finished before you can re-configure the GPIO (in the bootloader or application).

Reply
  • Hi,

    Several resets are involved when performing DFU, and most registers are reset to their default state during reset. This includes the GPIO registers, and the pins will be configured as disconnected inputs. This is inherent in the hardware.

    When performing bootloader and SoftDevice updates the actual copying/actication happens in the MBR, which runs before the bootloader and application. So you will have to wait until the MBR has finished before you can re-configure the GPIO (in the bootloader or application).

Children
Related