Issue with Enabling MCUboot on Custom Board with nRF5340

Hello,

I am working on a custom Agora board that includes a BT40 module with an nRF5340 MCU. I am trying to enable the MCUboot bootloader by setting CONFIG_BOOTLOADER_MCUBOOT=y in my prj.conf file. However, I encounter an error during the initial configuration stage.

Here are the details of my setup:

  • Custom Agora board with BT40 module
  • nRF5340 MCU
  • Using Nordic SDK version 2.7.0
  • The bootloader demo works on the nRF52840 development board using the Nordic course

Error Message:

...depends again on SOC_FAMILY_NRF (defined at C:/ncs/v2.7.0/modules/soc-hwmv1/soc/arm\nordic_nrf\Kconfig:9)
CMake Error at C:/ncs/v2.7.0/zephyr/cmake/modules/kconfig.cmake:392 (message):
command failed with return code: 1
Call Stack (most recent call first):
C:/ncs/v2.7.0/nrf/cmake/modules/kconfig.cmake:29 (include)
C:/ncs/v2.7.0/zephyr/cmake/modules/zephyr_default.cmake:132 (include)
C:/ncs/v2.7.0/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:66 (include)
C:/ncs/v2.7.0/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:97 (include_boilerplate)
CMakeLists.txt:12 (find_package)


-- Configuring incomplete, errors occurred!
See also "C:/Users/YASHAWS/Agora/xyleminc-wwno-gnode-009afda753b5/build_4/mcuboot/CMakeFiles/CMakeOutput.log".
See also "C:/Users/YASHAWS/Agora/xyleminc-wwno-gnode-009afda753b5/build_4/mcuboot/CMakeFiles/CMakeError.log".
CMake Error at C:/ncs/v2.7.0/nrf/cmake/multi_image.cmake:502 (message):
CMake generation for mcuboot failed, aborting. Command: 1
Call Stack (most recent call first):
C:/ncs/v2.7.0/nrf/cmake/multi_image.cmake:178 (add_child_image_from_source)
C:/ncs/v2.7.0/nrf/modules/mcuboot/CMakeLists.txt:328 (add_child_image)


-- Configuring incomplete, errors occurred!
See also "C:/Users/YASHAWS/Agora/xyleminc-wwno-gnode-009afda753b5/build_4/CMakeFiles/CMakeOutput.log".
See also "C:/Users/YASHAWS/Agora/xyleminc-wwno-gnode-009afda753b5/build_4/CMakeFiles/CMakeError.log".
FAILED: build.ninja
C:\ncs\toolchains\ce3b5ff664\opt\bin\cmake.exe --regenerate-during-build -SC:\Users\YASHAWS\Agora\xyleminc-wwno-gnode-009afda753b5 -BC:\Users\YASHAWS\Agora\xyleminc-wwno-gnode-009afda753b5\build_4
ninja: error: rebuilding 'build.ninja': subcommand failed
FATAL ERROR: command exited with status 1: 'C:\ncs\toolchains\ce3b5ff664\opt\bin\cmake.EXE' --build 'c:\Users\YASHAWS\Agora\xyleminc-wwno-gnode-009afda753b5\build_4'

* The terminal process terminated with exit code: 1.
* Terminal will be reused by tasks, press any key to close it.

Could anyone provide guidance on how to resolve this issue or suggest additional configurations that might be required for the nRF5340 MCU on a custom board?

Thank you!

Parents Reply Children
  • Hi,

    1. The difference between the dk and custom board will be on dts file and peripherals.

    2. I am using mcumgr command line tool to perform DFU. I have used same commands mentioned in Exercise 1 - DFU over UART - Nordic Developer Academy By using this i am able do the DFU for nRF5340dk board and new firmware upgrade sucessfully.

    I will share the commands which used to update new firmware using mcumgr commands.

    For the custom board, I am using the same commands to update the new firmware.

    1.To update new firmware for custom board, do I need to change anything in command?

    2.while doing, sometimes I will face error called NMP_timeout.

    What could be the reason for this and how to solve this?

    Thank you

         

  • Hi,

    I see. NMP timeout indicate UART communication problems. Are you using the UART for something else, or perhaps you have a serial terminal open for the same port at the same time?

  • Hi,

    I'm not using the UART for different communication and also the not using same port at a time.

  • Hi,

    I am sorry for the delay. As you get a timeout it seems that there is no communication, as mentionned earlier. Which UART pins are you using on the custom board, and how have you configured your devicetree accordingly? And have you connected the correct pins to your USB-UART interface?

  • Hi,

    I have crosschecked the pin details on devicetree and everything is mapped according to the datasheet.

    I am having another issue, that I mentioned earlier like dual swap method is not reflecting in the hardware, which I shared the commands also in previous discussion. we have tried

    1. We already tried taking the NRF5340DK_nrf5340 folder and copying it to an Agora_bt40 folder, then replaced all references to nrf5340dk_nrf5340 with Agora_bt40. 
    2. We took the elements of the agora_bt40.dts file which are different from the standard nRf5340DK and reflected those changes in the agora_bt40_common.dtsi file. But the response is same.
    3. Also, the slot partitions changed in agora_bt40_common.dtsi wrt agora_bt40.dts.
    4. We made the agora_bt40.dts to agora_bt40.overlay and tried. 

    Still the LED blink bin file loading through bootloader doesn’t reflect in the hardware.

    These are thing which we tried but the successfully new bin file is loading but once i press the reset after that, changes are not reflecting in the hardware.

    But in the dk board it works successfully, with the custom board the issue is happening.

    Thank you

Related