I have nRF51822 AA with SDK 12.3.0 and SEGGER SES 3.10f.
I was able to run and experiment with ble_app_beacon example, fixing known SES troubles, mainly with memory sections in flash_placement.xml (those are described in devzone).
But I was unable to run dfu/bootloader_secure example.
First there was build problems, and I managed to fix them in flash_placement.xml, but I'm not sure if it was a right thing. There were:
- `UNPLACED_SECTIONS' error for .bootloaderSettings
- undefined reference to `__stop_dfu_trans' (as well as start)
- undefined reference to `__isr_vector'
The first to were more or less referenced on forums here. So I did:
<ProgramSection alignment="4" load="Yes" name=".bootloaderSettings" start="$(BOOTLOADER_SETTINGS_START:0x0003FC00)" size="$(BOOTLOADER_SETTINGS_SIZE:0x400)" />
and
<ProgramSection alignment="4" load="No" keep="Yes" name=".dfu_trans_run" address_symbol="__start_dfu_trans" end_symbol="__stop_dfu_trans" />
But __isr_vector produced not so much results, and I ended with
<ProgramSection alignment="0x100" load="No" name=".vectors_ram" address_symbol="__isr_vector" start="$(RAM_START:$(SRAM_START:))" />
of wich I'm most doubtful.
Now it builds, but it does not work. Debug shows one jump at 0x6B0 location and then all goes to unmapped memory. I could say that then I was not sure where to place bootloader and softdevice in memory, there were Debug runs that led to main{} and Hardfaulted after some initialization. But I'm unable to reproduce it.
Here is the project itself, which I just copied from example and placed alongside with it: yadi.sk/.../45x4TLDw6Wxk_g
I use pca10028\arm5_no_packs as the basis.