I start dfu like this:
-
erase all with nrfjprog.exe (nrfjprog Version: 3.1.1.35916)
-
program softdevice s110_nrf51822_6.0.0_softdevice.hex into nrf51822(QFAAFA)
-
program bootloader into nrf51822
-
press button 7 and power on device
but can not find any device on my MasterControlPanel or in nRF Toolbox ->DFU (Android 4.4 Nexus7 II)
and I find that there is no value of BOOTLOADER_REGION_START in the bootloard which build by nrf51_sdk_v5_2_0_39364\nrf51822\Board\nrf6310\device_firmware_updates\bootloader
F:\AAA_BLE\00_DFU>c--hexuicrinfo bootloader.hex UICR->CLENR0 = 0xFFFFFFFF UICR->RBPCONF = 0xFFFFFFFF UICR->FWID = 0xFFFFFFFF UICR->XTALFREQ = 0xFFFFFFFF
I think it must the problem that my bootloader can not work as I was expected So I what to know how can I write BOOTLOADER_REGION_START value into UICR?
it seems that
uint8_t m_boot_settings[CODE_PAGE_SIZE] __attribute__((at(BOOTLOADER_SETTINGS_ADDRESS))) __attribute__((used)); /**< This variable reserves a codepage for bootloader specific settings, to ensure the compiler doesn't locate any code or variables at his location. */
uint32_t m_uicr_bootloader_start_address __attribute__((at(NRF_UICR_BOOT_START_ADDRESS))) = BOOTLOADER_REGION_START; /**< This variable ensures that the linker script will write the bootloader start address to the UICR register. This value will be written in the HEX file and thus written to UICR when the bootloader is flashed into the chip. */
in bootloader_util_arm.c doesn't work.