Hi,
I'm having problems with the bootloader in SDK 15.2. I'm using an NRF52840, I don't know if the CryptoCell is giving me issues.
The DFU fails when checking the FW hash for post validation. I'm getting error 0x8512 (NRF_ERROR_CRYPTO_INPUT_LOCATION), which means that the data should be in RAM. However, the bootloader uses this function to calculate the hash of the firmware that is in flash, in bank 1. Why am I getting this error? Any ideas?
This is the code that fails, in the function fw_hash_ok() in nrf_dfu_validation.c, line 553:
err_code = nrf_crypto_hash_calculate(&m_hash_context, &g_nrf_crypto_hash_sha256_info, (uint8_t*)fw_start_addr, fw_size, m_fw_hash, &hash_len); if (err_code != NRF_SUCCESS) { NRF_LOG_ERROR("Could not run hash verification (err_code 0x%x).", err_code); result = false; }
I haven't modified the bootloader, the code is compiled directly out of the SDK directory.