This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

bootloader for dfu can not run

I start dfu like this:

  1. erase all with nrfjprog.exe (nrfjprog Version: 3.1.1.35916)

  2. program softdevice s110_nrf51822_6.0.0_softdevice.hex into nrf51822(QFAAFA)

  3. program bootloader into nrf51822

  4. 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.

  • And I read all UICR value in to a file :

    :020000041000EA :1010000000400100FFFFFFFFFFFFFFFFFFFFFFFFAB :101010004900FFFF00C80300FFFFFFFFFFFFFFFFC6 :10102000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 :10103000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 :10104000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 :10105000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0

    So how can I find whether I have BOOTLOADER_REGION_START or not?

Related