This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Combining two applications

I want to combine two applications, both of them having two services. One application resides at 0x16000 and other one resides at 0x249f0. I am using softdevice 7.3 and sdk 6. What I wanted to do is that, when I press one button it should to jump to the second application. I combined both applications using the mergehex. If I upload the combined image with nrfjprog, both applications will work fine. But if i upload the firmware using dfu, the second application will not work. Why does the second applications not getting saved properly? How can I upload the merged hex file properly with the dfu?

Parents Reply
  • Hi Muckesh, you need to replace DFU_BANK_0_REGION_START with 0x249f0 in the two if statements before NVIC_SystemReset() in main, i.e.

      if (dfu_start || (!bootloader_app_is_valid(0x249f0)))
        {
            nrf_gpio_pin_clear(UPDATE_IN_PROGRESS_LED);
    
            // Initiate an update of the firmware.
            err_code = bootloader_dfu_start();
            APP_ERROR_CHECK(err_code);
    
            nrf_gpio_pin_set(UPDATE_IN_PROGRESS_LED);
        }
    
        if (bootloader_app_is_valid(0x249f0) && !bootloader_dfu_sd_in_progress())
        {
            // Select a bank region to use as application region.
            // @note: Only applications running from DFU_BANK_0_REGION_START is supported.
            bootloader_app_start(0x249f0);//DFU_BANK_0_REGION_START
        }
    
Children
No Data
Related