Skip to content

Commit d650147

Browse files
mbrossardmathias-arm
authored andcommitted
nrf52820_hic: update to nrfx v2.5.0 (2/3)
Update flash.c to new nrf_nmvc API
1 parent 96a3108 commit d650147

File tree

3 files changed

+107
-279
lines changed

3 files changed

+107
-279
lines changed

source/hic_hal/nordic/nrf52820/flash.c

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
*/
2121

2222
#include "target_config.h"
23-
2423
#include "nrf_nvmc.h"
2524

2625
uint32_t Init(uint32_t adr, uint32_t clk, uint32_t fnc)
@@ -40,12 +39,26 @@ uint32_t EraseChip(void)
4039

4140
uint32_t EraseSector(uint32_t adr)
4241
{
43-
nrf_nvmc_page_erase(adr);
42+
nrf_nvmc_mode_set(NRF_NVMC, NRF_NVMC_MODE_ERASE);
43+
nrf_nvmc_page_erase_start(NRF_NVMC, adr);
44+
while (!nrf_nvmc_ready_check(NRF_NVMC)) {
45+
// Wait for controller to be ready
46+
}
47+
nrf_nvmc_mode_set(NRF_NVMC, NRF_NVMC_MODE_READONLY);
48+
4449
return 0;
4550
}
4651

4752
uint32_t ProgramPage(uint32_t adr, uint32_t sz, uint32_t *buf)
4853
{
49-
nrf_nvmc_write_words(adr, buf, sz / 4);
54+
nrf_nvmc_mode_set(NRF_NVMC, NRF_NVMC_MODE_WRITE);
55+
for (uint32_t i = 0; i < sz / 4; i++) {
56+
((volatile uint32_t *)adr)[i] = buf[i];
57+
while (!nrf_nvmc_ready_check(NRF_NVMC)) {
58+
// Wait for controller to be ready
59+
}
60+
}
61+
nrf_nvmc_mode_set(NRF_NVMC, NRF_NVMC_MODE_READONLY);
62+
5063
return 0;
5164
}

source/hic_hal/nordic/nrf52820/nrfx/hal/nrf_nvmc.c

Lines changed: 0 additions & 133 deletions
This file was deleted.

0 commit comments

Comments
 (0)