<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>DFU bootloader compilation error with PCA10001 using s120 on sdk 10.</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/13895/dfu-bootloader-compilation-error-with-pca10001-using-s120-on-sdk-10</link><description>I created a bsp folder dfu_dual_bank_serial_s120 from PCA10028/dfu_dual_bak_serial_s13 in examples/dfu/bootloader/PCA10028. 
 This is for supporting DFU over UART for our application using s120 softdevice on PCA10001 evaluation kit with sdk_10. 
 Changes</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 20 May 2016 09:24:14 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/13895/dfu-bootloader-compilation-error-with-pca10001-using-s120-on-sdk-10" /><item><title>RE: DFU bootloader compilation error with PCA10001 using s120 on sdk 10.</title><link>https://devzone.nordicsemi.com/thread/53096?ContentTypeID=1</link><pubDate>Fri, 20 May 2016 09:24:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3f21941d-184d-42f0-aeb0-6eb528a0c30e</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Happy to help. Please accept the answer if it does work&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU bootloader compilation error with PCA10001 using s120 on sdk 10.</title><link>https://devzone.nordicsemi.com/thread/53098?ContentTypeID=1</link><pubDate>Fri, 20 May 2016 08:12:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ddcfab59-a8e1-4d1d-b22c-1ef9cf6befb2</guid><dc:creator>Siva Subrahmanyam</dc:creator><description>&lt;p&gt;Thanks for the support.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU bootloader compilation error with PCA10001 using s120 on sdk 10.</title><link>https://devzone.nordicsemi.com/thread/53097?ContentTypeID=1</link><pubDate>Fri, 20 May 2016 08:09:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a6aeaff5-f72e-491a-a130-2ec2ce3854b3</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;yes it does&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU bootloader compilation error with PCA10001 using s120 on sdk 10.</title><link>https://devzone.nordicsemi.com/thread/53099?ContentTypeID=1</link><pubDate>Fri, 20 May 2016 08:07:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e9e22a85-ba95-4209-8035-814443774dbe</guid><dc:creator>Siva Subrahmanyam</dc:creator><description>&lt;p&gt;Is this zip file contains updated makefile and linker script.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU bootloader compilation error with PCA10001 using s120 on sdk 10.</title><link>https://devzone.nordicsemi.com/thread/53095?ContentTypeID=1</link><pubDate>Fri, 20 May 2016 07:43:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9e06055f-4cc8-4a92-b029-617b4510b46a</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Modified the example so it should work with PCA10001 and s120 v.2 : &lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/nRF51_5F00_SDK_5F00_10.0.0_5F00_serial_5F00_dfu_5F00_s120_5F00_v.2.1.0.zip"&gt;nRF51_SDK_10.0.0_serial_dfu_s120_v.2.1.0.zip&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Had to allocate more RAM to make it build.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU bootloader compilation error with PCA10001 using s120 on sdk 10.</title><link>https://devzone.nordicsemi.com/thread/53092?ContentTypeID=1</link><pubDate>Wed, 18 May 2016 09:41:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:19b603ed-f482-4797-a6e6-8595d09e2164</guid><dc:creator>Siva Subrahmanyam</dc:creator><description>&lt;p&gt;linker script is available in nordic_sdk_10. dfu_gcc_nrf51.ld is the linker script used in Makefile.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU bootloader compilation error with PCA10001 using s120 on sdk 10.</title><link>https://devzone.nordicsemi.com/thread/53093?ContentTypeID=1</link><pubDate>Wed, 18 May 2016 09:39:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d04e6a92-b934-48d0-a626-533f25ec6623</guid><dc:creator>Siva Subrahmanyam</dc:creator><description>&lt;p&gt;enter code here
