Application is not running after integrating DFU

Hi,

I am using BM840 BLE module and I see after integrating the DFU application, the main application is not executing at all.

When I try to debug, I see it is not coming to the main.

If I remove DFU configuration and build the project and program, it is running fine.

Please help me with this as this is high priority

Editor: VS Code

SDK: v2.3.0

Parents
  • Hello Jithin A,

    Could you please give more details on what you have done? 

    - How did you enable DFU?
    - How do you know that the main application is not executing at all?

    Hieu

  • Thank you for the response, Hieu.

    How did you enable DFU?

    --> I added below configuration to my prj.conf file.

    I did this from the reference: Add DFU support to your application - Software - nRF Connect SDK guides - Nordic DevZone (nordicsemi.com)

    # Below configurations to enable DFU
    # Enable mcumgr.
    CONFIG_MCUMGR=y
    
    # Enable most core commands.
    CONFIG_MCUMGR_CMD_IMG_MGMT=y
    CONFIG_MCUMGR_CMD_OS_MGMT=y
    
    # Ensure an MCUboot-compatible binary is generated.
    CONFIG_BOOTLOADER_MCUBOOT=y
    
    # Allow for large Bluetooth data packets.
    CONFIG_BT_L2CAP_TX_MTU=252
    CONFIG_BT_BUF_ACL_RX_SIZE=256
    
    # Enable the Bluetooth (unauthenticated) and shell mcumgr transports.
    CONFIG_MCUMGR_SMP_BT=y
    CONFIG_MCUMGR_SMP_BT_AUTHEN=n
    
    # Some command handlers require a large stack.
    CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096

    How do you know that the main application is not executing at all?

    --> We have an LED which will be turned ON when advertisement start successfully.

    Before adding the DFU, the application was working fine.

    After adding the above config, LED did not turn ON and when I try to debug, I observe it is not at all calling main.

    Please let me know if I am missing anything or doing something wrong.

Reply
  • Thank you for the response, Hieu.

    How did you enable DFU?

    --> I added below configuration to my prj.conf file.

    I did this from the reference: Add DFU support to your application - Software - nRF Connect SDK guides - Nordic DevZone (nordicsemi.com)

    # Below configurations to enable DFU
    # Enable mcumgr.
    CONFIG_MCUMGR=y
    
    # Enable most core commands.
    CONFIG_MCUMGR_CMD_IMG_MGMT=y
    CONFIG_MCUMGR_CMD_OS_MGMT=y
    
    # Ensure an MCUboot-compatible binary is generated.
    CONFIG_BOOTLOADER_MCUBOOT=y
    
    # Allow for large Bluetooth data packets.
    CONFIG_BT_L2CAP_TX_MTU=252
    CONFIG_BT_BUF_ACL_RX_SIZE=256
    
    # Enable the Bluetooth (unauthenticated) and shell mcumgr transports.
    CONFIG_MCUMGR_SMP_BT=y
    CONFIG_MCUMGR_SMP_BT_AUTHEN=n
    
    # Some command handlers require a large stack.
    CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096

    How do you know that the main application is not executing at all?

    --> We have an LED which will be turned ON when advertisement start successfully.

    Before adding the DFU, the application was working fine.

    After adding the above config, LED did not turn ON and when I try to debug, I observe it is not at all calling main.

    Please let me know if I am missing anything or doing something wrong.

Children
Related