Optimize the bootup time in nRF Connect SDK 2.4.2

Hello.

My name is Stephen and I am developing a beacon device using nRF52840 and Zephyr. I am using ncs 2.4.2. I need to optimize the boot-up time. I triggered the GPIO pin in the first line of the main function and measure time interval after VDD is triggered. At then, the boot up is 21.7ms. I need to reduce the boot-time less 10ms. To disable the log, I used the following proj.conf.

CONFIG_MULTITHREADING=y
CONFIG_LOG=n
CONFIG_SERIAL=n
CONFIG_CONSOLE=n
CONFIG_PRINTK=n
CONFIG_SHELL=n
CONFIG_UART_CONSOLE=n
CONFIG_USE_SEGGER_RTT=n
CONFIG_BOOTLOADER_MCUBOOT=n

CONFIG_BT=y
CONFIG_BT_EXT_ADV=y
CONFIG_BT_PER_ADV=y
CONFIG_BT_CTLR_PHY_CODED=y
CONFIG_BT_USER_PHY_UPDATE=y
CONFIG_BT_HCI=y
CONFIG_BT_CTLR=y
CONFIG_BT_CTLR_TX_PWR_PLUS_8=y
CONFIG_BT_DEBUG_LOG=n
CONFIG_BT_DEVICE_NAME="WePower"
CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=y
CONFIG_CLOCK_CONTROL_NRF_K32SRC_250PPM=y
CONFIG_CLOCK_CONTROL_NRF_K32SRC_XTAL=n
#CONFIG_BOARD_ENABLE_DCDC=y
# From Nordic to disable Crypto RNG
CONFIG_HW_CC3XX=n
CONFIG_ENTROPY_CC3XX=n
CONFIG_ENTROPY_NRF5_RNG=y
CONFIG_CC3XX_BACKEND=n
# Software Crypto with Mbed
CONFIG_MBEDTLS=y
CONFIG_MBEDTLS_BUILTIN=y
CONFIG_MBEDTLS_HEAP_SIZE=512
CONFIG_MBEDTLS_CIPHER_CCM_ENABLED=y
CONFIG_MBEDTLS_CIPHER_GCM_ENABLED=y
CONFIG_CRYPTO=y
CONFIG_CRYPTO_MBEDTLS_SHIM=y
# GPIO
CONFIG_GPIO=y
CONFIG_NRFX_GPIOTE=y
# I2C
CONFIG_I2C=y
CONFIG_I2C_NRFX=y
CONFIG_NRFX_TWIM0=y
CONFIG_SENSOR=y
CONFIG_LIS2DW12=y
CONFIG_LPS22HH=y
CONFIG_LPS22HH_TRIGGER_NONE=n
CONFIG_CBPRINTF_FP_SUPPORT=n

But the boot-time was not updated.  I'd appreciate it if anyone can help me to solve this issue. I attached the screenshot of boot-up time.

Thank you,

Stephen

Parents Reply
  • Hello,

    I would likely have commented out that i2c sensor and see if that have any impact. In any case, I think you should not only look at the time it takes, but also the current consumption during the period. Do you have access to a nordic power profiler kit II so you can measure the entire boot with current consumption? It's also possible to measure digital pins at the same time, so you can see for instance the button press, pin toggling when application start and even i2c if you like.

    Kenneth

Children
No Data
Related