PROJECT_NAME := dfu_dual_bank_ble_s120_pca10001&lt;/p&gt;
&lt;p&gt;export OUTPUT_FILENAME
#MAKEFILE_NAME := $(CURDIR)/$(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))
MAKEFILE_NAME := $(MAKEFILE_LIST)
MAKEFILE_DIR := $(dir $(MAKEFILE_NAME) )&lt;/p&gt;
&lt;p&gt;TEMPLATE_PATH = ../../../../../../components/toolchain/gcc
ifeq ($(OS),Windows_NT)
include $(TEMPLATE_PATH)/Makefile.windows
else
include $(TEMPLATE_PATH)/Makefile.posix
endif&lt;/p&gt;
&lt;p&gt;MK := mkdir
RM := rm -rf&lt;/p&gt;
&lt;p&gt;#echo suspend
ifeq (&amp;quot;$(VERBOSE)&amp;quot;,&amp;quot;1&amp;quot;)
NO_ECHO :=
else
NO_ECHO := @
endif&lt;/p&gt;
&lt;p&gt;#GNU_INSTALL_ROOT := /opt/gcc-arm-none-eabi-4_8-2014q2&lt;/p&gt;
&lt;h1&gt;Toolchain commands&lt;/h1&gt;
&lt;p&gt;CC              := &amp;#39;$(GNU_INSTALL_ROOT)/bin/$(GNU_PREFIX)-gcc&amp;#39;
AS              := &amp;#39;$(GNU_INSTALL_ROOT)/bin/$(GNU_PREFIX)-as&amp;#39;
AR              := &amp;#39;$(GNU_INSTALL_ROOT)/bin/$(GNU_PREFIX)-ar&amp;#39; -r
LD              := &amp;#39;$(GNU_INSTALL_ROOT)/bin/$(GNU_PREFIX)-ld&amp;#39;
NM              := &amp;#39;$(GNU_INSTALL_ROOT)/bin/$(GNU_PREFIX)-nm&amp;#39;
OBJDUMP         := &amp;#39;$(GNU_INSTALL_ROOT)/bin/$(GNU_PREFIX)-objdump&amp;#39;
OBJCOPY         := &amp;#39;$(GNU_INSTALL_ROOT)/bin/$(GNU_PREFIX)-objcopy&amp;#39;
SIZE            := &amp;#39;$(GNU_INSTALL_ROOT)/bin/$(GNU_PREFIX)-size&amp;#39;&lt;/p&gt;
&lt;p&gt;#function for removing duplicates in a list
remduplicates = $(strip $(if $1,$(firstword $1) $(call remduplicates,$(filter-out $(firstword $1),$1))))&lt;/p&gt;
&lt;p&gt;#source common to all targets
C_SOURCE_FILES += &lt;br /&gt;
$(abspath ../../../../../../components/libraries/util/app_error.c) &lt;br /&gt;
$(abspath ../../../../../../components/libraries/scheduler/app_scheduler.c) &lt;br /&gt;
$(abspath ../../../../../../components/libraries/timer/app_timer.c) &lt;br /&gt;
$(abspath ../../../../../../components/libraries/timer/app_timer_appsh.c) &lt;br /&gt;
$(abspath ../../../../../../components/libraries/bootloader_dfu/bootloader.c) &lt;br /&gt;
$(abspath ../../../../../../components/libraries/bootloader_dfu/bootloader_settings.c) &lt;br /&gt;
$(abspath ../../../../../../components/libraries/bootloader_dfu/bootloader_util.c) &lt;br /&gt;
$(abspath ../../../../../../components/libraries/crc16/crc16.c) &lt;br /&gt;
$(abspath ../../../../../../components/libraries/bootloader_dfu/dfu_dual_bank.c) &lt;br /&gt;
$(abspath ../../../../../../components/libraries/bootloader_dfu/dfu_init_template.c) &lt;br /&gt;
$(abspath ../../../../../../components/libraries/bootloader_dfu/dfu_transport_ble.c) &lt;br /&gt;
$(abspath ../../../../../../components/libraries/hci/hci_mem_pool.c) &lt;br /&gt;
$(abspath ../../../../../../components/libraries/util/nrf_assert.c) &lt;br /&gt;
$(abspath ../../../../../../components/drivers_nrf/delay/nrf_delay.c) &lt;br /&gt;
$(abspath ../../../../../../components/drivers_nrf/pstorage/pstorage_raw.c) &lt;br /&gt;
$(abspath ../../../dfu_ble_svc.c) &lt;br /&gt;
$(abspath ../../../main.c) &lt;br /&gt;
$(abspath ../../../../../../components/ble/common/ble_advdata.c) &lt;br /&gt;
$(abspath ../../../../../../components/ble/common/ble_conn_params.c) &lt;br /&gt;
$(abspath ../../../../../../components/ble/ble_services/ble_dfu/ble_dfu.c) &lt;br /&gt;
$(abspath ../../../../../../components/ble/common/ble_srv_common.c) &lt;br /&gt;
$(abspath ../../../../../../components/toolchain/system_nrf51.c) &lt;br /&gt;
$(abspath ../../../../../../components/softdevice/common/softdevice_handler/softdevice_handler.c) &lt;br /&gt;
$(abspath ../../../../../../components/softdevice/common/softdevice_handler/softdevice_handler_appsh.c) \&lt;/p&gt;
&lt;p&gt;#assembly files common to all targets
ASM_SOURCE_FILES  = $(abspath ../../../../../../components/toolchain/gcc/gcc_startup_nrf51.s)&lt;/p&gt;
&lt;p&gt;#includes common to all targets
INC_PATHS  = -I$(abspath ../../../config/dfu_dual_bank_ble_s120_pca10001)
INC_PATHS += -I$(abspath ../../../config)
INC_PATHS += -I$(abspath ../../../../../../components/libraries/util)
INC_PATHS += -I$(abspath ../../../../../../components/toolchain/gcc)
INC_PATHS += -I$(abspath ../../../../../../components/toolchain)
INC_PATHS += -I$(abspath ../../../../../../components/ble/common)
INC_PATHS += -I$(abspath ../../../../../../components/libraries/scheduler)
INC_PATHS += -I$(abspath ../../../../../bsp)
INC_PATHS += -I$(abspath ../../../../../../components/drivers_nrf/pstorage)
INC_PATHS += -I$(abspath ../../../../../../components/libraries/bootloader_dfu/ble_transport)
INC_PATHS += -I$(abspath ../../../../../../components/softdevice/common/softdevice_handler)
INC_PATHS += -I$(abspath ../../../../../../components/device)
INC_PATHS += -I$(abspath ../../../../../../components/libraries/hci)
INC_PATHS += -I$(abspath ../../../../../../components/drivers_nrf/delay)
INC_PATHS += -I$(abspath ../../../../../../components/libraries/crc16)
INC_PATHS += -I$(abspath ../../../../../../components/ble/ble_services/ble_dfu)
INC_PATHS += -I$(abspath ../../../../../../components/libraries/timer)
INC_PATHS += -I$(abspath ../../../../../../components/drivers_nrf/hal)
INC_PATHS += -I$(abspath ../../../../../../components/softdevice/s130/headers)
INC_PATHS += -I$(abspath ../../../../../../components/libraries/bootloader_dfu)&lt;/p&gt;
&lt;p&gt;OBJECT_DIRECTORY = _build
LISTING_DIRECTORY = $(OBJECT_DIRECTORY)
OUTPUT_BINARY_DIRECTORY = $(OBJECT_DIRECTORY)&lt;/p&gt;
&lt;h1&gt;Sorting removes duplicates&lt;/h1&gt;
&lt;p&gt;BUILD_DIRECTORIES := $(sort $(OBJECT_DIRECTORY) $(OUTPUT_BINARY_DIRECTORY) $(LISTING_DIRECTORY) )&lt;/p&gt;
&lt;p&gt;#flags common to all targets
CFLAGS  = -DSWI_DISABLE0
CFLAGS += -DBOARD_PCA10001
#CFLAGS += -DBOARD_CLF_LM_1
CFLAGS += -DSOFTDEVICE_PRESENT
CFLAGS += -DNRF51
CFLAGS += -D__HEAP_SIZE=0
CFLAGS += -DS120
CFLAGS += -DBLE_STACK_SUPPORT_REQD
CFLAGS += -DBSP_DEFINES_ONLY
CFLAGS += -mcpu=cortex-m0
CFLAGS += -mthumb -mabi=aapcs --std=gnu99
CFLAGS += -Wall -Werror -Os
CFLAGS += -mfloat-abi=soft&lt;/p&gt;
&lt;h1&gt;keep every function in separate section. This will allow linker to dump unused functions&lt;/h1&gt;
&lt;p&gt;CFLAGS += -ffunction-sections -fdata-sections -fno-strict-aliasing
CFLAGS += -fno-builtin --short-enums&lt;/p&gt;
&lt;h1&gt;keep every function in separate section. This will allow linker to dump unused functions&lt;/h1&gt;
&lt;p&gt;LDFLAGS += -Xlinker -Map=$(LISTING_DIRECTORY)/$(OUTPUT_FILENAME).map
LDFLAGS += -mthumb -mabi=aapcs -L $(TEMPLATE_PATH) -T$(LINKER_SCRIPT)
LDFLAGS += -mcpu=cortex-m0&lt;/p&gt;
&lt;h1&gt;let linker to dump unused sections&lt;/h1&gt;
&lt;p&gt;LDFLAGS += -Wl,--gc-sections&lt;/p&gt;
&lt;h1&gt;use newlib in nano version&lt;/h1&gt;
&lt;p&gt;LDFLAGS += --specs=nano.specs -lc -lnosys&lt;/p&gt;
&lt;h1&gt;Assembler flags&lt;/h1&gt;
&lt;p&gt;ASMFLAGS += -x assembler-with-cpp
ASMFLAGS += -DSWI_DISABLE0
ASMFLAGS += -DBOARD_PCA10001
ASMFLAGS += -DSOFTDEVICE_PRESENT
ASMFLAGS += -DNRF51
ASMFLAGS += -D__HEAP_SIZE=0
ASMFLAGS += -DS120
ASMFLAGS += -DBLE_STACK_SUPPORT_REQD
ASMFLAGS += -DBSP_DEFINES_ONLY
#default target - first one defined
default: clean nrf51822_xxaa&lt;/p&gt;
&lt;p&gt;#building all targets
all: clean
$(NO_ECHO)$(MAKE) -f $(MAKEFILE_NAME) -C $(MAKEFILE_DIR) -e cleanobj
$(NO_ECHO)$(MAKE) -f $(MAKEFILE_NAME) -C $(MAKEFILE_DIR) -e nrf51822_xxaa&lt;/p&gt;
&lt;p&gt;#target for printing all targets
help:
@echo following targets are available:
@echo   nrf51822_xxaa&lt;/p&gt;
&lt;p&gt;C_SOURCE_FILE_NAMES = $(notdir $(C_SOURCE_FILES))
C_PATHS = $(call remduplicates, $(dir $(C_SOURCE_FILES) ) )
C_OBJECTS = $(addprefix $(OBJECT_DIRECTORY)/, $(C_SOURCE_FILE_NAMES:.c=.o) )&lt;/p&gt;
&lt;p&gt;ASM_SOURCE_FILE_NAMES = $(notdir $(ASM_SOURCE_FILES))
ASM_PATHS = $(call remduplicates, $(dir $(ASM_SOURCE_FILES) ))
ASM_OBJECTS = $(addprefix $(OBJECT_DIRECTORY)/, $(ASM_SOURCE_FILE_NAMES:.s=.o) )&lt;/p&gt;
&lt;p&gt;vpath %.c $(C_PATHS)
vpath %.s $(ASM_PATHS)&lt;/p&gt;
&lt;p&gt;OBJECTS = $(C_OBJECTS) $(ASM_OBJECTS)&lt;/p&gt;
&lt;p&gt;nrf51822_xxaa: OUTPUT_FILENAME := nrf51822_xxaa
nrf51822_xxaa: LINKER_SCRIPT=../../../dfu_gcc_nrf51.ld
nrf51822_xxaa: $(BUILD_DIRECTORIES) $(OBJECTS)
@echo Linking target: $(OUTPUT_FILENAME).out
$(NO_ECHO)$(CC) $(LDFLAGS) $(OBJECTS) $(LIBS) -o $(OUTPUT_BINARY_DIRECTORY)/$(OUTPUT_FILENAME).out
$(NO_ECHO)$(MAKE) -f $(MAKEFILE_NAME) -C $(MAKEFILE_DIR) -e finalize&lt;/p&gt;
&lt;h2&gt;Create build directories&lt;/h2&gt;
&lt;p&gt;$(BUILD_DIRECTORIES):
echo $(MAKEFILE_NAME)
$(MK) $@&lt;/p&gt;
&lt;h1&gt;Create objects from C SRC files&lt;/h1&gt;
&lt;p&gt;$(OBJECT_DIRECTORY)/%.o: %.c
@echo Compiling file: $(notdir $&amp;lt;)
$(NO_ECHO)$(CC) $(CFLAGS) $(INC_PATHS) -c -o $@ $&amp;lt;&lt;/p&gt;
&lt;h1&gt;Assemble files&lt;/h1&gt;
&lt;p&gt;$(OBJECT_DIRECTORY)/%.o: %.s
@echo Compiling file: $(notdir $&amp;lt;)
$(NO_ECHO)$(CC) $(ASMFLAGS) $(INC_PATHS) -c -o $@ $&amp;lt;&lt;/p&gt;
&lt;h1&gt;Link&lt;/h1&gt;
&lt;p&gt;$(OUTPUT_BINARY_DIRECTORY)/$(OUTPUT_FILENAME).out: $(BUILD_DIRECTORIES) $(OBJECTS)
@echo Linking target: $(OUTPUT_FILENAME).out
$(NO_ECHO)$(CC) $(LDFLAGS) $(OBJECTS) $(LIBS) -o $(OUTPUT_BINARY_DIRECTORY)/$(OUTPUT_FILENAME).out&lt;/p&gt;
&lt;h2&gt;Create binary .bin file from the .out file&lt;/h2&gt;
&lt;p&gt;$(OUTPUT_BINARY_DIRECTORY)/$(OUTPUT_FILENAME).bin: $(OUTPUT_BINARY_DIRECTORY)/$(OUTPUT_FILENAME).out
@echo Preparing: $(OUTPUT_FILENAME).bin
$(NO_ECHO)$(OBJCOPY) -O binary $(OUTPUT_BINARY_DIRECTORY)/$(OUTPUT_FILENAME).out $(OUTPUT_BINARY_DIRECTORY)/$(OUTPUT_FILENAME).bin&lt;/p&gt;
&lt;h2&gt;Create binary .hex file from the .out file&lt;/h2&gt;
&lt;p&gt;$(OUTPUT_BINARY_DIRECTORY)/$(OUTPUT_FILENAME).hex: $(OUTPUT_BINARY_DIRECTORY)/$(OUTPUT_FILENAME).out
@echo Preparing: $(OUTPUT_FILENAME).hex
$(NO_ECHO)$(OBJCOPY) -O ihex $(OUTPUT_BINARY_DIRECTORY)/$(OUTPUT_FILENAME).out $(OUTPUT_BINARY_DIRECTORY)/$(OUTPUT_FILENAME).hex&lt;/p&gt;
&lt;p&gt;finalize: genbin genhex echosize&lt;/p&gt;
&lt;p&gt;genbin:
@echo Preparing: $(OUTPUT_FILENAME).bin
$(NO_ECHO)$(OBJCOPY) -O binary $(OUTPUT_BINARY_DIRECTORY)/$(OUTPUT_FILENAME).out $(OUTPUT_BINARY_DIRECTORY)/$(OUTPUT_FILENAME).bin&lt;/p&gt;
&lt;h2&gt;Create binary .hex file from the .out file&lt;/h2&gt;
&lt;p&gt;genhex:
@echo Preparing: $(OUTPUT_FILENAME).hex
$(NO_ECHO)$(OBJCOPY) -O ihex $(OUTPUT_BINARY_DIRECTORY)/$(OUTPUT_FILENAME).out $(OUTPUT_BINARY_DIRECTORY)/$(OUTPUT_FILENAME).hex&lt;/p&gt;
&lt;p&gt;echosize:
-@echo &amp;#39;&amp;#39;
$(NO_ECHO)$(SIZE) $(OUTPUT_BINARY_DIRECTORY)/$(OUTPUT_FILENAME).out
-@echo &amp;#39;&amp;#39;&lt;/p&gt;
&lt;p&gt;clean:
$(RM) $(BUILD_DIRECTORIES)&lt;/p&gt;
&lt;p&gt;cleanobj:
$(RM) $(BUILD_DIRECTORIES)/*.o&lt;/p&gt;
&lt;p&gt;flash: $(MAKECMDGOALS)
@echo Flashing: $(OUTPUT_BINARY_DIRECTORY)/$&amp;lt;.hex
nrfjprog --program $(OUTPUT_BINARY_DIRECTORY)/nrf51822_xxaa.hex -f NRF51 --sectorerase
nrfjprog --reset&lt;/p&gt;
&lt;h1&gt;Flash softdevice&lt;/h1&gt;
&lt;h2&gt;Flash softdevice&lt;/h2&gt;
&lt;p&gt;flash_softdevice:
@echo Flashing: s120_nrf51_2.1.0_softdevice.hex
nrfjprog --program ../../../../../../components/softdevice/s120/hex/s120_nrf51_2.1.0_softdevice.hex -f nrf51 --chiperase
nrfjprog --reset&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU bootloader compilation error with PCA10001 using s120 on sdk 10.</title><link>https://devzone.nordicsemi.com/thread/53094?ContentTypeID=1</link><pubDate>Wed, 18 May 2016 08:37:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e8469031-bee8-4cfb-a151-e2972ce80516</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Could you share the makefile and linker file (.ld) you are using?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>