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

After program bootloader software ,application reset

Hi all ,

        I using sdk12.3   experimental_ble_app_buttonless_dfu project to development , below is my bootloader and project  ram setting:

if I don't download the bootloader software, application works ok . But after download the bootloader , in initial the application the software reset on NRF_ERROR_STORAGE_FULL:


ret_code_t pds_init()
{
ret_code_t ret;

// Check for re-initialization if debugging.
NRF_PM_DEBUG_CHECK(!m_module_initialized);

ret = fds_register(fds_evt_handler);
if (ret != NRF_SUCCESS)
{
return NRF_ERROR_INTERNAL;
}

ret = fds_init();
if (ret != NRF_SUCCESS)
{
return NRF_ERROR_STORAGE_FULL;
}

peer_id_init();
peer_ids_load();

m_module_initialized = true;

return NRF_SUCCESS;
}

Is there any idea why does it reset ? There are 4 service in my software.

Parents
  • I noticed that:

    Usage Memory range nRF51 (S130 v2.0.x) Memory range nRF52 (S132 v3.0.x)
    Bootloader settings 0x0003 FC00 - 0x0004 0000 (1 kB) 0x0007 F000 - 0x0008 0000 (4 kB)
    MBR parameter storage n/a 0x0007 E000 - 0x0007 F000 (4 kB)
    Bootloader 0x0003 AC00 - 0x0003 FC00 (20 kB) 0x0007 8000 - 0x0007 E000 (24 kB)
    Application area (incl. free space) 0x0001 B000 - 0x0003 AC00 (127 kB) 0x0001 F000 - 0x0007 8000 (356 kB)
    SoftDevice 0x0000 1000 - 0x0001 B000 (104 kB) 0x0000 1000 - 0x0001 F000 (120 kB)
    Master Boot Record (MBR) 0x0000 0000 - 0x0000 1000 (4 kB) 0x0000 0000 - 0x0000 1000 (4 kB)

    The chip only has 256K ; so application area is 0x0001 B000 - 0x0003 AC00 (127 kB ), it should begin 0x0001 B000  size is: 0x1FC00 then:

    0x0001 B000 +  0x1FC00 =  0x0003 AC00  .

    but after that it also cannot work , is it the ram I should change ? Any one can give me some tips ?  There are 4 services in my project .

  • Could you debug the bootloader and see if you enter main() of the bootloader?

Reply Children
Related