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

Single: Invalid bank

Hello,

I've moved my project to SDK 14 and SD 5 and that updates were working correctly in a loop (rebuilding app FW, merging BL+SD+APP, doing DFU). Today I've noticed that if I power cycle or actually do a nrfjprog --reset -f nRF52 the BL gets stuck on bank checking with the following RTT output:

<debug> nrf_dfu_settings: Calling nrf_dfu_flash_init(sd_irq_initiali
zed=false)...
<debug> nrf_dfu_settings: Initializing nrf_fstorage_nvmc backend.
<debug> nrf_sdh: Initializing the clock.
<debug> nrf_sdh: Enter nrf_dfu_continue
<error> nrf_sdh: Single: Invalid bank
<debug> nrf_sdh: Enter nrf_dfu_app_is_valid
<debug> nrf_sdh: Return false in valid app check
<debug> nrf_sdh: In nrf_dfu_transports_init
<debug> nrf_sdh: num transports: 1
<debug> nrf_sdh: UART initialized
<debug> nrf_sdh: After nrf_dfu_transports_init
<debug> nrf_dfu_settings: Calling nrf_dfu_flash_init(sd_irq_initiali
zed=false)...
<debug> nrf_dfu_settings: Initializing nrf_fstorage_nvmc backend.
<debug> nrf_sdh: Waiting for events

The application firmware is using FStorage with this address space:

NRF_FSTORAGE_DEF(nrf_fstorage_t my_fstorage_instance) =
{
    .evt_handler    = my_fstorage_callback,
    .start_addr     = 0x7F000,
    .end_addr       = 0x80001,
};

Should it maybe be moved to different address?

Related