Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void invalidate_external_fw(nrf_dfu_flash_callback_t callback)
- {
- ret_code_t err_code;
- static nrf_dfu_settings_t dfu_settings_buffer;
- nrf_dfu_bank_invalidate(&s_dfu_settings.bank_1);
- s_dfu_settings.crc = settings_crc_get(&s_dfu_settings);
- s_dfu_settings.boot_validation_crc = boot_validation_crc(&s_dfu_settings);
- err_code = nrf_dfu_flash_erase((uint32_t)m_dfu_settings_buffer, 1, NULL);
- if(err_code == NRF_SUCCESS)
- {
- // Do nothing
- }
- else
- {
- NRF_LOG_ERROR("Failed to erase m_dfu_settings_buffer", err_code);
- }
- memcpy(&dfu_settings_buffer, &s_dfu_settings, sizeof(nrf_dfu_settings_t));
- err_code = nrf_dfu_flash_store((uint32_t)m_dfu_settings_buffer,
- &s_dfu_settings,
- sizeof(nrf_dfu_settings_t),
- NULL);
- nrf_dfu_settings_backup(callback);
- if(err_code == NRF_SUCCESS)
- {
- // Do nothing
- }
- else
- {
- NRF_LOG_ERROR("Failed to invalidate external firmware, error: 0x%X", err_code);
- }
- /*NRF_LOG_INFO("Actual bank code value: %d, at address: %p",*/
- /*((nrf_dfu_settings_t *)m_dfu_settings_buffer)->bank_1.bank_code, (void*)m_dfu_settings_buffer);*/
- }
Advertisement
Add Comment
Please, Sign In to add comment