Power consumption increase when adding MCUBOOT with BT OTA DFU

Hi,

I'm developing a project using nrf52840 SoC and zephyr v2.5.1.

I have only added this configurations on my project's prj.conf:

#Enable MCUBOOT bootloader build in the application
CONFIG_BOOTLOADER_MCUBOOT=y
#Include MCUMGR and the dependencies in the build
CONFIG_NCS_SAMPLE_MCUMGR_BT_OTA_DFU=y
CONFIG_NCS_SAMPLE_MCUMGR_BT_OTA_DFU_SPEEDUP=y

CONFIG_DISABLE_FLASH_PATCH=y

CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=2048

After adding MCUBOOT, I noticed a considerable increase in power consumption.

Before adding MCUBOOT:

After adding MCUBOOT:

Is there something I'm missing or something I need to disable?

Best Regards,

Ananda

  • Hi Ananda

    Can you compare your build/zephyr/zephyr.dts and build/mcuboot/zephyr/zephyr.dts to verify if they are the same? As if they are not set up identically, the MCUBoot might be enabling something that the application does not resulting in this higher current consumption. A normal problem here is that one of the serial instances are enabled by default in the MCUBoot that will result in a current consumption increase similar to what you're seeing. 

    Best regards,

    Simon

  • Hi Simon,

    Thanks for the reply.

    When comparing the build/zephyr/zephyr.dts and build/mcuboot/zephyr/zephyr.dts I noticed that there are indeed some differences. Certain features are enabled in mcuboot but disabled in the normal build. These features include: uart0, spi1, pwm0, usbd, qspi and spi3.

    I have an overlay file in wich I disable this modules like this:

    &uart0 {
    status = "disabled";

    };
    &spi1 {
    status = "disabled";
    };
    &pwm0 {
    status = "disabled";
    };
    zephyr_udc0: &usbd {
    status = "disabled";
    };
    &qspi {
    status = "disabled";
    };
    arduino_spi: &spi3 {
    status = "disabled";
    };


    Can you tell me how to disable these things in mcuboot as well, please?

    Best regards,
    Ananda

  • Hi

    MCUBoot is a "child image", and the build of child images are defined in the project's "child_image" folder (you may need to create one). For MCUBoot this is "child_image/mcuboot.conf" and the overlays are in "child_image/mcuboot/boards".

    Best regards,

    Simon

  • Hi Simon,

    It worked, the current consumptions are the same now!

    Thank you very much!

    Best regards,

    Ananda

Related