Hi there,
I am porting existing code from nRF52832 to nRF52840, and found that bootloader references to NRF_BPROT fail:
...
Compiling file: nrf_bootloader_app_start_final.c
../../nRF5_SDK_15.0.0_a53641a/components/libraries/bootloader/nrf_bootloader_app_start_final.c: In function 'nrf_bootloader_flash_protect':
../../nRF5_SDK_15.0.0_a53641a/components/libraries/bootloader/nrf_bootloader_app_start_final.c:194:17: error: 'NRF_BPROT' undeclared (first use in this function)
NRF_BPROT->CONFIG0 = mask;
^~~~~~~~~
../../nRF5_SDK_15.0.0_a53641a/components/libraries/bootloader/nrf_bootloader_app_start_final.c:194:17: note: each undeclared identifier is reported only once for each function it appears in
make[1]: *** [../../nRF5_SDK_15.0.0_a53641a/components/toolchain/gcc/Makefile.common:272: _build/Doorlock/nrf_bootloader_app_start_final.c.o] Error 1
make[1]: Leaving directory '/home/me/my_sources/my_repo/Bootloader'
Apparently becuse the nrf52840.h in the mdk does not define them:
$ grep -rnHEe 'NRF_BPROT' ../nRF5_SDK_15.0.0_a53641a/ ../nRF5_SDK_15.0.0_a53641a/modules/nrfx/mdk/nrf52810.h:429:} NRF_BPROT_Type; ../nRF5_SDK_15.0.0_a53641a/modules/nrfx/mdk/nrf52810.h:1494:#define NRF_BPROT_BASE 0x40000000UL ../nRF5_SDK_15.0.0_a53641a/modules/nrfx/mdk/nrf52810.h:1539:#define NRF_BPROT ((NRF_BPROT_Type *) NRF_BPROT_BASE) ../nRF5_SDK_15.0.0_a53641a/modules/nrfx/mdk/nrf52.h:543:} NRF_BPROT_Type; ../nRF5_SDK_15.0.0_a53641a/modules/nrfx/mdk/nrf52.h:1954:#define NRF_BPROT_BASE 0x40000000UL ../nRF5_SDK_15.0.0_a53641a/modules/nrfx/mdk/nrf52.h:2025:#define NRF_BPROT ((NRF_BPROT_Type *) NRF_BPROT_BASE) ../nRF5_SDK_15.0.0_a53641a/modules/nrfx/mdk/nrf51_to_nrf52.h:135:#define NRF_MPU NRF_BPROT ../nRF5_SDK_15.0.0_a53641a/components/libraries/bootloader/nrf_bootloader_app_start_final.c:194: NRF_BPROT->CONFIG0 = mask; ../nRF5_SDK_15.0.0_a53641a/components/libraries/bootloader/nrf_bootloader_app_start_final.c:197: NRF_BPROT->CONFIG1 = mask; ../nRF5_SDK_15.0.0_a53641a/components/libraries/bootloader/nrf_bootloader_app_start_final.c:200: NRF_BPROT->CONFIG2 = mask; ../nRF5_SDK_15.0.0_a53641a/components/libraries/bootloader/nrf_bootloader_app_start_final.c:203: NRF_BPROT->CONFIG3 = mask;
Any isea about what is the right thing to do here?