These messages below appeared when I built bootloader_dual_bank(sdk11) in the eclipse.
'Building target: bootloader_dual_bank_s130_sdk11.elf'
'Invoking: GNU ARM Cross C Linker'
arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -Os -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -g3 -T "C:/Users/isp40/OneDrive/nRF_SDK/nRF5_SDK_11.0.0/examples/dfu/bootloader/pca10028/dual_bank_ble_s130/eclipse/../../../dfu_gcc_nrf51.ld" -Xlinker --gc-sections -L"C:/Users/isp40/OneDrive/nRF_SDK/nRF5_SDK_11.0.0/components/toolchain/gcc" -Wl,-Map,"C:/Users/isp40/OneDrive/nRF_SDK/nRF5_SDK_11.0.0/examples/dfu/bootloader/pca10028/dual_bank_ble_s130/eclipse/debug/bootloader_dual_bank_s130_sdk11.map" -o "bootloader_dual_bank_s130_sdk11.elf" ./nRF_SoftDevice/softdevice_handler.o ./nRF_SoftDevice/softdevice_handler_appsh.o ./nRF_Libraries/app_error.o ./nRF_Libraries/app_error_weak.o ./nRF_Libraries/app_scheduler.o ./nRF_Libraries/app_timer.o ./nRF_Libraries/app_timer_appsh.o ./nRF_Libraries/app_util_platform.o ./nRF_Libraries/bootloader.o ./nRF_Libraries/bootloader_settings.o ./nRF_Libraries/bootloader_util.o ./nRF_Libraries/crc16.o ./nRF_Libraries/dfu_dual_bank.o ./nRF_Libraries/dfu_init_template.o ./nRF_Libraries/dfu_transport_ble.o ./nRF_Libraries/hci_mem_pool.o ./nRF_Libraries/nrf_assert.o ./nRF_Drivers/nrf_delay.o ./nRF_Drivers/nrf_drv_common.o ./nRF_Drivers/pstorage.o ./nRF_BLE/ble_advdata.o ./nRF_BLE/ble_conn_params.o ./nRF_BLE/ble_dfu.o ./nRF_BLE/ble_srv_common.o ./Device/gcc_startup_nrf51.o ./Device/system_nrf51.o ./Application/dfu_ble_svc.o ./Application/main.o
c:/program files (x86)/gnu tools arm embedded/2017-q2-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/bin/ld.exe: bootloader_dual_bank_s130_sdk11.elf section `.text' will not fit in region `FLASH'
c:/program files (x86)/gnu tools arm embedded/2017-q2-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/bin/ld.exe: section .bootloaderSettings VMA [0003fc00,0003ffff] overlaps section .text VMA [0003c000,000403d7]
c:/program files (x86)/gnu tools arm embedded/2017-q2-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/bin/ld.exe: region `FLASH' overflowed by 2016 bytes
collect2.exe: error: ld returned 1 exit status
make: *** [bootloader_dual_bank_s130_sdk11.elf] error 1
I replaced 'FLASH' region in the dfu_gcc_nrf51.ld file because I thought this was a gcc compiler optimization failure and I was able to resolve the errors.
original
FLASH (rx) : ORIGIN = 0x3C000, LENGTH = 0x3C00
revision
FLASH (rx) : ORIGIN = 0x3B000, LENGTH = 0x4C00
However the build is done without errors, but it isn't executed after flashing bootloader.
Deos the softdevice recognize from 0x3C000?? Or is it because BOOTLOADERADDR register(one of UICRs) is not changed?? So How can I modify BOOTLOADERADDR register??
p.s. I changed BOOTLOADER_REGION_START in dfu_types.h from 0x0003C000 to 0x0003B000, but it's not effect althouth WARRNING is disappeared.