diff --git a/examples/nRF52/.gdbinit b/examples/nRF52/.gdbinit deleted file mode 100644 index 27acd58b6fb60fef626769628edbc876fe373b1c..0000000000000000000000000000000000000000 --- a/examples/nRF52/.gdbinit +++ /dev/null @@ -1,2 +0,0 @@ -target extended-remote localhost:2331 -file out/example.out diff --git a/examples/nRF52/Makefile.build b/examples/nRF52/Makefile.build deleted file mode 100644 index 0b20996e0e7023e14913b511038e754362514f08..0000000000000000000000000000000000000000 --- a/examples/nRF52/Makefile.build +++ /dev/null @@ -1,299 +0,0 @@ -.PHONY: all clean flash gdbserver gdb jlinkexe rtt - -APP_ROOT=. -MONGOOSE_ROOT=../.. - -BUILD_DIR=.build -OUT_DIR=out -PROJECT=example - -NRF_IOT_SDK_ROOT=/opt/nrf5_iot_sdk -GNU_PREFIX := arm-none-eabi - -LD_PATH=$(APP_ROOT)/ld - -#echo suspend -ifeq ("$(VERBOSE)","1") -V := -else -V := @ -endif - -# Toolchain commands -CC := '$(GNU_PREFIX)-gcc' -AS := '$(GNU_PREFIX)-as' -AR := '$(GNU_PREFIX)-ar' -r -LD := '$(GNU_PREFIX)-ld' -NM := '$(GNU_PREFIX)-nm' -OBJDUMP := '$(GNU_PREFIX)-objdump' -OBJCOPY := '$(GNU_PREFIX)-objcopy' -SIZE := '$(GNU_PREFIX)-size' - -IPATH_SDK = . \ - $(NRF_IOT_SDK_ROOT)/components/iot/errno \ - $(NRF_IOT_SDK_ROOT)/components/softdevice/s1xx_iot/headers \ - $(NRF_IOT_SDK_ROOT)/components/drivers_nrf/common \ - $(NRF_IOT_SDK_ROOT)/components/softdevice/common/softdevice_handler \ - $(NRF_IOT_SDK_ROOT)/external/lwip/src/include \ - $(NRF_IOT_SDK_ROOT)/components/iot/ble_6lowpan \ - $(NRF_IOT_SDK_ROOT)/components/drivers_nrf/hal \ - $(NRF_IOT_SDK_ROOT)/components/ble/common \ - $(NRF_IOT_SDK_ROOT)/external/lwip/src/port \ - $(NRF_IOT_SDK_ROOT)/components/libraries/fifo \ - $(NRF_IOT_SDK_ROOT)/components/libraries/trace \ - $(NRF_IOT_SDK_ROOT)/components/device \ - $(NRF_IOT_SDK_ROOT)/components/libraries/uart \ - $(NRF_IOT_SDK_ROOT)/components/drivers_nrf/rng \ - $(NRF_IOT_SDK_ROOT)/components/iot/medium \ - $(NRF_IOT_SDK_ROOT)/components/drivers_nrf/config \ - $(NRF_IOT_SDK_ROOT)/components/libraries/mem_manager \ - $(NRF_IOT_SDK_ROOT)/components/drivers_nrf/uart \ - $(NRF_IOT_SDK_ROOT)/components/iot/ble_ipsp \ - $(NRF_IOT_SDK_ROOT)/components/libraries/scheduler \ - $(NRF_IOT_SDK_ROOT)/components/iot/iot_timer \ - $(NRF_IOT_SDK_ROOT)/components/iot/tls/mbedtls/tls/config \ - $(NRF_IOT_SDK_ROOT)/external/mbedtls/include \ - $(NRF_IOT_SDK_ROOT)/external/lwip/src/include/netif \ - $(NRF_IOT_SDK_ROOT)/components/iot/medium/commissioning \ - $(NRF_IOT_SDK_ROOT)/components/iot/tls \ - $(NRF_IOT_SDK_ROOT)/components/iot/include \ - $(NRF_IOT_SDK_ROOT)/components/drivers_nrf/pstorage \ - $(NRF_IOT_SDK_ROOT)/components/iot/tls \ - $(NRF_IOT_SDK_ROOT)/components/iot/context_manager \ - $(NRF_IOT_SDK_ROOT)/components/iot_timer \ - $(NRF_IOT_SDK_ROOT)/components/toolchain/gcc \ - $(NRF_IOT_SDK_ROOT)/components/drivers_nrf/delay \ - $(NRF_IOT_SDK_ROOT)/components/iot/medium/ble_ncfgs \ - $(NRF_IOT_SDK_ROOT)/components/drivers_nrf/gpiote \ - $(NRF_IOT_SDK_ROOT)/components/iot/mqtt \ - $(NRF_IOT_SDK_ROOT)/components/softdevice/s1xx_iot/headers/nrf52 \ - $(NRF_IOT_SDK_ROOT)/external/lwip/src/include/lwip \ - $(NRF_IOT_SDK_ROOT)/components/iot/common \ - $(NRF_IOT_SDK_ROOT)/components/libraries/timer \ - $(NRF_IOT_SDK_ROOT)/external/lwip/src/port/arch \ - $(NRF_IOT_SDK_ROOT)/components/libraries/button \ - $(NRF_IOT_SDK_ROOT)/components/libraries/util \ - $(NRF_IOT_SDK_ROOT)/examples/bsp \ - $(NRF_IOT_SDK_ROOT)/components/toolchain \ - $(NRF_IOT_SDK_ROOT)/components/iot/medium/include \ - -IPATH_RTT = $(APP_ROOT)/rtt/RTT - -IPATH_APP = $(APP_ROOT) $(APP_ROOT)/config - -IPATH = . $(IPATH_APP) $(IPATH_RTT) $(IPATH_SDK) - -SOURCES_NRF_IOT_SDK = \ - $(NRF_IOT_SDK_ROOT)/examples/bsp/bsp.c \ - $(NRF_IOT_SDK_ROOT)/components/libraries/button/app_button.c \ - $(NRF_IOT_SDK_ROOT)/components/libraries/util/app_error.c \ - $(NRF_IOT_SDK_ROOT)/components/libraries/fifo/app_fifo.c \ - $(NRF_IOT_SDK_ROOT)/components/libraries/scheduler/app_scheduler.c \ - $(NRF_IOT_SDK_ROOT)/components/libraries/timer/app_timer.c \ - $(NRF_IOT_SDK_ROOT)/components/libraries/timer/app_timer_appsh.c \ - $(NRF_IOT_SDK_ROOT)/components/libraries/trace/app_trace.c \ - $(NRF_IOT_SDK_ROOT)/components/libraries/mem_manager/mem_manager.c \ - $(NRF_IOT_SDK_ROOT)/components/libraries/util/nrf_assert.c \ - $(NRF_IOT_SDK_ROOT)/components/libraries/uart/retarget.c \ - $(NRF_IOT_SDK_ROOT)/external/lwip/src/core/def.c \ - $(NRF_IOT_SDK_ROOT)/external/lwip/src/core/dhcp.c \ - $(NRF_IOT_SDK_ROOT)/external/lwip/src/core/ipv6/dhcp6.c \ - $(NRF_IOT_SDK_ROOT)/external/lwip/src/core/dns.c \ - $(NRF_IOT_SDK_ROOT)/external/lwip/src/core/ipv4/icmp.c \ - $(NRF_IOT_SDK_ROOT)/external/lwip/src/core/ipv6/icmp6.c \ - $(NRF_IOT_SDK_ROOT)/external/lwip/src/core/ipv6/inet6.c \ - $(NRF_IOT_SDK_ROOT)/external/lwip/src/core/inet_chksum.c \ - $(NRF_IOT_SDK_ROOT)/external/lwip/src/core/init.c \ - $(NRF_IOT_SDK_ROOT)/external/lwip/src/core/ipv4/ip4.c \ - $(NRF_IOT_SDK_ROOT)/external/lwip/src/core/ipv4/ip4_addr.c \ - $(NRF_IOT_SDK_ROOT)/external/lwip/src/core/ipv6/ip6.c \ - $(NRF_IOT_SDK_ROOT)/external/lwip/src/core/ipv6/ip6_addr.c \ - $(NRF_IOT_SDK_ROOT)/external/lwip/src/core/memp.c \ - $(NRF_IOT_SDK_ROOT)/external/lwip/src/core/ipv6/mld6.c \ - $(NRF_IOT_SDK_ROOT)/external/lwip/src/core/ipv6/nd6.c \ - $(NRF_IOT_SDK_ROOT)/external/lwip/src/core/netif.c \ - $(NRF_IOT_SDK_ROOT)/external/lwip/src/port/nrf_platform_port.c \ - $(NRF_IOT_SDK_ROOT)/external/lwip/src/core/pbuf.c \ - $(NRF_IOT_SDK_ROOT)/external/lwip/src/core/raw.c \ - $(NRF_IOT_SDK_ROOT)/external/lwip/src/core/sys.c \ - $(NRF_IOT_SDK_ROOT)/external/lwip/src/core/tcp.c \ - $(NRF_IOT_SDK_ROOT)/external/lwip/src/core/tcp_in.c \ - $(NRF_IOT_SDK_ROOT)/external/lwip/src/core/tcp_out.c \ - $(NRF_IOT_SDK_ROOT)/external/lwip/src/core/timers.c \ - $(NRF_IOT_SDK_ROOT)/external/lwip/src/core/udp.c \ - $(NRF_IOT_SDK_ROOT)/components/libraries/uart/app_uart_fifo.c \ - $(NRF_IOT_SDK_ROOT)/components/drivers_nrf/delay/nrf_delay.c \ - $(NRF_IOT_SDK_ROOT)/components/drivers_nrf/common/nrf_drv_common.c \ - $(NRF_IOT_SDK_ROOT)/components/drivers_nrf/gpiote/nrf_drv_gpiote.c \ - $(NRF_IOT_SDK_ROOT)/components/drivers_nrf/uart/nrf_drv_uart.c \ - $(NRF_IOT_SDK_ROOT)/components/drivers_nrf/pstorage/pstorage.c \ - $(NRF_IOT_SDK_ROOT)/components/ble/common/ble_advdata.c \ - $(NRF_IOT_SDK_ROOT)/components/ble/common/ble_conn_params.c \ - $(NRF_IOT_SDK_ROOT)/components/ble/common/ble_srv_common.c \ - $(NRF_IOT_SDK_ROOT)/components/iot/errno/errno.c \ - $(NRF_IOT_SDK_ROOT)/components/iot/context_manager/iot_context_manager.c \ - $(NRF_IOT_SDK_ROOT)/components/iot/iot_timer/iot_timer.c \ - $(NRF_IOT_SDK_ROOT)/components/iot/medium/ipv6_medium_ble.c \ - $(NRF_IOT_SDK_ROOT)/components/iot/common/ipv6_parse.c \ - $(NRF_IOT_SDK_ROOT)/components/toolchain/system_nrf52.c \ - $(NRF_IOT_SDK_ROOT)/components/iot/medium/ble_ncfgs/ble_ncfgs.c \ - $(NRF_IOT_SDK_ROOT)/components/iot/medium/commissioning/commissioning.c \ - $(NRF_IOT_SDK_ROOT)/components/softdevice/common/softdevice_handler/softdevice_handler.c \ - $(NRF_IOT_SDK_ROOT)/components/softdevice/common/softdevice_handler/softdevice_handler_appsh.c \ - -SOURCES_RTT = \ - $(APP_ROOT)/rtt/RTT/SEGGER_RTT.c \ - $(APP_ROOT)/rtt/RTT/SEGGER_RTT_printf.c \ - $(APP_ROOT)/rtt/Syscalls/RTT_Syscalls_GCC.c \ - -SOURCES_APP = \ - $(APP_ROOT)/main.c \ - $(APP_ROOT)/bleconfig.c \ - $(MONGOOSE_ROOT)/mongoose.c \ - -SOURCES = $(SOURCES_APP) $(SOURCES_NRF_IOT_SDK) $(SOURCES_RTT) - -LIBS = $(NRF_IOT_SDK_ROOT)/components/iot/ble_6lowpan/lib/ble_6lowpan.a - -ASM_SOURCES = $(APP_ROOT)/gcc_startup_nrf52.s - -LINKER_SCRIPT = $(LD_PATH)/mongoose_example_nrf52.ld - -C_SOURCE_FILE_NAMES = $(notdir $(SOURCES)) -C_PATHS = $(sort $(dir $(SOURCES) ) ) -ASM_PATHS = $(sort $(dir $(ASM_SOURCES) )) -C_OBJECTS = $(addprefix $(BUILD_DIR)/, $(C_SOURCE_FILE_NAMES:.c=.o) ) - -ASM_SOURCE_FILE_NAMES = $(notdir $(ASM_SOURCES)) -ASM_PATHS = $(sort $(dir $(ASM_SOURCES) )) -ASM_OBJECTS = $(addprefix $(BUILD_DIR)/, $(ASM_SOURCE_FILE_NAMES:.s=.o) ) - -INCDIRS = $(addprefix -I,$(IPATH)) - -vpath %.c $(C_PATHS) -vpath %.s $(ASM_PATHS) - -OBJECTS = $(C_OBJECTS) $(ASM_OBJECTS) - -# Mongoose features -MG_FEATURES_TINY = \ - -DMG_DISABLE_HTTP_DIGEST_AUTH \ - -DMG_DISABLE_MD5 \ - -DMG_DISABLE_HTTP_KEEP_ALIVE \ - -DMG_ENABLE_HTTP_SSI=0 \ - -DMG_ENABLE_HTTP_STREAMING_MULTIPART \ - -DMG_NO_BSD_SOCKETS - -#flags common to all targets -CFLAGS = -D__HEAP_SIZE=512 -CFLAGS += -DSWI_DISABLE0 -CFLAGS += -DSOFTDEVICE_PRESENT -CFLAGS += -DBOARD_PCA10040 -CFLAGS += -DNRF52 -CFLAGS += -DCONFIG_GPIO_AS_PINRESET -CFLAGS += -DBLE_STACK_SUPPORT_REQD -CFLAGS += -Ds1xx - -CFLAGS += -mcpu=cortex-m4 -CFLAGS += -mthumb -mabi=aapcs --std=gnu99 -CFLAGS += -w -g3 -Os - -CFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 - -# keep every function in separate section. This will allow linker to dump -# unused functions -CFLAGS += -ffunction-sections -fdata-sections -fno-strict-aliasing -CFLAGS += -fno-builtin --short-enums - -CFLAGS += -DCS_ENABLE_STDIO -#CFLAGS += -DCS_ENABLE_DEBUG - -# This macro is needed for stdout to be retargeted to either UART or RTT -CFLAGS += -DENABLE_DEBUG_LOG_SUPPORT - -# Don't retarget stdout to UART; it'll be retargeted to RTT -CFLAGS += -DNRF_LOG_USES_RTT - -# Mongoose flags -CFLAGS += -DCS_PLATFORM=CS_P_NRF52 $(MG_FEATURES_TINY) -DMG_MODULE_LINES - -LDFLAGS += -Xlinker -Map=$(OUT_DIR)/$(PROJECT).map -LDFLAGS += -mthumb -mabi=aapcs -L $(LD_PATH) -T$(LINKER_SCRIPT) -LDFLAGS += -mcpu=cortex-m4 -LDFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 -# let linker to dump unused sections -LDFLAGS += -Wl,--gc-sections -# use newlib in nano version -LDFLAGS += --specs=nano.specs -lc -lnosys - -# Assembler flags -ASMFLAGS += -x assembler-with-cpp -ASMFLAGS += -D__HEAP_SIZE=512 -ASMFLAGS += -DSWI_DISABLE0 -ASMFLAGS += -DSOFTDEVICE_PRESENT -ASMFLAGS += -DBOARD_PCA10040 -ASMFLAGS += -DNRF52 -ASMFLAGS += -DCONFIG_GPIO_AS_PINRESET -ASMFLAGS += -DENABLE_DEBUG_LOG_SUPPORT -ASMFLAGS += -DBLE_STACK_SUPPORT_REQD -ASMFLAGS += -Ds1xx -ASMFLAGS += -g3 - -INC_PATHS=$(addprefix -I,$(IPATH)) - -BUILD_DIRECTORIES := $(BUILD_DIR) $(OUT_DIR) - -# Create objects from C SRC files -$(BUILD_DIR)/%.o: %.c - @echo Compiling file: $(notdir $<) - $(V)$(CC) $(CFLAGS) $(INC_PATHS) -c -o $@ $< - -# Assemble files -$(BUILD_DIR)/%.o: %.s - @echo Assembly file: $(notdir $<) - $(V)$(CC) $(ASMFLAGS) $(INC_PATHS) -c -o $@ $< - -# Create binary .hex file from the .out file -%.hex: %.out - @echo Generating HEX file: $@ - $(V)$(OBJCOPY) -O ihex $< $@ - -OUT_FILENAME=$(OUT_DIR)/$(PROJECT).out -HEX_FILENAME=$(OUT_DIR)/$(PROJECT).hex - -all: $(OUT_FILENAME) $(HEX_FILENAME) - -$(OUT_FILENAME): $(BUILD_DIRECTORIES) $(OBJECTS) - @echo Linking target: $(OUT_FILENAME) - $(V)$(CC) $(LDFLAGS) $(OBJECTS) $(LIBS) -o $(OUT_FILENAME) - -## Create build directories -$(BUILD_DIRECTORIES): - mkdir $@ - -clean: - rm -rf $(BUILD_DIR) $(OUT_DIR) \ - -# Flash the program -flash: $(HEX_FILENAME) - @echo Flashing: $< - /opt/nordic/nrfjprog/nrfjprog --program $< -f nrf52 --sectorerase - /opt/nordic/nrfjprog/nrfjprog --reset -f nrf52 - -# start GDB server. It is needed to be done in a separate terminal before we -# can invoke `gdb` target -gdbserver: - /opt/SEGGER/JLink_V610g/JLinkGDBServer -device NRF52 -speed 4000 -if SWD - -# run GDB (for that to work, `make gdbserver` should run in parallel) -gdb: - arm-none-eabi-gdb - -# start JLinkExe; it is needed to be done in a separate terminal before we -# can invoke `rtt` target -jlinkexe: - /opt/SEGGER/JLink_V610g/JLinkExe -device NRF52 -speed 4000 -if SWD - -# run RTT client (for that to work, `make jlinkexe` should run in parallel) -rtt: - /opt/SEGGER/JLink_V610g/JLinkRTTClient diff --git a/examples/nRF52/README.md b/examples/nRF52/README.md index 5fde7fb2ac7d94b9ead59fb096efe72065f249ac..17df5227950271a269f4cd49134244797424d480 100644 --- a/examples/nRF52/README.md +++ b/examples/nRF52/README.md @@ -1,38 +1,3 @@ -# nRF52 example project - -This example shows how to use mongoose on nRF52 boards. -To run it you will need: - -- [nRF52 DK](https://www.nordicsemi.com/Products/Getting-started-with-the-nRF52-Development-Kit) dev board -- Linux machine with 6lowpan module enabled. There are a few tutorials out there, - e.g [this one](https://devzone.nordicsemi.com/blogs/972/setting-up-ipv6-over-ble-using-nrf52-series-and-co/) -- [Docker](https://docs.docker.com/engine/installation/linux/) - -## Building firmware and cleaning - -Nothing special: `make` and `make clean`. - -## Flashing - -`make flash` - -## Watch debug output - -This is a two-step process: - -- In a separate terminal, invoke `make jlinkexe`. It will run `JLinkExe` - utility, in which you'll need to type `connect`. You can actually do a lot of - things there, including halting and stopping the target, flashing firmware, - etc. You can type `?` to get the list of all available commands. -- Now, in another terminal, invoke `make rtt`. It will start RTT client which - will connect to the running `JLinkExe` and will show logs from the device. - -## Debug with GDB - -This is a two-step process: - -- In a separate terminal, invoke `make gdbserver`. Note that `make jlinkexe` - and `make gdbserver`, unfortunately, cannot run sumultaneously. -- Now, in another terminal, invoke `make gdb`. It will start GDB session which - will connect to the running GDB server. +This is a Mongoose "Hello, world" that can be compiled under nRF IoT SDK. +To make it work, you should download [nRF5 IoT SDK](http://developer.nordicsemi.com/nRF5_IoT_SDK/) and unpack it in current directory as `nrf5_iot_sdk`. diff --git a/examples/nRF52/config/app_cfg.h b/examples/nRF52/config/app_cfg.h deleted file mode 100644 index 364885d84b6638b1e600b526fb29ee18b7372b20..0000000000000000000000000000000000000000 --- a/examples/nRF52/config/app_cfg.h +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Copyright (c) 2014-2016 Cesanta Software Limited - * All rights reserved - */ - -#if !defined(COMMISSIONING_ENABLED) /* ifdef-ok */ -# define COMMISSIONING_ENABLED 0 -#endif diff --git a/examples/nRF52/gcc_startup_nrf52.s b/examples/nRF52/gcc_startup_nrf52.s deleted file mode 100644 index 6b8dec1043ccbef956d270e47e0a5ed795f85540..0000000000000000000000000000000000000000 --- a/examples/nRF52/gcc_startup_nrf52.s +++ /dev/null @@ -1,490 +0,0 @@ -/* -Copyright (c) 2015, Nordic Semiconductor ASA -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of Nordic Semiconductor ASA nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -/* -NOTE: Template files (including this one) are application specific and therefore -expected to be copied into the application project folder prior to its use! -*/ - - .syntax unified - .arch armv7e-m - - .section .stack - .align 3 -#ifdef __STACK_SIZE - .equ Stack_Size, __STACK_SIZE -#else - .equ Stack_Size, 4096 -#endif - .globl __StackTop - .globl __StackLimit -__StackLimit: - .space Stack_Size - .size __StackLimit, . - __StackLimit -__StackTop: - .size __StackTop, . - __StackTop - - .section .heap - .align 3 -#ifdef __HEAP_SIZE - .equ Heap_Size, __HEAP_SIZE -#else - .equ Heap_Size, 4096 -#endif - .globl __HeapBase - .globl __HeapLimit -__HeapBase: - .if Heap_Size - .space Heap_Size - .endif - .size __HeapBase, . - __HeapBase -__HeapLimit: - .size __HeapLimit, . - __HeapLimit - - .section .Vectors - .align 2 - .globl __Vectors -__Vectors: - .long __StackTop /* Top of Stack */ - .long Reset_Handler - .long NMI_Handler - .long HardFault_Handler - .long MemoryManagement_Handler - .long BusFault_Handler - .long UsageFault_Handler - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long SVC_Handler - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long PendSV_Handler - .long SysTick_Handler - - /* External Interrupts */ - .long POWER_CLOCK_IRQHandler - .long RADIO_IRQHandler - .long UARTE0_UART0_IRQHandler - .long SPIM0_SPIS0_TWIM0_TWIS0_SPI0_TWI0_IRQHandler - .long SPIM1_SPIS1_TWIM1_TWIS1_SPI1_TWI1_IRQHandler - .long NFCT_IRQHandler - .long GPIOTE_IRQHandler - .long SAADC_IRQHandler - .long TIMER0_IRQHandler - .long TIMER1_IRQHandler - .long TIMER2_IRQHandler - .long RTC0_IRQHandler - .long TEMP_IRQHandler - .long RNG_IRQHandler - .long ECB_IRQHandler - .long CCM_AAR_IRQHandler - .long WDT_IRQHandler - .long RTC1_IRQHandler - .long QDEC_IRQHandler - .long COMP_LPCOMP_IRQHandler - .long SWI0_EGU0_IRQHandler - .long SWI1_EGU1_IRQHandler - .long SWI2_EGU2_IRQHandler - .long SWI3_EGU3_IRQHandler - .long SWI4_EGU4_IRQHandler - .long SWI5_EGU5_IRQHandler - .long TIMER3_IRQHandler - .long TIMER4_IRQHandler - .long PWM0_IRQHandler - .long PDM_IRQHandler - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long MWU_IRQHandler - .long PWM1_IRQHandler - .long PWM2_IRQHandler - .long SPIM2_SPIS2_SPI2_IRQHandler - .long RTC2_IRQHandler - .long I2S_IRQHandler - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - .long 0 /*Reserved */ - - .size __Vectors, . - __Vectors - -/* Reset Handler */ - - .text - .thumb - .thumb_func - .align 1 - .globl Reset_Handler - .type Reset_Handler, %function -Reset_Handler: - .fnstart - - -/* Loop to copy data from read only memory to RAM. The ranges - * of copy from/to are specified by following symbols evaluated in - * linker script. - * __etext: End of code section, i.e., begin of data sections to copy from. - * __data_start__/__data_end__: RAM address range that data should be - * copied to. Both must be aligned to 4 bytes boundary. */ - - ldr r1, =__etext - ldr r2, =__data_start__ - ldr r3, =__data_end__ - - subs r3, r2 - ble .LC0 - -.LC1: - subs r3, 4 - ldr r0, [r1,r3] - str r0, [r2,r3] - bgt .LC1 -.LC0: - - LDR R0, =SystemInit - BLX R0 - LDR R0, =_start - BX R0 - - .pool - .cantunwind - .fnend - .size Reset_Handler,.-Reset_Handler - - .section ".text" - - -/* Dummy Exception Handlers (infinite loops which can be modified) */ - - .weak NMI_Handler - .type NMI_Handler, %function -NMI_Handler: - B . - .size NMI_Handler, . - NMI_Handler - - - .weak HardFault_Handler - .type HardFault_Handler, %function -HardFault_Handler: - B . - .size HardFault_Handler, . - HardFault_Handler - - - .weak MemoryManagement_Handler - .type MemoryManagement_Handler, %function -MemoryManagement_Handler: - B . - .size MemoryManagement_Handler, . - MemoryManagement_Handler - - - .weak BusFault_Handler - .type BusFault_Handler, %function -BusFault_Handler: - B . - .size BusFault_Handler, . - BusFault_Handler - - - .weak UsageFault_Handler - .type UsageFault_Handler, %function -UsageFault_Handler: - B . - .size UsageFault_Handler, . - UsageFault_Handler - - - .weak SVC_Handler - .type SVC_Handler, %function -SVC_Handler: - B . - .size SVC_Handler, . - SVC_Handler - - - .weak PendSV_Handler - .type PendSV_Handler, %function -PendSV_Handler: - B . - .size PendSV_Handler, . - PendSV_Handler - - - .weak SysTick_Handler - .type SysTick_Handler, %function -SysTick_Handler: - B . - .size SysTick_Handler, . - SysTick_Handler - - -/* IRQ Handlers */ - - .globl Default_Handler - .type Default_Handler, %function -Default_Handler: - B . - .size Default_Handler, . - Default_Handler - - .macro IRQ handler - .weak \handler - .set \handler, Default_Handler - .endm - - IRQ POWER_CLOCK_IRQHandler - IRQ RADIO_IRQHandler - IRQ UARTE0_UART0_IRQHandler - IRQ SPIM0_SPIS0_TWIM0_TWIS0_SPI0_TWI0_IRQHandler - IRQ SPIM1_SPIS1_TWIM1_TWIS1_SPI1_TWI1_IRQHandler - IRQ NFCT_IRQHandler - IRQ GPIOTE_IRQHandler - IRQ SAADC_IRQHandler - IRQ TIMER0_IRQHandler - IRQ TIMER1_IRQHandler - IRQ TIMER2_IRQHandler - IRQ RTC0_IRQHandler - IRQ TEMP_IRQHandler - IRQ RNG_IRQHandler - IRQ ECB_IRQHandler - IRQ CCM_AAR_IRQHandler - IRQ WDT_IRQHandler - IRQ RTC1_IRQHandler - IRQ QDEC_IRQHandler - IRQ COMP_LPCOMP_IRQHandler - IRQ SWI0_EGU0_IRQHandler - IRQ SWI1_EGU1_IRQHandler - IRQ SWI2_EGU2_IRQHandler - IRQ SWI3_EGU3_IRQHandler - IRQ SWI4_EGU4_IRQHandler - IRQ SWI5_EGU5_IRQHandler - IRQ TIMER3_IRQHandler - IRQ TIMER4_IRQHandler - IRQ PWM0_IRQHandler - IRQ PDM_IRQHandler - IRQ MWU_IRQHandler - IRQ PWM1_IRQHandler - IRQ PWM2_IRQHandler - IRQ SPIM2_SPIS2_SPI2_IRQHandler - IRQ RTC2_IRQHandler - IRQ I2S_IRQHandler - - .end diff --git a/examples/nRF52/bleconfig.c b/examples/nRF52/http/bleconfig.c similarity index 96% rename from examples/nRF52/bleconfig.c rename to examples/nRF52/http/bleconfig.c index dfc96ba04d238085beb0c60c7e2585059eb6d63d..3ad1bce5a828b441b81e5a3fa5e5c3bb14d8a0a4 100644 --- a/examples/nRF52/bleconfig.c +++ b/examples/nRF52/http/bleconfig.c @@ -1,7 +1,3 @@ -/* - * Copyright (c) 2014-2016 Cesanta Software Limited - * All rights reserved - */ /* clang-format off */ @@ -35,12 +31,11 @@ #include "ipv6_medium.h" #include "SEGGER_RTT.h" #include "myboard.h" -#include "app_cfg.h" #define SCHED_MAX_EVENT_DATA_SIZE 128 /**< Maximum size of scheduler events. */ #define SCHED_QUEUE_SIZE 12 /**< Maximum number of events in the scheduler queue. */ -#if COMMISSIONING_ENABLED +#ifdef COMMISSIONING_ENABLED #define ERASE_BUTTON_PIN_NO BSP_BUTTON_3 /**< Button used to erase commissioning settings. */ #endif // COMMISSIONING_ENABLED @@ -71,7 +66,7 @@ static ipv6_medium_instance_t m_ipv6_medium; static struct tcp_pcb * mp_tcp_port; /**< TCP Port to listen on. */ static tcp_state_t m_tcp_state; /**< TCP State information. */ -#if COMMISSIONING_ENABLED +#ifdef COMMISSIONING_ENABLED static bool m_power_off_on_failure = false; static bool m_identity_mode_active; #endif // COMMISSIONING_ENABLED @@ -79,7 +74,7 @@ static bool m_identity_mode_active; /**@brief Function to handle interface up event. */ void nrf_driver_interface_up(void) { -#if COMMISSIONING_ENABLED +#ifdef COMMISSIONING_ENABLED commissioning_joining_mode_timer_ctrl(JOINING_MODE_TIMER_STOP_RESET); #endif // COMMISSIONING_ENABLED @@ -97,7 +92,7 @@ void nrf_driver_interface_up(void) /**@brief Function to handle interface down event. */ void nrf_driver_interface_down(void) { -#if COMMISSIONING_ENABLED +#ifdef COMMISSIONING_ENABLED commissioning_joining_mode_timer_ctrl(JOINING_MODE_TIMER_START); #endif // COMMISSIONING_ENABLED @@ -156,7 +151,7 @@ static void leds_init(void) LEDS_OFF(ALL_APP_LED); } -#if COMMISSIONING_ENABLED +#ifdef COMMISSIONING_ENABLED /**@brief Timer callback used for controlling board LEDs to represent application state. * */ @@ -211,7 +206,7 @@ static void iot_timer_init(void) static const iot_timer_client_t list_of_clients[] = { {system_timer_callback, LWIP_SYS_TICK_MS}, -#if COMMISSIONING_ENABLED +#ifdef COMMISSIONING_ENABLED {blink_timeout_handler, LED_BLINK_INTERVAL_MS}, {commissioning_time_tick, SEC_TO_MILLISEC(COMMISSIONING_TICK_INTERVAL_SEC)} #endif // COMMISSIONING_ENABLED @@ -258,7 +253,7 @@ static void ip_stack_init(void) APP_ERROR_CHECK(err_code); } -#if COMMISSIONING_ENABLED +#ifdef COMMISSIONING_ENABLED /**@brief Function for handling button events. * * @param[in] pin_no The pin number of the button pressed. @@ -286,7 +281,7 @@ static void buttons_init(void) static app_button_cfg_t buttons[] = { -#if COMMISSIONING_ENABLED +#ifdef COMMISSIONING_ENABLED {ERASE_BUTTON_PIN_NO, false, BUTTON_PULL, button_event_handler} #endif // COMMISSIONING_ENABLED }; @@ -340,7 +335,7 @@ static void on_ipv6_medium_error(ipv6_medium_error_t * p_ipv6_medium_error) // Do something. } -#if COMMISSIONING_ENABLED +#ifdef COMMISSIONING_ENABLED void commissioning_id_mode_cb(mode_control_cmd_t control_command) { switch (control_command) @@ -386,7 +381,7 @@ void bleconfig_init(void) { timers_init(); iot_timer_init(); -#if COMMISSIONING_ENABLED +#ifdef COMMISSIONING_ENABLED err_code = pstorage_init(); APP_ERROR_CHECK(err_code); @@ -398,7 +393,7 @@ void bleconfig_init(void) { ipv6_medium_init_params.ipv6_medium_evt_handler = on_ipv6_medium_evt; ipv6_medium_init_params.ipv6_medium_error_handler = on_ipv6_medium_error; ipv6_medium_init_params.use_scheduler = true; -#if COMMISSIONING_ENABLED +#ifdef COMMISSIONING_ENABLED ipv6_medium_init_params.commissioning_id_mode_cb = commissioning_id_mode_cb; ipv6_medium_init_params.commissioning_power_off_cb = commissioning_power_off_cb; #endif // COMMISSIONING_ENABLED diff --git a/examples/nRF52/bleconfig.h b/examples/nRF52/http/bleconfig.h similarity index 100% rename from examples/nRF52/bleconfig.h rename to examples/nRF52/http/bleconfig.h diff --git a/examples/nRF52/http/boards/pca10040/arm5_no_packs/iot_lwip_tcp_server_pca10040.uvoptx b/examples/nRF52/http/boards/pca10040/arm5_no_packs/iot_lwip_tcp_server_pca10040.uvoptx new file mode 100644 index 0000000000000000000000000000000000000000..baf7a8aee3598df00c75d677c17f8928e99752ae --- /dev/null +++ b/examples/nRF52/http/boards/pca10040/arm5_no_packs/iot_lwip_tcp_server_pca10040.uvoptx @@ -0,0 +1,1228 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?> +<ProjectOpt xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_optx.xsd"> + + <SchemaVersion>1.0</SchemaVersion> + + <Header>### uVision Project, (C) Keil Software</Header> + + <Extensions> + <cExt>*.c</cExt> + <aExt>*.s*; *.src; *.a*</aExt> + <oExt>*.obj</oExt> + <lExt>*.lib</lExt> + <tExt>*.txt; *.h; *.inc</tExt> + <pExt>*.plm</pExt> + <CppX>*.cpp</CppX> + </Extensions> + + <DaveTm> + <dwLowDateTime>0</dwLowDateTime> + <dwHighDateTime>0</dwHighDateTime> + </DaveTm> + + <Target> + <TargetName>nrf52832_xxaa_s1xx_iot</TargetName> + <ToolsetNumber>0x4</ToolsetNumber> + <ToolsetName>ARM-ADS</ToolsetName> + <TargetOption> + <CLKADS>64000000</CLKADS> + <OPTTT> + <gFlags>1</gFlags> + <BeepAtEnd>1</BeepAtEnd> + <RunSim>0</RunSim> + <RunTarget>1</RunTarget> + </OPTTT> + <OPTHX> + <HexSelection>1</HexSelection> + <FlashByte>65535</FlashByte> + <HexRangeLowAddress>0</HexRangeLowAddress> + <HexRangeHighAddress>0</HexRangeHighAddress> + <HexOffset>0</HexOffset> + </OPTHX> + <OPTLEX> + <PageWidth>79</PageWidth> + <PageLength>66</PageLength> + <TabStop>8</TabStop> + <ListingPath>.\_build\</ListingPath> + </OPTLEX> + <ListingPage> + <CreateCListing>1</CreateCListing> + <CreateAListing>1</CreateAListing> + <CreateLListing>1</CreateLListing> + <CreateIListing>0</CreateIListing> + <AsmCond>1</AsmCond> + <AsmSymb>1</AsmSymb> + <AsmXref>0</AsmXref> + <CCond>1</CCond> + <CCode>0</CCode> + <CListInc>0</CListInc> + <CSymb>0</CSymb> + <LinkerCodeListing>0</LinkerCodeListing> + </ListingPage> + <OPTXL> + <LMap>1</LMap> + <LComments>1</LComments> + <LGenerateSymbols>1</LGenerateSymbols> + <LLibSym>1</LLibSym> + <LLines>1</LLines> + <LLocSym>1</LLocSym> + <LPubSym>1</LPubSym> + <LXref>0</LXref> + <LExpSel>0</LExpSel> + </OPTXL> + <OPTFL> + <tvExp>1</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <IsCurrentTarget>1</IsCurrentTarget> + </OPTFL> + <CpuCode>5</CpuCode> + <DebugOpt> + <uSim>0</uSim> + <uTrg>1</uTrg> + <sLdApp>1</sLdApp> + <sGomain>1</sGomain> + <sRbreak>1</sRbreak> + <sRwatch>1</sRwatch> + <sRmem>1</sRmem> + <sRfunc>1</sRfunc> + <sRbox>1</sRbox> + <tLdApp>1</tLdApp> + <tGomain>1</tGomain> + <tRbreak>1</tRbreak> + <tRwatch>1</tRwatch> + <tRmem>1</tRmem> + <tRfunc>0</tRfunc> + <tRbox>1</tRbox> + <tRtrace>0</tRtrace> + <sRSysVw>1</sRSysVw> + <tRSysVw>1</tRSysVw> + <sRunDeb>0</sRunDeb> + <sLrtime>0</sLrtime> + <nTsel>6</nTsel> + <sDll></sDll> + <sDllPa></sDllPa> + <sDlgDll></sDlgDll> + <sDlgPa></sDlgPa> + <sIfile></sIfile> + <tDll></tDll> + <tDllPa></tDllPa> + <tDlgDll></tDlgDll> + <tDlgPa></tDlgPa> + <tIfile></tIfile> + <pMon>Segger\JL2CM3.dll</pMon> + </DebugOpt> + <TargetDriverDllRegistry> + <SetRegEntry> + <Number>0</Number> + <Key>DLGUARM</Key> + <Name></Name> + </SetRegEntry> + <SetRegEntry> + <Number>0</Number> + <Key>DLGTARM</Key> + <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name> + </SetRegEntry> + <SetRegEntry> + <Number>0</Number> + <Key>ARMDBGFLAGS</Key> + <Name></Name> + </SetRegEntry> + <SetRegEntry> + <Number>0</Number> + <Key>JL2CM3</Key> + <Name>-U682204544 -O78 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52832_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr.flm -FS110001000 -FL11000 -FP1($$Device:nRF52832_xxAA$Flash\nrf52xxx_uicr.flm)</Name> + </SetRegEntry> + <SetRegEntry> + <Number>0</Number> + <Key>UL2CM3</Key> + <Name>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0nrf52xxx -FS00 -FL0200000 -FP0($$Device:nRF52832_xxAA$Flash\nrf52xxx))</Name> + </SetRegEntry> + </TargetDriverDllRegistry> + <Breakpoint> + <Bp> + <Number>0</Number> + <Type>0</Type> + <LineNumber>23</LineNumber> + <EnabledFlag>1</EnabledFlag> + <Address>152422</Address> + <ByteObject>0</ByteObject> + <HtxType>0</HtxType> + <ManyObjects>0</ManyObjects> + <SizeOfObject>0</SizeOfObject> + <BreakByAccess>0</BreakByAccess> + <BreakIfRCount>1</BreakIfRCount> + <Filename>..\..\..\main.c</Filename> + <ExecCommand></ExecCommand> + <Expression></Expression> + </Bp> + </Breakpoint> + <Tracepoint> + <THDelay>0</THDelay> + </Tracepoint> + <DebugFlag> + <trace>0</trace> + <periodic>0</periodic> + <aLwin>1</aLwin> + <aCover>0</aCover> + <aSer1>0</aSer1> + <aSer2>0</aSer2> + <aPa>0</aPa> + <viewmode>1</viewmode> + <vrSel>0</vrSel> + <aSym>0</aSym> + <aTbox>0</aTbox> + <AscS1>0</AscS1> + <AscS2>0</AscS2> + <AscS3>0</AscS3> + <aSer3>0</aSer3> + <eProf>0</eProf> + <aLa>0</aLa> + <aPa1>0</aPa1> + <AscS4>0</AscS4> + <aSer4>0</aSer4> + <StkLoc>0</StkLoc> + <TrcWin>0</TrcWin> + <newCpu>0</newCpu> + <uProt>0</uProt> + </DebugFlag> + <LintExecutable></LintExecutable> + <LintConfigFile></LintConfigFile> + </TargetOption> + </Target> + + <Group> + <GroupName>Application</GroupName> + <tvExp>1</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <cbSel>0</cbSel> + <RteFlg>0</RteFlg> + <File> + <GroupNumber>1</GroupNumber> + <FileNumber>1</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\main.c</PathWithFileName> + <FilenameWithoutPath>main.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>1</GroupNumber> + <FileNumber>2</FileNumber> + <FileType>5</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\config\sdk_config.h</PathWithFileName> + <FilenameWithoutPath>sdk_config.h</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>1</GroupNumber> + <FileNumber>3</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\bleconfig.c</PathWithFileName> + <FilenameWithoutPath>bleconfig.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>1</GroupNumber> + <FileNumber>4</FileNumber> + <FileType>5</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\bleconfig.h</PathWithFileName> + <FilenameWithoutPath>bleconfig.h</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>1</GroupNumber> + <FileNumber>5</FileNumber> + <FileType>5</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\myboard.h</PathWithFileName> + <FilenameWithoutPath>myboard.h</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + </Group> + + <Group> + <GroupName>Board Support</GroupName> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <cbSel>0</cbSel> + <RteFlg>0</RteFlg> + <File> + <GroupNumber>2</GroupNumber> + <FileNumber>6</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\examples\bsp\bsp.c</PathWithFileName> + <FilenameWithoutPath>bsp.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + </Group> + + <Group> + <GroupName>Documentation</GroupName> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <cbSel>0</cbSel> + <RteFlg>0</RteFlg> + <File> + <GroupNumber>3</GroupNumber> + <FileNumber>7</FileNumber> + <FileType>5</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\Abstract.txt</PathWithFileName> + <FilenameWithoutPath>Abstract.txt</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>3</GroupNumber> + <FileNumber>8</FileNumber> + <FileType>5</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\license.txt</PathWithFileName> + <FilenameWithoutPath>license.txt</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + </Group> + + <Group> + <GroupName>lwIP</GroupName> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <cbSel>0</cbSel> + <RteFlg>0</RteFlg> + <File> + <GroupNumber>4</GroupNumber> + <FileNumber>9</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\external\lwip\src\core\def.c</PathWithFileName> + <FilenameWithoutPath>def.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>4</GroupNumber> + <FileNumber>10</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\external\lwip\src\core\dhcp.c</PathWithFileName> + <FilenameWithoutPath>dhcp.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>4</GroupNumber> + <FileNumber>11</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\external\lwip\src\core\ipv6\dhcp6.c</PathWithFileName> + <FilenameWithoutPath>dhcp6.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>4</GroupNumber> + <FileNumber>12</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\external\lwip\src\core\dns.c</PathWithFileName> + <FilenameWithoutPath>dns.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>4</GroupNumber> + <FileNumber>13</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\external\lwip\src\core\ipv4\icmp.c</PathWithFileName> + <FilenameWithoutPath>icmp.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>4</GroupNumber> + <FileNumber>14</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\external\lwip\src\core\ipv6\icmp6.c</PathWithFileName> + <FilenameWithoutPath>icmp6.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>4</GroupNumber> + <FileNumber>15</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\external\lwip\src\core\ipv6\inet6.c</PathWithFileName> + <FilenameWithoutPath>inet6.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>4</GroupNumber> + <FileNumber>16</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\external\lwip\src\core\inet_chksum.c</PathWithFileName> + <FilenameWithoutPath>inet_chksum.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>4</GroupNumber> + <FileNumber>17</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\external\lwip\src\core\init.c</PathWithFileName> + <FilenameWithoutPath>init.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>4</GroupNumber> + <FileNumber>18</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\external\lwip\src\core\ipv4\ip4.c</PathWithFileName> + <FilenameWithoutPath>ip4.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>4</GroupNumber> + <FileNumber>19</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\external\lwip\src\core\ipv4\ip4_addr.c</PathWithFileName> + <FilenameWithoutPath>ip4_addr.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>4</GroupNumber> + <FileNumber>20</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\external\lwip\src\core\ipv6\ip6.c</PathWithFileName> + <FilenameWithoutPath>ip6.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>4</GroupNumber> + <FileNumber>21</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\external\lwip\src\core\ipv6\ip6_addr.c</PathWithFileName> + <FilenameWithoutPath>ip6_addr.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>4</GroupNumber> + <FileNumber>22</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\external\lwip\src\core\memp.c</PathWithFileName> + <FilenameWithoutPath>memp.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>4</GroupNumber> + <FileNumber>23</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\external\lwip\src\core\ipv6\mld6.c</PathWithFileName> + <FilenameWithoutPath>mld6.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>4</GroupNumber> + <FileNumber>24</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\external\lwip\src\core\ipv6\nd6.c</PathWithFileName> + <FilenameWithoutPath>nd6.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>4</GroupNumber> + <FileNumber>25</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\external\lwip\src\core\netif.c</PathWithFileName> + <FilenameWithoutPath>netif.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>4</GroupNumber> + <FileNumber>26</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\external\lwip\src\port\nrf_platform_port.c</PathWithFileName> + <FilenameWithoutPath>nrf_platform_port.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>4</GroupNumber> + <FileNumber>27</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\external\lwip\src\core\pbuf.c</PathWithFileName> + <FilenameWithoutPath>pbuf.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>4</GroupNumber> + <FileNumber>28</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\external\lwip\src\core\raw.c</PathWithFileName> + <FilenameWithoutPath>raw.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>4</GroupNumber> + <FileNumber>29</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\external\lwip\src\core\sys.c</PathWithFileName> + <FilenameWithoutPath>sys.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>4</GroupNumber> + <FileNumber>30</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\external\lwip\src\core\tcp.c</PathWithFileName> + <FilenameWithoutPath>tcp.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>4</GroupNumber> + <FileNumber>31</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\external\lwip\src\core\tcp_in.c</PathWithFileName> + <FilenameWithoutPath>tcp_in.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>4</GroupNumber> + <FileNumber>32</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\external\lwip\src\core\tcp_out.c</PathWithFileName> + <FilenameWithoutPath>tcp_out.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>4</GroupNumber> + <FileNumber>33</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\external\lwip\src\core\timers.c</PathWithFileName> + <FilenameWithoutPath>timers.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>4</GroupNumber> + <FileNumber>34</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\external\lwip\src\core\udp.c</PathWithFileName> + <FilenameWithoutPath>udp.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + </Group> + + <Group> + <GroupName>nRF_BLE</GroupName> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <cbSel>0</cbSel> + <RteFlg>0</RteFlg> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>35</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\components\ble\common\ble_advdata.c</PathWithFileName> + <FilenameWithoutPath>ble_advdata.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>36</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\components\ble\common\ble_conn_params.c</PathWithFileName> + <FilenameWithoutPath>ble_conn_params.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>37</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\components\ble\common\ble_srv_common.c</PathWithFileName> + <FilenameWithoutPath>ble_srv_common.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + </Group> + + <Group> + <GroupName>nRF_Drivers</GroupName> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <cbSel>0</cbSel> + <RteFlg>0</RteFlg> + <File> + <GroupNumber>6</GroupNumber> + <FileNumber>38</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\components\libraries\uart\app_uart_fifo.c</PathWithFileName> + <FilenameWithoutPath>app_uart_fifo.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>6</GroupNumber> + <FileNumber>39</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\components\drivers_nrf\delay\nrf_delay.c</PathWithFileName> + <FilenameWithoutPath>nrf_delay.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>6</GroupNumber> + <FileNumber>40</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\components\drivers_nrf\common\nrf_drv_common.c</PathWithFileName> + <FilenameWithoutPath>nrf_drv_common.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>6</GroupNumber> + <FileNumber>41</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\components\drivers_nrf\gpiote\nrf_drv_gpiote.c</PathWithFileName> + <FilenameWithoutPath>nrf_drv_gpiote.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>6</GroupNumber> + <FileNumber>42</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\components\drivers_nrf\uart\nrf_drv_uart.c</PathWithFileName> + <FilenameWithoutPath>nrf_drv_uart.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>6</GroupNumber> + <FileNumber>43</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\components\drivers_nrf\pstorage\pstorage.c</PathWithFileName> + <FilenameWithoutPath>pstorage.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + </Group> + + <Group> + <GroupName>nRF_IoT</GroupName> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <cbSel>0</cbSel> + <RteFlg>0</RteFlg> + <File> + <GroupNumber>7</GroupNumber> + <FileNumber>44</FileNumber> + <FileType>4</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\components\iot\ble_6lowpan\lib\ble_6lowpan.lib</PathWithFileName> + <FilenameWithoutPath>ble_6lowpan.lib</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>7</GroupNumber> + <FileNumber>45</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\components\iot\errno\errno.c</PathWithFileName> + <FilenameWithoutPath>errno.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>7</GroupNumber> + <FileNumber>46</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\components\iot\context_manager\iot_context_manager.c</PathWithFileName> + <FilenameWithoutPath>iot_context_manager.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>7</GroupNumber> + <FileNumber>47</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\components\iot\iot_timer\iot_timer.c</PathWithFileName> + <FilenameWithoutPath>iot_timer.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>7</GroupNumber> + <FileNumber>48</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\components\iot\medium\ipv6_medium_ble.c</PathWithFileName> + <FilenameWithoutPath>ipv6_medium_ble.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>7</GroupNumber> + <FileNumber>49</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\components\iot\common\ipv6_parse.c</PathWithFileName> + <FilenameWithoutPath>ipv6_parse.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + </Group> + + <Group> + <GroupName>nRF_IoT_Commissioning</GroupName> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <cbSel>0</cbSel> + <RteFlg>0</RteFlg> + <File> + <GroupNumber>8</GroupNumber> + <FileNumber>50</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\components\iot\medium\ble_ncfgs\ble_ncfgs.c</PathWithFileName> + <FilenameWithoutPath>ble_ncfgs.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>8</GroupNumber> + <FileNumber>51</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\components\iot\medium\commissioning\commissioning.c</PathWithFileName> + <FilenameWithoutPath>commissioning.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + </Group> + + <Group> + <GroupName>nRF_Libraries</GroupName> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <cbSel>0</cbSel> + <RteFlg>0</RteFlg> + <File> + <GroupNumber>9</GroupNumber> + <FileNumber>52</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\components\libraries\button\app_button.c</PathWithFileName> + <FilenameWithoutPath>app_button.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>9</GroupNumber> + <FileNumber>53</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\components\libraries\util\app_error.c</PathWithFileName> + <FilenameWithoutPath>app_error.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>9</GroupNumber> + <FileNumber>54</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\components\libraries\fifo\app_fifo.c</PathWithFileName> + <FilenameWithoutPath>app_fifo.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>9</GroupNumber> + <FileNumber>55</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\components\libraries\scheduler\app_scheduler.c</PathWithFileName> + <FilenameWithoutPath>app_scheduler.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>9</GroupNumber> + <FileNumber>56</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\components\libraries\timer\app_timer.c</PathWithFileName> + <FilenameWithoutPath>app_timer.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>9</GroupNumber> + <FileNumber>57</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\components\libraries\timer\app_timer_appsh.c</PathWithFileName> + <FilenameWithoutPath>app_timer_appsh.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>9</GroupNumber> + <FileNumber>58</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\components\libraries\trace\app_trace.c</PathWithFileName> + <FilenameWithoutPath>app_trace.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>9</GroupNumber> + <FileNumber>59</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\components\libraries\mem_manager\mem_manager.c</PathWithFileName> + <FilenameWithoutPath>mem_manager.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>9</GroupNumber> + <FileNumber>60</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\components\libraries\util\nrf_assert.c</PathWithFileName> + <FilenameWithoutPath>nrf_assert.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>9</GroupNumber> + <FileNumber>61</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\components\libraries\uart\retarget.c</PathWithFileName> + <FilenameWithoutPath>retarget.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + </Group> + + <Group> + <GroupName>nRF_SoftDevice</GroupName> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <cbSel>0</cbSel> + <RteFlg>0</RteFlg> + <File> + <GroupNumber>10</GroupNumber> + <FileNumber>62</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\components\softdevice\common\softdevice_handler\softdevice_handler.c</PathWithFileName> + <FilenameWithoutPath>softdevice_handler.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>10</GroupNumber> + <FileNumber>63</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\nrf5_iot_sdk\components\softdevice\common\softdevice_handler\softdevice_handler_appsh.c</PathWithFileName> + <FilenameWithoutPath>softdevice_handler_appsh.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + </Group> + + <Group> + <GroupName>RTT</GroupName> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <cbSel>0</cbSel> + <RteFlg>0</RteFlg> + <File> + <GroupNumber>11</GroupNumber> + <FileNumber>64</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\rtt\RTT\SEGGER_RTT.c</PathWithFileName> + <FilenameWithoutPath>SEGGER_RTT.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>11</GroupNumber> + <FileNumber>65</FileNumber> + <FileType>5</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\rtt\RTT\SEGGER_RTT.h</PathWithFileName> + <FilenameWithoutPath>SEGGER_RTT.h</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>11</GroupNumber> + <FileNumber>66</FileNumber> + <FileType>5</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\rtt\RTT\SEGGER_RTT_Conf.h</PathWithFileName> + <FilenameWithoutPath>SEGGER_RTT_Conf.h</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>11</GroupNumber> + <FileNumber>67</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\rtt\RTT\SEGGER_RTT_printf.c</PathWithFileName> + <FilenameWithoutPath>SEGGER_RTT_printf.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>11</GroupNumber> + <FileNumber>68</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\rtt\Syscalls\RTT_Syscalls_KEIL.c</PathWithFileName> + <FilenameWithoutPath>RTT_Syscalls_KEIL.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + </Group> + + <Group> + <GroupName>Mongoose</GroupName> + <tvExp>1</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <cbSel>0</cbSel> + <RteFlg>0</RteFlg> + <File> + <GroupNumber>12</GroupNumber> + <FileNumber>69</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\..\..\..\mongoose.c</PathWithFileName> + <FilenameWithoutPath>mongoose.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + </Group> + + <Group> + <GroupName>::CMSIS</GroupName> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <cbSel>0</cbSel> + <RteFlg>1</RteFlg> + </Group> + + <Group> + <GroupName>::Device</GroupName> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <cbSel>0</cbSel> + <RteFlg>1</RteFlg> + <File> + <GroupNumber>14</GroupNumber> + <FileNumber>70</FileNumber> + <FileType>2</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>RTE\Device\nRF52832_xxAA\arm_startup_nrf52.s</PathWithFileName> + <FilenameWithoutPath>arm_startup_nrf52.s</FilenameWithoutPath> + <RteFlg>1</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>14</GroupNumber> + <FileNumber>71</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <Focus>0</Focus> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>RTE\Device\nRF52832_xxAA\system_nrf52.c</PathWithFileName> + <FilenameWithoutPath>system_nrf52.c</FilenameWithoutPath> + <RteFlg>1</RteFlg> + <bShared>0</bShared> + </File> + </Group> + +</ProjectOpt> diff --git a/examples/nRF52/http/boards/pca10040/arm5_no_packs/iot_lwip_tcp_server_pca10040.uvprojx b/examples/nRF52/http/boards/pca10040/arm5_no_packs/iot_lwip_tcp_server_pca10040.uvprojx new file mode 100644 index 0000000000000000000000000000000000000000..c5466048210a561dc54521c8e3155fb24cf78b97 --- /dev/null +++ b/examples/nRF52/http/boards/pca10040/arm5_no_packs/iot_lwip_tcp_server_pca10040.uvprojx @@ -0,0 +1,886 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?> +<Project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_projx.xsd"> + + <SchemaVersion>2.1</SchemaVersion> + + <Header>### uVision Project, (C) Keil Software</Header> + + <Targets> + <Target> + <TargetName>nrf52832_xxaa_s1xx_iot</TargetName> + <ToolsetNumber>0x4</ToolsetNumber> + <ToolsetName>ARM-ADS</ToolsetName> + <TargetOption> + <TargetCommonOption> + <Device>nRF52832_xxAA</Device> + <Vendor>Nordic Semiconductor</Vendor> + <PackID>NordicSemiconductor.nRF_DeviceFamilyPack.8.0.5</PackID> + <PackURL>http://developer.nordicsemi.com/nRF51_SDK/pieces/nRF_DeviceFamilyPack/</PackURL> + <Cpu>IROM(0x00000000,0x80000) IRAM(0x20000000,0x10000) CPUTYPE("Cortex-M4") FPU2 CLOCK(64000000) ELITTLE</Cpu> + <FlashUtilSpec></FlashUtilSpec> + <StartupFile></StartupFile> + <FlashDriverDll>UL2CM3(-UM0364FCE -O78 -S0 -C0 -TO18 -TC16000000 -TP21 -TDS800D -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC2000 -FN1 -FF0nRF52xxx -FS00 -FL0200000)</FlashDriverDll> + <DeviceId>0</DeviceId> + <RegisterFile>core.h</RegisterFile> + <MemoryEnv></MemoryEnv> + <Cmp></Cmp> + <Asm></Asm> + <Linker></Linker> + <OHString></OHString> + <InfinionOptionDll></InfinionOptionDll> + <SLE66CMisc></SLE66CMisc> + <SLE66AMisc></SLE66AMisc> + <SLE66LinkerMisc></SLE66LinkerMisc> + <SFDFile>..\..\..\..\..\..\..\SVD\nrf52.xml</SFDFile> + <bCustSvd>0</bCustSvd> + <UseEnv>0</UseEnv> + <BinPath></BinPath> + <IncludePath></IncludePath> + <LibPath></LibPath> + <RegisterFilePath></RegisterFilePath> + <DBRegisterFilePath></DBRegisterFilePath> + <TargetStatus> + <Error>0</Error> + <ExitCodeStop>0</ExitCodeStop> + <ButtonStop>0</ButtonStop> + <NotGenerated>0</NotGenerated> + <InvalidFlash>1</InvalidFlash> + </TargetStatus> + <OutputDirectory>.\_build\</OutputDirectory> + <OutputName>nrf52832_xxaa_s1xx_iot</OutputName> + <CreateExecutable>1</CreateExecutable> + <CreateLib>0</CreateLib> + <CreateHexFile>1</CreateHexFile> + <DebugInformation>1</DebugInformation> + <BrowseInformation>1</BrowseInformation> + <ListingPath>.\_build\</ListingPath> + <HexFormatSelection>1</HexFormatSelection> + <Merge32K>0</Merge32K> + <CreateBatchFile>0</CreateBatchFile> + <BeforeCompile> + <RunUserProg1>0</RunUserProg1> + <RunUserProg2>0</RunUserProg2> + <UserProg1Name></UserProg1Name> + <UserProg2Name></UserProg2Name> + <UserProg1Dos16Mode>0</UserProg1Dos16Mode> + <UserProg2Dos16Mode>0</UserProg2Dos16Mode> + <nStopU1X>0</nStopU1X> + <nStopU2X>0</nStopU2X> + </BeforeCompile> + <BeforeMake> + <RunUserProg1>0</RunUserProg1> + <RunUserProg2>0</RunUserProg2> + <UserProg1Name></UserProg1Name> + <UserProg2Name></UserProg2Name> + <UserProg1Dos16Mode>0</UserProg1Dos16Mode> + <UserProg2Dos16Mode>0</UserProg2Dos16Mode> + <nStopB1X>0</nStopB1X> + <nStopB2X>0</nStopB2X> + </BeforeMake> + <AfterMake> + <RunUserProg1>0</RunUserProg1> + <RunUserProg2>0</RunUserProg2> + <UserProg1Name></UserProg1Name> + <UserProg2Name></UserProg2Name> + <UserProg1Dos16Mode>0</UserProg1Dos16Mode> + <UserProg2Dos16Mode>0</UserProg2Dos16Mode> + </AfterMake> + <SelectedForBatchBuild>0</SelectedForBatchBuild> + <SVCSIdString></SVCSIdString> + </TargetCommonOption> + <CommonProperty> + <UseCPPCompiler>0</UseCPPCompiler> + <RVCTCodeConst>0</RVCTCodeConst> + <RVCTZI>0</RVCTZI> + <RVCTOtherData>0</RVCTOtherData> + <ModuleSelection>0</ModuleSelection> + <IncludeInBuild>1</IncludeInBuild> + <AlwaysBuild>0</AlwaysBuild> + <GenerateAssemblyFile>0</GenerateAssemblyFile> + <AssembleAssemblyFile>0</AssembleAssemblyFile> + <PublicsOnly>0</PublicsOnly> + <StopOnExitCode>3</StopOnExitCode> + <CustomArgument></CustomArgument> + <IncludeLibraryModules></IncludeLibraryModules> + <ComprImg>1</ComprImg> + </CommonProperty> + <DllOption> + <SimDllName></SimDllName> + <SimDllArguments></SimDllArguments> + <SimDlgDll></SimDlgDll> + <SimDlgDllArguments></SimDlgDllArguments> + <TargetDllName>SARMCM3.DLL</TargetDllName> + <TargetDllArguments>-MPU</TargetDllArguments> + <TargetDlgDll>TCM.DLL</TargetDlgDll> + <TargetDlgDllArguments>-pCM4</TargetDlgDllArguments> + </DllOption> + <DebugOption> + <OPTHX> + <HexSelection>1</HexSelection> + <HexRangeLowAddress>0</HexRangeLowAddress> + <HexRangeHighAddress>0</HexRangeHighAddress> + <HexOffset>0</HexOffset> + <Oh166RecLen>16</Oh166RecLen> + </OPTHX> + <Simulator> + <UseSimulator>0</UseSimulator> + <LoadApplicationAtStartup>1</LoadApplicationAtStartup> + <RunToMain>1</RunToMain> + <RestoreBreakpoints>1</RestoreBreakpoints> + <RestoreWatchpoints>1</RestoreWatchpoints> + <RestoreMemoryDisplay>1</RestoreMemoryDisplay> + <RestoreFunctions>1</RestoreFunctions> + <RestoreToolbox>1</RestoreToolbox> + <LimitSpeedToRealTime>0</LimitSpeedToRealTime> + <RestoreSysVw>1</RestoreSysVw> + </Simulator> + <Target> + <UseTarget>1</UseTarget> + <LoadApplicationAtStartup>1</LoadApplicationAtStartup> + <RunToMain>1</RunToMain> + <RestoreBreakpoints>1</RestoreBreakpoints> + <RestoreWatchpoints>1</RestoreWatchpoints> + <RestoreMemoryDisplay>1</RestoreMemoryDisplay> + <RestoreFunctions>0</RestoreFunctions> + <RestoreToolbox>1</RestoreToolbox> + <RestoreTracepoints>0</RestoreTracepoints> + <RestoreSysVw>1</RestoreSysVw> + </Target> + <RunDebugAfterBuild>0</RunDebugAfterBuild> + <TargetSelection>6</TargetSelection> + <SimDlls> + <CpuDll></CpuDll> + <CpuDllArguments></CpuDllArguments> + <PeripheralDll></PeripheralDll> + <PeripheralDllArguments></PeripheralDllArguments> + <InitializationFile></InitializationFile> + </SimDlls> + <TargetDlls> + <CpuDll></CpuDll> + <CpuDllArguments></CpuDllArguments> + <PeripheralDll></PeripheralDll> + <PeripheralDllArguments></PeripheralDllArguments> + <InitializationFile></InitializationFile> + <Driver>Segger\JL2CM3.dll</Driver> + </TargetDlls> + </DebugOption> + <Utilities> + <Flash1> + <UseTargetDll>1</UseTargetDll> + <UseExternalTool>0</UseExternalTool> + <RunIndependent>0</RunIndependent> + <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging> + <Capability>1</Capability> + <DriverSelection>4099</DriverSelection> + </Flash1> + <bUseTDR>1</bUseTDR> + <Flash2>Segger\JL2CM3.dll</Flash2> + <Flash3></Flash3> + <Flash4></Flash4> + <pFcarmOut></pFcarmOut> + <pFcarmGrp></pFcarmGrp> + <pFcArmRoot></pFcArmRoot> + <FcArmLst>0</FcArmLst> + </Utilities> + <TargetArmAds> + <ArmAdsMisc> + <GenerateListings>0</GenerateListings> + <asHll>1</asHll> + <asAsm>1</asAsm> + <asMacX>1</asMacX> + <asSyms>1</asSyms> + <asFals>1</asFals> + <asDbgD>1</asDbgD> + <asForm>1</asForm> + <ldLst>0</ldLst> + <ldmm>1</ldmm> + <ldXref>1</ldXref> + <BigEnd>0</BigEnd> + <AdsALst>1</AdsALst> + <AdsACrf>1</AdsACrf> + <AdsANop>0</AdsANop> + <AdsANot>0</AdsANot> + <AdsLLst>1</AdsLLst> + <AdsLmap>1</AdsLmap> + <AdsLcgr>1</AdsLcgr> + <AdsLsym>1</AdsLsym> + <AdsLszi>1</AdsLszi> + <AdsLtoi>1</AdsLtoi> + <AdsLsun>1</AdsLsun> + <AdsLven>1</AdsLven> + <AdsLsxf>1</AdsLsxf> + <RvctClst>0</RvctClst> + <GenPPlst>0</GenPPlst> + <AdsCpuType>"Cortex-M4"</AdsCpuType> + <RvctDeviceName></RvctDeviceName> + <mOS>0</mOS> + <uocRom>0</uocRom> + <uocRam>0</uocRam> + <hadIROM>1</hadIROM> + <hadIRAM>1</hadIRAM> + <hadXRAM>0</hadXRAM> + <uocXRam>0</uocXRam> + <RvdsVP>2</RvdsVP> + <hadIRAM2>0</hadIRAM2> + <hadIROM2>0</hadIROM2> + <StupSel>8</StupSel> + <useUlib>0</useUlib> + <EndSel>0</EndSel> + <uLtcg>0</uLtcg> + <RoSelD>3</RoSelD> + <RwSelD>5</RwSelD> + <CodeSel>0</CodeSel> + <OptFeed>0</OptFeed> + <NoZi1>0</NoZi1> + <NoZi2>0</NoZi2> + <NoZi3>0</NoZi3> + <NoZi4>0</NoZi4> + <NoZi5>0</NoZi5> + <Ro1Chk>0</Ro1Chk> + <Ro2Chk>0</Ro2Chk> + <Ro3Chk>0</Ro3Chk> + <Ir1Chk>1</Ir1Chk> + <Ir2Chk>0</Ir2Chk> + <Ra1Chk>0</Ra1Chk> + <Ra2Chk>0</Ra2Chk> + <Ra3Chk>0</Ra3Chk> + <Im1Chk>1</Im1Chk> + <Im2Chk>0</Im2Chk> + <OnChipMemories> + <Ocm1> + <Type>0</Type> + <StartAddress>0x0</StartAddress> + <Size>0x0</Size> + </Ocm1> + <Ocm2> + <Type>0</Type> + <StartAddress>0x0</StartAddress> + <Size>0x0</Size> + </Ocm2> + <Ocm3> + <Type>0</Type> + <StartAddress>0x0</StartAddress> + <Size>0x0</Size> + </Ocm3> + <Ocm4> + <Type>0</Type> + <StartAddress>0x0</StartAddress> + <Size>0x0</Size> + </Ocm4> + <Ocm5> + <Type>0</Type> + <StartAddress>0x0</StartAddress> + <Size>0x0</Size> + </Ocm5> + <Ocm6> + <Type>0</Type> + <StartAddress>0x0</StartAddress> + <Size>0x0</Size> + </Ocm6> + <IRAM> + <Type>0</Type> + <StartAddress>0x20000000</StartAddress> + <Size>0x10000</Size> + </IRAM> + <IROM> + <Type>1</Type> + <StartAddress>0x0</StartAddress> + <Size>0x80000</Size> + </IROM> + <XRAM> + <Type>0</Type> + <StartAddress>0x0</StartAddress> + <Size>0x0</Size> + </XRAM> + <OCR_RVCT1> + <Type>1</Type> + <StartAddress>0x0</StartAddress> + <Size>0x0</Size> + </OCR_RVCT1> + <OCR_RVCT2> + <Type>1</Type> + <StartAddress>0x0</StartAddress> + <Size>0x0</Size> + </OCR_RVCT2> + <OCR_RVCT3> + <Type>1</Type> + <StartAddress>0x0</StartAddress> + <Size>0x0</Size> + </OCR_RVCT3> + <OCR_RVCT4> + <Type>1</Type> + <StartAddress>0x1f000</StartAddress> + <Size>0x61000</Size> + </OCR_RVCT4> + <OCR_RVCT5> + <Type>1</Type> + <StartAddress>0x0</StartAddress> + <Size>0x0</Size> + </OCR_RVCT5> + <OCR_RVCT6> + <Type>0</Type> + <StartAddress>0x0</StartAddress> + <Size>0x0</Size> + </OCR_RVCT6> + <OCR_RVCT7> + <Type>0</Type> + <StartAddress>0x0</StartAddress> + <Size>0x0</Size> + </OCR_RVCT7> + <OCR_RVCT8> + <Type>0</Type> + <StartAddress>0x0</StartAddress> + <Size>0x0</Size> + </OCR_RVCT8> + <OCR_RVCT9> + <Type>0</Type> + <StartAddress>0x20002800</StartAddress> + <Size>0xd800</Size> + </OCR_RVCT9> + <OCR_RVCT10> + <Type>0</Type> + <StartAddress>0x0</StartAddress> + <Size>0x0</Size> + </OCR_RVCT10> + </OnChipMemories> + <RvctStartVector></RvctStartVector> + </ArmAdsMisc> + <Cads> + <interw>1</interw> + <Optim>4</Optim> + <oTime>0</oTime> + <SplitLS>0</SplitLS> + <OneElfS>1</OneElfS> + <Strict>0</Strict> + <EnumInt>0</EnumInt> + <PlainCh>0</PlainCh> + <Ropi>0</Ropi> + <Rwpi>0</Rwpi> + <wLevel>1</wLevel> + <uThumb>0</uThumb> + <uSurpInc>0</uSurpInc> + <uC99>0</uC99> + <useXO>0</useXO> + <VariousControls> + <MiscControls>--c99</MiscControls> + <Define>__HEAP_SIZE=4096 BLE_STACK_SUPPORT_REQD BOARD_PCA10040 CONFIG_GPIO_AS_PINRESET s1xx SOFTDEVICE_PRESENT NRF52 SWI_DISABLE0 MG_DISABLE_HTTP_DIGEST_AUTH MG_DISABLE_MD5 MG_DISABLE_HTTP_KEEP_ALIVE MG_ENABLE_HTTP_SSI=0 MG_ENABLE_HTTP_STREAMING_MULTIPART MG_NO_BSD_SOCKETS CS_PLATFORM=CS_P_NRF52 CS_ENABLE_STDIO NRF_LOG_USES_RTT ENABLE_DEBUG_LOG_SUPPORT</Define> + <Undefine></Undefine> + <IncludePath>..\..\..\config;..\..\..\..\nrf5_iot_sdk\examples\bsp;..\..\..\..\nrf5_iot_sdk\components\device;..\..\..\..\nrf5_iot_sdk\components\toolchain;..\..\..\..\nrf5_iot_sdk\components\ble\common;..\..\..\..\nrf5_iot_sdk\components\drivers_nrf\common;..\..\..\..\nrf5_iot_sdk\components\drivers_nrf\delay;..\..\..\..\nrf5_iot_sdk\components\drivers_nrf\gpiote;..\..\..\..\nrf5_iot_sdk\components\drivers_nrf\hal;..\..\..\..\nrf5_iot_sdk\components\drivers_nrf\pstorage;..\..\..\..\nrf5_iot_sdk\components\drivers_nrf\uart;..\..\..\..\nrf5_iot_sdk\components\drivers_nrf\config;..\..\..\..\nrf5_iot_sdk\components\iot\ble_6lowpan;..\..\..\..\nrf5_iot_sdk\components\iot\ble_ipsp;..\..\..\..\nrf5_iot_sdk\components\iot\common;..\..\..\..\nrf5_iot_sdk\components\iot\context_manager;..\..\..\..\nrf5_iot_sdk\components\iot\include;..\..\..\..\nrf5_iot_sdk\components\iot\errno;..\..\..\..\nrf5_iot_sdk\components\iot\iot_timer;..\..\..\..\nrf5_iot_sdk\components\iot\medium;..\..\..\..\nrf5_iot_sdk\components\iot\medium\ble_ncfgs;..\..\..\..\nrf5_iot_sdk\components\iot\medium\include;..\..\..\..\nrf5_iot_sdk\components\iot\medium\commissioning;..\..\..\..\nrf5_iot_sdk\components\libraries\button;..\..\..\..\nrf5_iot_sdk\components\libraries\fifo;..\..\..\..\nrf5_iot_sdk\components\libraries\mem_manager;..\..\..\..\nrf5_iot_sdk\components\libraries\scheduler;..\..\..\..\nrf5_iot_sdk\components\libraries\timer;..\..\..\..\nrf5_iot_sdk\components\libraries\trace;..\..\..\..\nrf5_iot_sdk\components\libraries\uart;..\..\..\..\nrf5_iot_sdk\components\libraries\util;..\..\..\..\nrf5_iot_sdk\components\softdevice\common\softdevice_handler;..\..\..\..\nrf5_iot_sdk\components\softdevice\s1xx_iot\headers;..\..\..\..\nrf5_iot_sdk\components\softdevice\s1xx_iot\headers\nrf52;..\..\..\..\nrf5_iot_sdk\external\lwip\src\include;..\..\..\..\nrf5_iot_sdk\external\lwip\src\include\netif;..\..\..\..\nrf5_iot_sdk\external\lwip\src\include\lwip;..\..\..\..\nrf5_iot_sdk\external\lwip\src\port;..\..\..\..\nrf5_iot_sdk\external\lwip\src\port\arch;..\..\..;..\..\..\rtt\RTT;..\..\..\rtt\Syscalls;..\..\..\..\..\..</IncludePath> + </VariousControls> + </Cads> + <Aads> + <interw>1</interw> + <Ropi>0</Ropi> + <Rwpi>0</Rwpi> + <thumb>0</thumb> + <SplitLS>0</SplitLS> + <SwStkChk>0</SwStkChk> + <NoWarn>0</NoWarn> + <uSurpInc>0</uSurpInc> + <useXO>0</useXO> + <VariousControls> + <MiscControls></MiscControls> + <Define>__HEAP_SIZE=4096 BLE_STACK_SUPPORT_REQD BOARD_PCA10040 CONFIG_GPIO_AS_PINRESET s1xx SOFTDEVICE_PRESENT NRF52 SWI_DISABLE0</Define> + <Undefine></Undefine> + <IncludePath></IncludePath> + </VariousControls> + </Aads> + <LDads> + <umfTarg>1</umfTarg> + <Ropi>0</Ropi> + <Rwpi>0</Rwpi> + <noStLib>0</noStLib> + <RepFail>1</RepFail> + <useFile>0</useFile> + <TextAddressRange>0x00000000</TextAddressRange> + <DataAddressRange>0x00000000</DataAddressRange> + <pXoBase></pXoBase> + <ScatterFile></ScatterFile> + <IncludeLibs></IncludeLibs> + <IncludeLibsPath></IncludeLibsPath> + <Misc></Misc> + <LinkerInputFile></LinkerInputFile> + <DisabledWarnings></DisabledWarnings> + </LDads> + </TargetArmAds> + </TargetOption> + <Groups> + <Group> + <GroupName>Application</GroupName> + <Files> + <File> + <FileName>main.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\main.c</FilePath> + </File> + <File> + <FileName>sdk_config.h</FileName> + <FileType>5</FileType> + <FilePath>..\..\..\config\sdk_config.h</FilePath> + </File> + <File> + <FileName>bleconfig.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\bleconfig.c</FilePath> + </File> + <File> + <FileName>bleconfig.h</FileName> + <FileType>5</FileType> + <FilePath>..\..\..\bleconfig.h</FilePath> + </File> + <File> + <FileName>myboard.h</FileName> + <FileType>5</FileType> + <FilePath>..\..\..\myboard.h</FilePath> + </File> + </Files> + </Group> + <Group> + <GroupName>Board Support</GroupName> + <Files> + <File> + <FileName>bsp.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\examples\bsp\bsp.c</FilePath> + </File> + </Files> + </Group> + <Group> + <GroupName>Documentation</GroupName> + <Files> + <File> + <FileName>Abstract.txt</FileName> + <FileType>5</FileType> + <FilePath>..\..\..\Abstract.txt</FilePath> + </File> + <File> + <FileName>license.txt</FileName> + <FileType>5</FileType> + <FilePath>..\..\..\license.txt</FilePath> + </File> + </Files> + </Group> + <Group> + <GroupName>lwIP</GroupName> + <Files> + <File> + <FileName>def.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\external\lwip\src\core\def.c</FilePath> + </File> + <File> + <FileName>dhcp.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\external\lwip\src\core\dhcp.c</FilePath> + </File> + <File> + <FileName>dhcp6.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\external\lwip\src\core\ipv6\dhcp6.c</FilePath> + </File> + <File> + <FileName>dns.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\external\lwip\src\core\dns.c</FilePath> + </File> + <File> + <FileName>icmp.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\external\lwip\src\core\ipv4\icmp.c</FilePath> + </File> + <File> + <FileName>icmp6.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\external\lwip\src\core\ipv6\icmp6.c</FilePath> + </File> + <File> + <FileName>inet6.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\external\lwip\src\core\ipv6\inet6.c</FilePath> + </File> + <File> + <FileName>inet_chksum.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\external\lwip\src\core\inet_chksum.c</FilePath> + </File> + <File> + <FileName>init.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\external\lwip\src\core\init.c</FilePath> + </File> + <File> + <FileName>ip4.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\external\lwip\src\core\ipv4\ip4.c</FilePath> + </File> + <File> + <FileName>ip4_addr.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\external\lwip\src\core\ipv4\ip4_addr.c</FilePath> + </File> + <File> + <FileName>ip6.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\external\lwip\src\core\ipv6\ip6.c</FilePath> + </File> + <File> + <FileName>ip6_addr.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\external\lwip\src\core\ipv6\ip6_addr.c</FilePath> + </File> + <File> + <FileName>memp.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\external\lwip\src\core\memp.c</FilePath> + </File> + <File> + <FileName>mld6.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\external\lwip\src\core\ipv6\mld6.c</FilePath> + </File> + <File> + <FileName>nd6.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\external\lwip\src\core\ipv6\nd6.c</FilePath> + </File> + <File> + <FileName>netif.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\external\lwip\src\core\netif.c</FilePath> + </File> + <File> + <FileName>nrf_platform_port.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\external\lwip\src\port\nrf_platform_port.c</FilePath> + </File> + <File> + <FileName>pbuf.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\external\lwip\src\core\pbuf.c</FilePath> + </File> + <File> + <FileName>raw.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\external\lwip\src\core\raw.c</FilePath> + </File> + <File> + <FileName>sys.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\external\lwip\src\core\sys.c</FilePath> + </File> + <File> + <FileName>tcp.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\external\lwip\src\core\tcp.c</FilePath> + </File> + <File> + <FileName>tcp_in.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\external\lwip\src\core\tcp_in.c</FilePath> + </File> + <File> + <FileName>tcp_out.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\external\lwip\src\core\tcp_out.c</FilePath> + </File> + <File> + <FileName>timers.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\external\lwip\src\core\timers.c</FilePath> + </File> + <File> + <FileName>udp.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\external\lwip\src\core\udp.c</FilePath> + </File> + </Files> + </Group> + <Group> + <GroupName>nRF_BLE</GroupName> + <Files> + <File> + <FileName>ble_advdata.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\components\ble\common\ble_advdata.c</FilePath> + </File> + <File> + <FileName>ble_conn_params.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\components\ble\common\ble_conn_params.c</FilePath> + </File> + <File> + <FileName>ble_srv_common.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\components\ble\common\ble_srv_common.c</FilePath> + </File> + </Files> + </Group> + <Group> + <GroupName>nRF_Drivers</GroupName> + <Files> + <File> + <FileName>app_uart_fifo.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\components\libraries\uart\app_uart_fifo.c</FilePath> + </File> + <File> + <FileName>nrf_delay.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\components\drivers_nrf\delay\nrf_delay.c</FilePath> + </File> + <File> + <FileName>nrf_drv_common.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\components\drivers_nrf\common\nrf_drv_common.c</FilePath> + </File> + <File> + <FileName>nrf_drv_gpiote.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\components\drivers_nrf\gpiote\nrf_drv_gpiote.c</FilePath> + </File> + <File> + <FileName>nrf_drv_uart.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\components\drivers_nrf\uart\nrf_drv_uart.c</FilePath> + </File> + <File> + <FileName>pstorage.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\components\drivers_nrf\pstorage\pstorage.c</FilePath> + </File> + </Files> + </Group> + <Group> + <GroupName>nRF_IoT</GroupName> + <Files> + <File> + <FileName>ble_6lowpan.lib</FileName> + <FileType>4</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\components\iot\ble_6lowpan\lib\ble_6lowpan.lib</FilePath> + </File> + <File> + <FileName>errno.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\components\iot\errno\errno.c</FilePath> + </File> + <File> + <FileName>iot_context_manager.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\components\iot\context_manager\iot_context_manager.c</FilePath> + </File> + <File> + <FileName>iot_timer.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\components\iot\iot_timer\iot_timer.c</FilePath> + </File> + <File> + <FileName>ipv6_medium_ble.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\components\iot\medium\ipv6_medium_ble.c</FilePath> + </File> + <File> + <FileName>ipv6_parse.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\components\iot\common\ipv6_parse.c</FilePath> + </File> + </Files> + </Group> + <Group> + <GroupName>nRF_IoT_Commissioning</GroupName> + <Files> + <File> + <FileName>ble_ncfgs.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\components\iot\medium\ble_ncfgs\ble_ncfgs.c</FilePath> + </File> + <File> + <FileName>commissioning.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\components\iot\medium\commissioning\commissioning.c</FilePath> + </File> + </Files> + </Group> + <Group> + <GroupName>nRF_Libraries</GroupName> + <Files> + <File> + <FileName>app_button.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\components\libraries\button\app_button.c</FilePath> + </File> + <File> + <FileName>app_error.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\components\libraries\util\app_error.c</FilePath> + </File> + <File> + <FileName>app_fifo.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\components\libraries\fifo\app_fifo.c</FilePath> + </File> + <File> + <FileName>app_scheduler.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\components\libraries\scheduler\app_scheduler.c</FilePath> + </File> + <File> + <FileName>app_timer.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\components\libraries\timer\app_timer.c</FilePath> + </File> + <File> + <FileName>app_timer_appsh.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\components\libraries\timer\app_timer_appsh.c</FilePath> + </File> + <File> + <FileName>app_trace.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\components\libraries\trace\app_trace.c</FilePath> + </File> + <File> + <FileName>mem_manager.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\components\libraries\mem_manager\mem_manager.c</FilePath> + </File> + <File> + <FileName>nrf_assert.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\components\libraries\util\nrf_assert.c</FilePath> + </File> + <File> + <FileName>retarget.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\components\libraries\uart\retarget.c</FilePath> + </File> + </Files> + </Group> + <Group> + <GroupName>nRF_SoftDevice</GroupName> + <Files> + <File> + <FileName>softdevice_handler.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\components\softdevice\common\softdevice_handler\softdevice_handler.c</FilePath> + </File> + <File> + <FileName>softdevice_handler_appsh.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\nrf5_iot_sdk\components\softdevice\common\softdevice_handler\softdevice_handler_appsh.c</FilePath> + </File> + </Files> + </Group> + <Group> + <GroupName>RTT</GroupName> + <Files> + <File> + <FileName>SEGGER_RTT.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\rtt\RTT\SEGGER_RTT.c</FilePath> + </File> + <File> + <FileName>SEGGER_RTT.h</FileName> + <FileType>5</FileType> + <FilePath>..\..\..\rtt\RTT\SEGGER_RTT.h</FilePath> + </File> + <File> + <FileName>SEGGER_RTT_Conf.h</FileName> + <FileType>5</FileType> + <FilePath>..\..\..\rtt\RTT\SEGGER_RTT_Conf.h</FilePath> + </File> + <File> + <FileName>SEGGER_RTT_printf.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\rtt\RTT\SEGGER_RTT_printf.c</FilePath> + </File> + <File> + <FileName>RTT_Syscalls_KEIL.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\rtt\Syscalls\RTT_Syscalls_KEIL.c</FilePath> + </File> + </Files> + </Group> + <Group> + <GroupName>Mongoose</GroupName> + <Files> + <File> + <FileName>mongoose.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\..\..\mongoose.c</FilePath> + </File> + </Files> + </Group> + <Group> + <GroupName>::CMSIS</GroupName> + </Group> + <Group> + <GroupName>::Device</GroupName> + <Files> + <File> + <FileName>arm_startup_nrf52.s</FileName> + <FileType>2</FileType> + <FilePath>RTE\Device\nRF52832_xxAA\arm_startup_nrf52.s</FilePath> + </File> + <File> + <FileName>system_nrf52.c</FileName> + <FileType>1</FileType> + <FilePath>RTE\Device\nRF52832_xxAA\system_nrf52.c</FilePath> + </File> + </Files> + </Group> + </Groups> + </Target> + </Targets> + + <RTE> + <packages> + <filter> + <targetInfos/> + </filter> + <package name="CMSIS" schemaVersion="1.2" url="http://www.keil.com/pack/" vendor="ARM" version="4.2.0"> + <targetInfos> + <targetInfo name="nrf52832_xxaa_s1xx_iot" versionMatchMode="fixed"/> + </targetInfos> + </package> + <package name="nRF_DeviceFamilyPack" schemaVersion="1.0" url="http://developer.nordicsemi.com/nRF51_SDK/pieces/nRF_DeviceFamilyPack/" vendor="NordicSemiconductor" version="8.0.5"> + <targetInfos> + <targetInfo name="nrf52832_xxaa_s1xx_iot" versionMatchMode="fixed"/> + </targetInfos> + </package> + </packages> + <apis/> + <components> + <component Cclass="CMSIS" Cgroup="CORE" Cvendor="ARM" Cversion="3.40.0" condition="CMSIS Core"> + <package name="CMSIS" schemaVersion="1.2" url="http://www.keil.com/pack/" vendor="ARM" version="4.2.0"/> + <targetInfos> + <targetInfo name="nrf52832_xxaa_s1xx_iot" versionMatchMode="fixed"/> + </targetInfos> + </component> + <component Cclass="Device" Cgroup="Startup" Cvendor="NordicSemiconductor" Cversion="8.0.5" condition="nRF51 Series CMSIS Device"> + <package name="nRF_DeviceFamilyPack" schemaVersion="1.0" url="http://developer.nordicsemi.com/nRF51_SDK/pieces/nRF_DeviceFamilyPack/" vendor="NordicSemiconductor" version="8.0.5"/> + <targetInfos> + <targetInfo name="nrf52832_xxaa_s1xx_iot" versionMatchMode="fixed"/> + </targetInfos> + </component> + </components> + <files> + <file attr="config" category="source" condition="ARM Compiler" name="Device\Source\arm\arm_startup_nrf52.s"> + <instance index="0">RTE\Device\nRF52832_xxAA\arm_startup_nrf52.s</instance> + <component Cclass="Device" Cgroup="Startup" Cvendor="NordicSemiconductor" Cversion="8.0.5" condition="nRF52 Series CMSIS Device"/> + <package license="License\license.txt" name="nRF_DeviceFamilyPack" schemaVersion="1.3" url="http://developer.nordicsemi.com/nRF51_SDK/pieces/nRF_DeviceFamilyPack/" vendor="NordicSemiconductor" version="8.0.5"/> + <targetInfos> + <targetInfo name="nrf52832_xxaa_s1xx_iot"/> + </targetInfos> + </file> + <file attr="config" category="source" name="Device\Source\system_nrf52.c"> + <instance index="0">RTE\Device\nRF52832_xxAA\system_nrf52.c</instance> + <component Cclass="Device" Cgroup="Startup" Cvendor="NordicSemiconductor" Cversion="8.0.5" condition="nRF52 Series CMSIS Device"/> + <package license="License\license.txt" name="nRF_DeviceFamilyPack" schemaVersion="1.3" url="http://developer.nordicsemi.com/nRF51_SDK/pieces/nRF_DeviceFamilyPack/" vendor="NordicSemiconductor" version="8.0.5"/> + <targetInfos> + <targetInfo name="nrf52832_xxaa_s1xx_iot"/> + </targetInfos> + </file> + </files> + </RTE> + +</Project> diff --git a/examples/nRF52/http/boards/pca10040/armgcc/.gdbinit b/examples/nRF52/http/boards/pca10040/armgcc/.gdbinit new file mode 100644 index 0000000000000000000000000000000000000000..be68d093211033d7353dd3d401c22c7a421fa73c --- /dev/null +++ b/examples/nRF52/http/boards/pca10040/armgcc/.gdbinit @@ -0,0 +1,2 @@ +target extended-remote localhost:2331 +file _build/nrf52832_xxaa_s1xx_iot.out diff --git a/examples/nRF52/http/boards/pca10040/armgcc/Makefile b/examples/nRF52/http/boards/pca10040/armgcc/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..185cfdd0bb7e4df23426809ec6489856e6bdda48 --- /dev/null +++ b/examples/nRF52/http/boards/pca10040/armgcc/Makefile @@ -0,0 +1,304 @@ +PROJECT_NAME := iot_lwip_tcp_server_pca10040 + +export OUTPUT_FILENAME +#MAKEFILE_NAME := $(CURDIR)/$(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) +MAKEFILE_NAME := $(MAKEFILE_LIST) +MAKEFILE_DIR := $(dir $(MAKEFILE_NAME) ) + +TEMPLATE_PATH = ../../../../nrf5_iot_sdk/components/toolchain/gcc +ifeq ($(OS),Windows_NT) +include $(TEMPLATE_PATH)/Makefile.windows +else +include $(TEMPLATE_PATH)/Makefile.posix +endif + +MK := mkdir +RM := rm -rf + +#echo suspend +ifeq ("$(VERBOSE)","1") +NO_ECHO := +else +NO_ECHO := @ +endif + +# Toolchain commands +CC := '$(GNU_INSTALL_ROOT)/bin/$(GNU_PREFIX)-gcc' +AS := '$(GNU_INSTALL_ROOT)/bin/$(GNU_PREFIX)-as' +AR := '$(GNU_INSTALL_ROOT)/bin/$(GNU_PREFIX)-ar' -r +LD := '$(GNU_INSTALL_ROOT)/bin/$(GNU_PREFIX)-ld' +NM := '$(GNU_INSTALL_ROOT)/bin/$(GNU_PREFIX)-nm' +OBJDUMP := '$(GNU_INSTALL_ROOT)/bin/$(GNU_PREFIX)-objdump' +OBJCOPY := '$(GNU_INSTALL_ROOT)/bin/$(GNU_PREFIX)-objcopy' +SIZE := '$(GNU_INSTALL_ROOT)/bin/$(GNU_PREFIX)-size' + +#function for removing duplicates in a list +remduplicates = $(strip $(if $1,$(firstword $1) $(call remduplicates,$(filter-out $(firstword $1),$1)))) + +#source common to all targets +C_SOURCE_FILES += \ +$(abspath ../../../../nrf5_iot_sdk/components/libraries/button/app_button.c) \ +$(abspath ../../../../nrf5_iot_sdk/components/libraries/util/app_error.c) \ +$(abspath ../../../../nrf5_iot_sdk/components/libraries/fifo/app_fifo.c) \ +$(abspath ../../../../nrf5_iot_sdk/components/libraries/scheduler/app_scheduler.c) \ +$(abspath ../../../../nrf5_iot_sdk/components/libraries/timer/app_timer.c) \ +$(abspath ../../../../nrf5_iot_sdk/components/libraries/timer/app_timer_appsh.c) \ +$(abspath ../../../../nrf5_iot_sdk/components/libraries/trace/app_trace.c) \ +$(abspath ../../../../nrf5_iot_sdk/components/libraries/mem_manager/mem_manager.c) \ +$(abspath ../../../../nrf5_iot_sdk/components/libraries/util/nrf_assert.c) \ +$(abspath ../../../../nrf5_iot_sdk/components/libraries/uart/retarget.c) \ +$(abspath ../../../../nrf5_iot_sdk/external/lwip/src/core/def.c) \ +$(abspath ../../../../nrf5_iot_sdk/external/lwip/src/core/dhcp.c) \ +$(abspath ../../../../nrf5_iot_sdk/external/lwip/src/core/ipv6/dhcp6.c) \ +$(abspath ../../../../nrf5_iot_sdk/external/lwip/src/core/dns.c) \ +$(abspath ../../../../nrf5_iot_sdk/external/lwip/src/core/ipv4/icmp.c) \ +$(abspath ../../../../nrf5_iot_sdk/external/lwip/src/core/ipv6/icmp6.c) \ +$(abspath ../../../../nrf5_iot_sdk/external/lwip/src/core/ipv6/inet6.c) \ +$(abspath ../../../../nrf5_iot_sdk/external/lwip/src/core/inet_chksum.c) \ +$(abspath ../../../../nrf5_iot_sdk/external/lwip/src/core/init.c) \ +$(abspath ../../../../nrf5_iot_sdk/external/lwip/src/core/ipv4/ip4.c) \ +$(abspath ../../../../nrf5_iot_sdk/external/lwip/src/core/ipv4/ip4_addr.c) \ +$(abspath ../../../../nrf5_iot_sdk/external/lwip/src/core/ipv6/ip6.c) \ +$(abspath ../../../../nrf5_iot_sdk/external/lwip/src/core/ipv6/ip6_addr.c) \ +$(abspath ../../../../nrf5_iot_sdk/external/lwip/src/core/memp.c) \ +$(abspath ../../../../nrf5_iot_sdk/external/lwip/src/core/ipv6/mld6.c) \ +$(abspath ../../../../nrf5_iot_sdk/external/lwip/src/core/ipv6/nd6.c) \ +$(abspath ../../../../nrf5_iot_sdk/external/lwip/src/core/netif.c) \ +$(abspath ../../../../nrf5_iot_sdk/external/lwip/src/port/nrf_platform_port.c) \ +$(abspath ../../../../nrf5_iot_sdk/external/lwip/src/core/pbuf.c) \ +$(abspath ../../../../nrf5_iot_sdk/external/lwip/src/core/raw.c) \ +$(abspath ../../../../nrf5_iot_sdk/external/lwip/src/core/sys.c) \ +$(abspath ../../../../nrf5_iot_sdk/external/lwip/src/core/tcp.c) \ +$(abspath ../../../../nrf5_iot_sdk/external/lwip/src/core/tcp_in.c) \ +$(abspath ../../../../nrf5_iot_sdk/external/lwip/src/core/tcp_out.c) \ +$(abspath ../../../../nrf5_iot_sdk/external/lwip/src/core/timers.c) \ +$(abspath ../../../../nrf5_iot_sdk/external/lwip/src/core/udp.c) \ +$(abspath ../../../../nrf5_iot_sdk/components/libraries/uart/app_uart_fifo.c) \ +$(abspath ../../../../nrf5_iot_sdk/components/drivers_nrf/delay/nrf_delay.c) \ +$(abspath ../../../../nrf5_iot_sdk/components/drivers_nrf/common/nrf_drv_common.c) \ +$(abspath ../../../../nrf5_iot_sdk/components/drivers_nrf/gpiote/nrf_drv_gpiote.c) \ +$(abspath ../../../../nrf5_iot_sdk/components/drivers_nrf/uart/nrf_drv_uart.c) \ +$(abspath ../../../../nrf5_iot_sdk/components/drivers_nrf/pstorage/pstorage.c) \ +$(abspath ../../../../nrf5_iot_sdk/examples/bsp/bsp.c) \ +$(abspath ../../../main.c) \ +$(abspath ../../../bleconfig.c) \ +$(abspath ../../../../../../mongoose.c) \ +$(abspath ../../../rtt/RTT/SEGGER_RTT.c) \ +$(abspath ../../../rtt/RTT/SEGGER_RTT_printf.c) \ +$(abspath ../../../rtt/Syscalls/RTT_Syscalls_GCC.c) \ +$(abspath ../../../../nrf5_iot_sdk/components/ble/common/ble_advdata.c) \ +$(abspath ../../../../nrf5_iot_sdk/components/ble/common/ble_conn_params.c) \ +$(abspath ../../../../nrf5_iot_sdk/components/ble/common/ble_srv_common.c) \ +$(abspath ../../../../nrf5_iot_sdk/components/iot/errno/errno.c) \ +$(abspath ../../../../nrf5_iot_sdk/components/iot/context_manager/iot_context_manager.c) \ +$(abspath ../../../../nrf5_iot_sdk/components/iot/iot_timer/iot_timer.c) \ +$(abspath ../../../../nrf5_iot_sdk/components/iot/medium/ipv6_medium_ble.c) \ +$(abspath ../../../../nrf5_iot_sdk/components/iot/common/ipv6_parse.c) \ +$(abspath ../../../../nrf5_iot_sdk/components/toolchain/system_nrf52.c) \ +$(abspath ../../../../nrf5_iot_sdk/components/iot/medium/ble_ncfgs/ble_ncfgs.c) \ +$(abspath ../../../../nrf5_iot_sdk/components/iot/medium/commissioning/commissioning.c) \ +$(abspath ../../../../nrf5_iot_sdk/components/softdevice/common/softdevice_handler/softdevice_handler.c) \ +$(abspath ../../../../nrf5_iot_sdk/components/softdevice/common/softdevice_handler/softdevice_handler_appsh.c) \ + +#assembly files common to all targets +ASM_SOURCE_FILES = $(abspath ../../../../nrf5_iot_sdk/components/toolchain/gcc/gcc_startup_nrf52.s) + +#assembly files common to all targets +LIBS = $(abspath ../../../../nrf5_iot_sdk/components/iot/ble_6lowpan/lib/ble_6lowpan.a) + +#includes common to all targets +INC_PATHS = -I$(abspath ../../../config) +INC_PATHS += -I$(abspath ../../../../nrf5_iot_sdk/components/iot/errno) +INC_PATHS += -I$(abspath ../../../../nrf5_iot_sdk/components/softdevice/s1xx_iot/headers) +INC_PATHS += -I$(abspath ../../../../nrf5_iot_sdk/components/drivers_nrf/common) +INC_PATHS += -I$(abspath ../../../../nrf5_iot_sdk/components/softdevice/common/softdevice_handler) +INC_PATHS += -I$(abspath ../../../../nrf5_iot_sdk/external/lwip/src/include) +INC_PATHS += -I$(abspath ../../../../nrf5_iot_sdk/components/iot/ble_6lowpan) +INC_PATHS += -I$(abspath ../../../../nrf5_iot_sdk/components/drivers_nrf/hal) +INC_PATHS += -I$(abspath ../../../../nrf5_iot_sdk/components/ble/common) +INC_PATHS += -I$(abspath ../../../../nrf5_iot_sdk/external/lwip/src/port) +INC_PATHS += -I$(abspath ../../../../nrf5_iot_sdk/components/libraries/fifo) +INC_PATHS += -I$(abspath ../../../../nrf5_iot_sdk/components/libraries/trace) +INC_PATHS += -I$(abspath ../../../../nrf5_iot_sdk/components/device) +INC_PATHS += -I$(abspath ../../../../nrf5_iot_sdk/components/libraries/uart) +INC_PATHS += -I$(abspath ../../../../nrf5_iot_sdk/components/iot/medium) +INC_PATHS += -I$(abspath ../../../../nrf5_iot_sdk/components/drivers_nrf/config) +INC_PATHS += -I$(abspath ../../../../nrf5_iot_sdk/components/libraries/mem_manager) +INC_PATHS += -I$(abspath ../../../../nrf5_iot_sdk/components/drivers_nrf/uart) +INC_PATHS += -I$(abspath ../../../../nrf5_iot_sdk/components/iot/ble_ipsp) +INC_PATHS += -I$(abspath ../../../../nrf5_iot_sdk/components/libraries/scheduler) +INC_PATHS += -I$(abspath ../../../../nrf5_iot_sdk/components/iot/iot_timer) +INC_PATHS += -I$(abspath ../../../../nrf5_iot_sdk/external/lwip/src/include/netif) +INC_PATHS += -I$(abspath ../../../../nrf5_iot_sdk/components/iot/medium/commissioning) +INC_PATHS += -I$(abspath ../../../../nrf5_iot_sdk/components/iot/include) +INC_PATHS += -I$(abspath ../../../../nrf5_iot_sdk/components/drivers_nrf/pstorage) +INC_PATHS += -I$(abspath ../../..) +INC_PATHS += -I$(abspath ../../../../../..) +INC_PATHS += -I$(abspath ../../../rtt/RTT) +INC_PATHS += -I$(abspath ../../../../nrf5_iot_sdk/components/iot/context_manager) +INC_PATHS += -I$(abspath ../../../../nrf5_iot_sdk/components/toolchain/gcc) +INC_PATHS += -I$(abspath ../../../../nrf5_iot_sdk/components/drivers_nrf/delay) +INC_PATHS += -I$(abspath ../../../../nrf5_iot_sdk/components/iot/medium/ble_ncfgs) +INC_PATHS += -I$(abspath ../../../../nrf5_iot_sdk/components/drivers_nrf/gpiote) +INC_PATHS += -I$(abspath ../../../../nrf5_iot_sdk/components/softdevice/s1xx_iot/headers/nrf52) +INC_PATHS += -I$(abspath ../../../../nrf5_iot_sdk/external/lwip/src/include/lwip) +INC_PATHS += -I$(abspath ../../../../nrf5_iot_sdk/components/iot/common) +INC_PATHS += -I$(abspath ../../../../nrf5_iot_sdk/components/libraries/timer) +INC_PATHS += -I$(abspath ../../../../nrf5_iot_sdk/external/lwip/src/port/arch) +INC_PATHS += -I$(abspath ../../../../nrf5_iot_sdk/components/libraries/button) +INC_PATHS += -I$(abspath ../../../../nrf5_iot_sdk/components/libraries/util) +INC_PATHS += -I$(abspath ../../../../nrf5_iot_sdk/examples/bsp) +INC_PATHS += -I$(abspath ../../../../nrf5_iot_sdk/components/toolchain) +INC_PATHS += -I$(abspath ../../../../nrf5_iot_sdk/components/iot/medium/include) + +OBJECT_DIRECTORY = _build +LISTING_DIRECTORY = $(OBJECT_DIRECTORY) +OUTPUT_BINARY_DIRECTORY = $(OBJECT_DIRECTORY) + +# Sorting removes duplicates +BUILD_DIRECTORIES := $(sort $(OBJECT_DIRECTORY) $(OUTPUT_BINARY_DIRECTORY) $(LISTING_DIRECTORY) ) + +# Mongoose features +MG_FEATURES_TINY = \ + -DMG_DISABLE_HTTP_DIGEST_AUTH \ + -DMG_DISABLE_MD5 \ + -DMG_DISABLE_HTTP_KEEP_ALIVE \ + -DMG_ENABLE_HTTP_SSI=0 \ + -DMG_ENABLE_HTTP_STREAMING_MULTIPART \ + -DMG_NO_BSD_SOCKETS + +#flags common to all targets +CFLAGS = -D__HEAP_SIZE=4096 +#CFLAGS += -DCOMMISSIONING_ENABLED +CFLAGS += -DSWI_DISABLE0 +CFLAGS += -DSOFTDEVICE_PRESENT +CFLAGS += -DBOARD_PCA10040 +CFLAGS += -DNRF52 +CFLAGS += -DCONFIG_GPIO_AS_PINRESET +CFLAGS += -DBLE_STACK_SUPPORT_REQD +CFLAGS += -Ds1xx +CFLAGS += -mcpu=cortex-m4 +CFLAGS += -mthumb -mabi=aapcs --std=gnu99 +CFLAGS += -w -g3 -O3 +CFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +# keep every function in separate section. This will allow linker to dump unused functions +CFLAGS += -ffunction-sections -fdata-sections -fno-strict-aliasing +CFLAGS += -fno-builtin --short-enums + +CFLAGS += -DCS_ENABLE_STDIO + +# This macro is needed for stdout to be retargeted to either UART or RTT +CFLAGS += -DENABLE_DEBUG_LOG_SUPPORT + +# Don't retarget stdout to UART; it'll be retargeted to RTT +CFLAGS += -DNRF_LOG_USES_RTT + +# Mongoose flags +CFLAGS += -DCS_PLATFORM=CS_P_NRF52 $(MG_FEATURES_TINY) -DMG_MODULE_LINES + +# keep every function in separate section. This will allow linker to dump unused functions +LDFLAGS += -Xlinker -Map=$(LISTING_DIRECTORY)/$(OUTPUT_FILENAME).map +LDFLAGS += -mthumb -mabi=aapcs -L $(TEMPLATE_PATH) -T$(LINKER_SCRIPT) +LDFLAGS += -mcpu=cortex-m4 +LDFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +# let linker to dump unused sections +LDFLAGS += -Wl,--gc-sections +# use newlib in nano version +LDFLAGS += --specs=nano.specs -lc -lnosys + +# Assembler flags +ASMFLAGS += -x assembler-with-cpp +ASMFLAGS += -D__HEAP_SIZE=4096 +ASMFLAGS += -DSWI_DISABLE0 +ASMFLAGS += -DSOFTDEVICE_PRESENT +ASMFLAGS += -DBOARD_PCA10040 +ASMFLAGS += -DNRF52 +ASMFLAGS += -DCONFIG_GPIO_AS_PINRESET +ASMFLAGS += -DENABLE_DEBUG_LOG_SUPPORT +ASMFLAGS += -DBLE_STACK_SUPPORT_REQD +ASMFLAGS += -Ds1xx +ASMFLAGS += -g3 + +#building all targets +all: nrf52832_xxaa_s1xx_iot + +#target for printing all targets +help: + @echo following targets are available: + @echo nrf52832_xxaa_s1xx_iot + +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) ) + +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) ) + +vpath %.c $(C_PATHS) +vpath %.s $(ASM_PATHS) + +OBJECTS = $(C_OBJECTS) $(ASM_OBJECTS) + +nrf52832_xxaa_s1xx_iot: OUTPUT_FILENAME := nrf52832_xxaa_s1xx_iot +nrf52832_xxaa_s1xx_iot: LINKER_SCRIPT=iot_lwip_tcp_server_gcc_nrf52.ld + +nrf52832_xxaa_s1xx_iot: $(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 + +## Create build directories +$(BUILD_DIRECTORIES): + echo $(MAKEFILE_NAME) + $(MK) $@ + +# Create objects from C SRC files +$(OBJECT_DIRECTORY)/%.o: %.c + @echo Compiling file: $(notdir $<) + $(NO_ECHO)$(CC) $(CFLAGS) $(INC_PATHS) -c -o $@ $< + +# Assemble files +$(OBJECT_DIRECTORY)/%.o: %.s + @echo Assembly file: $(notdir $<) + $(NO_ECHO)$(CC) $(ASMFLAGS) $(INC_PATHS) -c -o $@ $< +# Link +$(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 +## Create binary .bin file from the .out file +$(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 + +## Create binary .hex file from the .out file +$(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 + +finalize: genbin genhex echosize + +genbin: + @echo Preparing: $(OUTPUT_FILENAME).bin + $(NO_ECHO)$(OBJCOPY) -O binary $(OUTPUT_BINARY_DIRECTORY)/$(OUTPUT_FILENAME).out $(OUTPUT_BINARY_DIRECTORY)/$(OUTPUT_FILENAME).bin + +## Create binary .hex file from the .out file +genhex: + @echo Preparing: $(OUTPUT_FILENAME).hex + $(NO_ECHO)$(OBJCOPY) -O ihex $(OUTPUT_BINARY_DIRECTORY)/$(OUTPUT_FILENAME).out $(OUTPUT_BINARY_DIRECTORY)/$(OUTPUT_FILENAME).hex +echosize: + -@echo '' + $(NO_ECHO)$(SIZE) $(OUTPUT_BINARY_DIRECTORY)/$(OUTPUT_FILENAME).out + -@echo '' + +clean: + $(RM) $(BUILD_DIRECTORIES) + +cleanobj: + $(RM) $(BUILD_DIRECTORIES)/*.o +flash: $(MAKECMDGOALS) + @echo Flashing: $(OUTPUT_BINARY_DIRECTORY)/nrf52832_xxaa_s1xx_iot.hex + nrfjprog --program $(OUTPUT_BINARY_DIRECTORY)/nrf52832_xxaa_s1xx_iot.hex -f nrf52 --sectorerase + nrfjprog --reset -f nrf52 + +## Flash softdevice diff --git a/examples/nRF52/Makefile b/examples/nRF52/http/boards/pca10040/armgcc/Makefile.docker similarity index 67% rename from examples/nRF52/Makefile rename to examples/nRF52/http/boards/pca10040/armgcc/Makefile.docker index 103081e7e4c51a6f3305808dff00ef86a864e5ad..f9998eaa0dbec6febd1d597855234cd6fd8c7b21 100644 --- a/examples/nRF52/Makefile +++ b/examples/nRF52/http/boards/pca10040/armgcc/Makefile.docker @@ -1,5 +1,5 @@ SDK ?= $(shell cat sdk.version) -SRC_DIR ?= $(realpath ../../..) +SRC_DIR ?= $(realpath ../../../../../../..) .PHONY: all clean flash gdbserver gdb jlinkexe rtt @@ -22,5 +22,6 @@ all clean flash gdbserver gdb jlinkexe rtt: $(V)docker run --rm -it $(ADD_DOCKER_ARGS) -v $(SRC_DIR):/src $(SDK) \ /bin/bash -c "\ make -C /src/mongoose mongoose.c mongoose.h && \ - make -C /src/mongoose/examples/nRF52 -f Makefile.build $@ -$(MAKEFLAGS) \ + if [ ! -e /src/mongoose/examples/nRF52/nrf5_iot_sdk ]; then ln -s /opt/nrf5_iot_sdk /src/mongoose/examples/nRF52/nrf5_iot_sdk; fi && \ + make -C /src/mongoose/examples/nRF52/http/boards/pca10040/armgcc $@ -$(MAKEFLAGS) \ " diff --git a/examples/nRF52/http/boards/pca10040/armgcc/README.md b/examples/nRF52/http/boards/pca10040/armgcc/README.md new file mode 100644 index 0000000000000000000000000000000000000000..9854096cbc36d6617aa7cec9f2e1b5a073b773cf --- /dev/null +++ b/examples/nRF52/http/boards/pca10040/armgcc/README.md @@ -0,0 +1,3 @@ +`Makefile` is intended to be used under nRF IoT SDK (see +../../../../README.md); `Makefile.docker` is intended to be used under Cesanta +repository. diff --git a/examples/nRF52/ld/mongoose_example_nrf52.ld b/examples/nRF52/http/boards/pca10040/armgcc/iot_lwip_tcp_server_gcc_nrf52.ld similarity index 84% rename from examples/nRF52/ld/mongoose_example_nrf52.ld rename to examples/nRF52/http/boards/pca10040/armgcc/iot_lwip_tcp_server_gcc_nrf52.ld index aefb5d105e6e2820abbb74b55ee5529def25bc31..02876d7fcec0307a4896936fff8bad8972a665c9 100644 --- a/examples/nRF52/ld/mongoose_example_nrf52.ld +++ b/examples/nRF52/http/boards/pca10040/armgcc/iot_lwip_tcp_server_gcc_nrf52.ld @@ -9,4 +9,4 @@ MEMORY RAM (rwx) : ORIGIN = 0x20002800, LENGTH = 0xd800 } -INCLUDE "nrf5x_common.ld" \ No newline at end of file +INCLUDE "nrf5x_common.ld" diff --git a/examples/nRF52/sdk.version b/examples/nRF52/http/boards/pca10040/armgcc/sdk.version similarity index 100% rename from examples/nRF52/sdk.version rename to examples/nRF52/http/boards/pca10040/armgcc/sdk.version diff --git a/examples/nRF52/config/ipv6_medium_ble_cfg.h b/examples/nRF52/http/config/ipv6_medium_ble_cfg.h similarity index 100% rename from examples/nRF52/config/ipv6_medium_ble_cfg.h rename to examples/nRF52/http/config/ipv6_medium_ble_cfg.h diff --git a/examples/nRF52/config/ipv6_medium_platform.h b/examples/nRF52/http/config/ipv6_medium_platform.h similarity index 100% rename from examples/nRF52/config/ipv6_medium_platform.h rename to examples/nRF52/http/config/ipv6_medium_platform.h diff --git a/examples/nRF52/config/nrf_drv_config.h b/examples/nRF52/http/config/nrf_drv_config.h similarity index 100% rename from examples/nRF52/config/nrf_drv_config.h rename to examples/nRF52/http/config/nrf_drv_config.h diff --git a/examples/nRF52/config/pstorage_platform.h b/examples/nRF52/http/config/pstorage_platform.h similarity index 100% rename from examples/nRF52/config/pstorage_platform.h rename to examples/nRF52/http/config/pstorage_platform.h diff --git a/examples/nRF52/config/sdk_config.h b/examples/nRF52/http/config/sdk_config.h similarity index 100% rename from examples/nRF52/config/sdk_config.h rename to examples/nRF52/http/config/sdk_config.h diff --git a/examples/nRF52/main.c b/examples/nRF52/http/main.c similarity index 90% rename from examples/nRF52/main.c rename to examples/nRF52/http/main.c index 9c655db39aebbe5df872c1259e319076122789ce..897703101ab3f5024e953350d1b372112582659e 100644 --- a/examples/nRF52/main.c +++ b/examples/nRF52/http/main.c @@ -6,7 +6,7 @@ #include "bleconfig.h" #include "myboard.h" -#include "../../mongoose.h" +#include "mongoose.h" /* * This is a callback invoked by Mongoose to signal that a poll is needed soon. @@ -72,9 +72,11 @@ int main(void) // Note that many connections can be added to a single event manager // Connections can be created at any point, e.g. in event handler function const char *err; - struct mg_bind_opts opts = {}; + struct mg_bind_opts opts; + struct mg_connection *nc = NULL; + memset(&opts, 0x00, sizeof(opts)); opts.error_string = &err; - struct mg_connection *nc = mg_bind_opt(&mgr, "80", ev_handler, opts); // Create listening connection and add it to the event manager + nc = mg_bind_opt(&mgr, "80", ev_handler, opts); // Create listening connection and add it to the event manager if (nc == NULL) { printf("Failed to create listener: %s\n", err); return 1; diff --git a/examples/nRF52/myboard.h b/examples/nRF52/http/myboard.h similarity index 100% rename from examples/nRF52/myboard.h rename to examples/nRF52/http/myboard.h diff --git a/examples/nRF52/rtt/README.txt b/examples/nRF52/http/rtt/README.txt similarity index 100% rename from examples/nRF52/rtt/README.txt rename to examples/nRF52/http/rtt/README.txt diff --git a/examples/nRF52/rtt/RTT/SEGGER_RTT.c b/examples/nRF52/http/rtt/RTT/SEGGER_RTT.c similarity index 100% rename from examples/nRF52/rtt/RTT/SEGGER_RTT.c rename to examples/nRF52/http/rtt/RTT/SEGGER_RTT.c diff --git a/examples/nRF52/rtt/RTT/SEGGER_RTT.h b/examples/nRF52/http/rtt/RTT/SEGGER_RTT.h similarity index 100% rename from examples/nRF52/rtt/RTT/SEGGER_RTT.h rename to examples/nRF52/http/rtt/RTT/SEGGER_RTT.h diff --git a/examples/nRF52/rtt/RTT/SEGGER_RTT_Conf.h b/examples/nRF52/http/rtt/RTT/SEGGER_RTT_Conf.h similarity index 93% rename from examples/nRF52/rtt/RTT/SEGGER_RTT_Conf.h rename to examples/nRF52/http/rtt/RTT/SEGGER_RTT_Conf.h index e8ddee7e7460482693779df420c2e056e68468cf..cd1c02a57a61e85871d34250a8bfd702c08f9c7c 100644 --- a/examples/nRF52/rtt/RTT/SEGGER_RTT_Conf.h +++ b/examples/nRF52/http/rtt/RTT/SEGGER_RTT_Conf.h @@ -27,7 +27,7 @@ Purpose : Implementation of SEGGER real-time terminal which allows #define SEGGER_RTT_MAX_NUM_UP_BUFFERS (2) // Max. number of up-buffers (T->H) available on this target (Default: 2) #define SEGGER_RTT_MAX_NUM_DOWN_BUFFERS (2) // Max. number of down-buffers (H->T) available on this target (Default: 2) -#define BUFFER_SIZE_UP (512) // Size of the buffer for terminal output of target, up to host (Default: 1k) +#define BUFFER_SIZE_UP (2048) // Size of the buffer for terminal output of target, up to host (Default: 1k) #define BUFFER_SIZE_DOWN (16) // Size of the buffer for terminal input to target from host (Usually keyboard input) (Default: 16) #define SEGGER_RTT_PRINTF_BUFFER_SIZE (64) // Size of buffer for RTT printf to bulk-send chars via RTT (Default: 64) diff --git a/examples/nRF52/rtt/RTT/SEGGER_RTT_printf.c b/examples/nRF52/http/rtt/RTT/SEGGER_RTT_printf.c similarity index 100% rename from examples/nRF52/rtt/RTT/SEGGER_RTT_printf.c rename to examples/nRF52/http/rtt/RTT/SEGGER_RTT_printf.c diff --git a/examples/nRF52/rtt/Syscalls/RTT_Syscalls_GCC.c b/examples/nRF52/http/rtt/Syscalls/RTT_Syscalls_GCC.c similarity index 100% rename from examples/nRF52/rtt/Syscalls/RTT_Syscalls_GCC.c rename to examples/nRF52/http/rtt/Syscalls/RTT_Syscalls_GCC.c diff --git a/examples/nRF52/rtt/Syscalls/RTT_Syscalls_IAR.c b/examples/nRF52/http/rtt/Syscalls/RTT_Syscalls_IAR.c similarity index 100% rename from examples/nRF52/rtt/Syscalls/RTT_Syscalls_IAR.c rename to examples/nRF52/http/rtt/Syscalls/RTT_Syscalls_IAR.c diff --git a/examples/nRF52/rtt/Syscalls/RTT_Syscalls_KEIL.c b/examples/nRF52/http/rtt/Syscalls/RTT_Syscalls_KEIL.c similarity index 100% rename from examples/nRF52/rtt/Syscalls/RTT_Syscalls_KEIL.c rename to examples/nRF52/http/rtt/Syscalls/RTT_Syscalls_KEIL.c diff --git a/examples/nRF52/ld/nrf5x_common.ld b/examples/nRF52/ld/nrf5x_common.ld deleted file mode 100644 index e58638bafcbb81f012f8dbc76b8916c386a5a660..0000000000000000000000000000000000000000 --- a/examples/nRF52/ld/nrf5x_common.ld +++ /dev/null @@ -1,164 +0,0 @@ -/* Linker script for Nordic Semiconductor nRF5 devices - * - * Version: Sourcery G++ 4.5-1 - * Support: https://support.codesourcery.com/GNUToolchain/ - * - * Copyright (c) 2007, 2008, 2009, 2010 CodeSourcery, Inc. - * - * The authors hereby grant permission to use, copy, modify, distribute, - * and license this software and its documentation for any purpose, provided - * that existing copyright notices are retained in all copies and that this - * notice is included verbatim in any distributions. No written agreement, - * license, or royalty fee is required for any of the authorized uses. - * Modifications to this software may be copyrighted by their authors - * and need not follow the licensing terms described here, provided that - * the new terms are clearly indicated on the first page of each file where - * they apply. - */ -OUTPUT_FORMAT ("elf32-littlearm", "elf32-bigarm", "elf32-littlearm") - -/* Linker script to place sections and symbol values. Should be used together - * with other linker script that defines memory regions FLASH and RAM. - * It references following symbols, which must be defined in code: - * Reset_Handler : Entry of reset handler - * - * It defines following symbols, which code can use without definition: - * __exidx_start - * __exidx_end - * __etext - * __data_start__ - * __preinit_array_start - * __preinit_array_end - * __init_array_start - * __init_array_end - * __fini_array_start - * __fini_array_end - * __data_end__ - * __bss_start__ - * __bss_end__ - * __end__ - * end - * __HeapLimit - * __StackLimit - * __StackTop - * __stack - */ -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - KEEP(*(.Vectors)) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - *(.rodata*) - - *(.eh_frame*) - . = ALIGN(4); - } > FLASH - - - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - . = ALIGN(4); - } > FLASH - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - . = ALIGN(4); - } > FLASH - __exidx_end = .; - - __etext = .; - - .data : AT (__etext) - { - __data_start__ = .; - *(vtable) - *(.data*) - - . = ALIGN(4); - /* preinit data */ - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE_HIDDEN (__init_array_start = .); - *(SORT(.init_array.*)) - KEEP(*(.init_array)) - PROVIDE_HIDDEN (__init_array_end = .); - - - . = ALIGN(4); - /* finit data */ - PROVIDE_HIDDEN (__fini_array_start = .); - *(SORT(.fini_array.*)) - KEEP(*(.fini_array)) - PROVIDE_HIDDEN (__fini_array_end = .); - - *(.jcr) - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - .bss : - { - . = ALIGN(4); - __bss_start__ = .; - *(.bss*) - *(COMMON) - . = ALIGN(4); - __bss_end__ = .; - } > RAM - - .heap (COPY): - { - __end__ = .; - end = __end__; - *(.heap*) - __HeapLimit = .; - } > RAM - - /* .stack_dummy section doesn't contains any symbols. It is only - * used for linker to calculate size of stack sections, and assign - * values to stack symbols later */ - .stack_dummy (COPY): - { - *(.stack*) - } > RAM - - /* Set stack top to end of RAM, and stack limit move down by - * size of stack_dummy section */ - __StackTop = ORIGIN(RAM) + LENGTH(RAM); - __StackLimit = __StackTop - SIZEOF(.stack_dummy); - PROVIDE(__stack = __StackTop); - - /* Check if data + heap + stack exceeds RAM limit */ - ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") -} -