Merge branch 'develop' into contrib/cc13xx-tsch
This commit is contained in:
commit
8014524dd1
|
@ -46,11 +46,6 @@ UPPERCASE = _ABCDEFGHIJKLMNOPQRSTUVWXYZ_
|
||||||
TARGET_UPPERCASE := ${strip ${shell echo $(TARGET) | sed y!$(LOWERCASE)!$(UPPERCASE)!}}
|
TARGET_UPPERCASE := ${strip ${shell echo $(TARGET) | sed y!$(LOWERCASE)!$(UPPERCASE)!}}
|
||||||
CFLAGS += -DCONTIKI=1 -DCONTIKI_TARGET_$(TARGET_UPPERCASE)=1
|
CFLAGS += -DCONTIKI=1 -DCONTIKI_TARGET_$(TARGET_UPPERCASE)=1
|
||||||
CFLAGS += -DCONTIKI_TARGET_STRING=\"$(TARGET)\"
|
CFLAGS += -DCONTIKI_TARGET_STRING=\"$(TARGET)\"
|
||||||
ifneq ($(BOARD),)
|
|
||||||
TARGET_BOARD_UPPERCASE := ${strip ${shell echo $(BOARD) | sed y!$(LOWERCASE)!$(UPPERCASE)!}}
|
|
||||||
CFLAGS += -DCONTIKI_BOARD_$(TARGET_BOARD_UPPERCASE)=1
|
|
||||||
CFLAGS += -DCONTIKI_BOARD_STRING=\"$(BOARD)\"
|
|
||||||
endif
|
|
||||||
|
|
||||||
CFLAGS += -Wno-unused-const-variable
|
CFLAGS += -Wno-unused-const-variable
|
||||||
|
|
||||||
|
@ -129,6 +124,12 @@ endif # $(BOARD) not empty
|
||||||
|
|
||||||
PLATFORM_ACTION ?= build
|
PLATFORM_ACTION ?= build
|
||||||
|
|
||||||
|
ifneq ($(BOARD),)
|
||||||
|
TARGET_BOARD_UPPERCASE := ${strip ${shell echo $(BOARD) | sed y!$(LOWERCASE)!$(UPPERCASE)!}}
|
||||||
|
CFLAGS += -DCONTIKI_BOARD_$(TARGET_BOARD_UPPERCASE)=1
|
||||||
|
CFLAGS += -DCONTIKI_BOARD_STRING=\"$(BOARD)\"
|
||||||
|
endif
|
||||||
|
|
||||||
# Configure MAC layer
|
# Configure MAC layer
|
||||||
|
|
||||||
# The different options
|
# The different options
|
||||||
|
|
|
@ -1,3 +1,14 @@
|
||||||
CONTIKI_ARM_DIRS += cortex-m cortex-m/CMSIS
|
CONTIKI_ARM_DIRS += cortex-m cortex-m/CMSIS
|
||||||
|
|
||||||
|
### Build syscalls for newlib
|
||||||
|
MODULES += os/lib/newlib
|
||||||
|
|
||||||
|
CUSTOM_RULE_LINK = 1
|
||||||
|
|
||||||
|
.SECONDEXPANSION:
|
||||||
|
|
||||||
|
%.elf: $(CPU_STARTFILES) $$(CONTIKI_OBJECTFILES) %.o $(PROJECT_OBJECTFILES) $(PROJECT_LIBRARIES) $(LDSCRIPT) $(TARGET_LIBS)
|
||||||
|
$(TRACE_LD)
|
||||||
|
$(Q)$(LD) $(LDFLAGS) ${filter-out $(LDSCRIPT) %.a,$^} ${filter %.a,$^} $(TARGET_LIBFLAGS) -o $@
|
||||||
|
|
||||||
include $(CONTIKI)/arch/cpu/arm/Makefile.arm
|
include $(CONTIKI)/arch/cpu/arm/Makefile.arm
|
||||||
|
|
|
@ -9,22 +9,10 @@ LDFLAGS += -Wl,-Map=$(CONTIKI_NG_PROJECT_MAP),--cref,--no-warn-mismatch
|
||||||
|
|
||||||
OBJCOPY_FLAGS += --gap-fill 0xff
|
OBJCOPY_FLAGS += --gap-fill 0xff
|
||||||
|
|
||||||
### Build syscalls for newlib
|
|
||||||
MODULES += os/lib/newlib
|
|
||||||
|
|
||||||
CPU_STARTFILES = ${addprefix $(OBJECTDIR)/,${call oname, $(CPU_START_SOURCEFILES)}}
|
CPU_STARTFILES = ${addprefix $(OBJECTDIR)/,${call oname, $(CPU_START_SOURCEFILES)}}
|
||||||
|
|
||||||
### Compilation rules
|
|
||||||
CUSTOM_RULE_LINK = 1
|
|
||||||
|
|
||||||
### Resolve any potential circular dependencies between the linked libraries
|
### Resolve any potential circular dependencies between the linked libraries
|
||||||
### See: https://stackoverflow.com/questions/5651869/gcc-what-are-the-start-group-and-end-group-command-line-options/5651895
|
### See: https://stackoverflow.com/questions/5651869/gcc-what-are-the-start-group-and-end-group-command-line-options/5651895
|
||||||
TARGET_LIBFLAGS := -Wl,--start-group $(TARGET_LIBFILES) -lm -Wl,--end-group
|
TARGET_LIBFLAGS := -Wl,--start-group $(TARGET_LIBFILES) -lm -Wl,--end-group
|
||||||
|
|
||||||
.SECONDEXPANSION:
|
|
||||||
|
|
||||||
%.elf: $(CPU_STARTFILES) $$(CONTIKI_OBJECTFILES) %.o $(PROJECT_OBJECTFILES) $(PROJECT_LIBRARIES) $(LDSCRIPT)
|
|
||||||
$(TRACE_LD)
|
|
||||||
$(Q)$(LD) $(LDFLAGS) ${filter-out $(LDSCRIPT) %.a,$^} ${filter %.a,$^} $(TARGET_LIBFLAGS) -o $@
|
|
||||||
|
|
||||||
include $(CONTIKI)/arch/cpu/arm/cortex-m/Makefile.cortex-m
|
include $(CONTIKI)/arch/cpu/arm/cortex-m/Makefile.cortex-m
|
||||||
|
|
|
@ -9,20 +9,10 @@ LDFLAGS += -Wl,-Map=$(CONTIKI_NG_PROJECT_MAP),--cref,--no-warn-mismatch
|
||||||
|
|
||||||
OBJCOPY_FLAGS += --gap-fill 0xff
|
OBJCOPY_FLAGS += --gap-fill 0xff
|
||||||
|
|
||||||
### Build syscalls for newlib
|
|
||||||
MODULES += os/lib/newlib
|
|
||||||
|
|
||||||
CPU_STARTFILES = ${addprefix $(OBJECTDIR)/,${call oname, $(CPU_START_SOURCEFILES)}}
|
CPU_STARTFILES = ${addprefix $(OBJECTDIR)/,${call oname, $(CPU_START_SOURCEFILES)}}
|
||||||
|
|
||||||
### Compilation rules
|
|
||||||
CUSTOM_RULE_LINK = 1
|
|
||||||
|
|
||||||
### Resolve any potential circular dependencies between the linked libraries
|
### Resolve any potential circular dependencies between the linked libraries
|
||||||
### See: https://stackoverflow.com/questions/5651869/gcc-what-are-the-start-group-and-end-group-command-line-options/5651895
|
### See: https://stackoverflow.com/questions/5651869/gcc-what-are-the-start-group-and-end-group-command-line-options/5651895
|
||||||
TARGET_LIBFLAGS := -Wl,--start-group $(TARGET_LIBFILES) -Wl,--end-group
|
TARGET_LIBFLAGS := -Wl,--start-group $(TARGET_LIBFILES) -Wl,--end-group
|
||||||
|
|
||||||
%.elf: $(CPU_STARTFILES) %.o $(PROJECT_OBJECTFILES) $(PROJECT_LIBRARIES) $(CONTIKI_NG_TARGET_LIB) $(TARGET_LIBS)
|
|
||||||
$(TRACE_LD)
|
|
||||||
$(Q)$(LD) $(LDFLAGS) ${filter %.o %.a,$^} $(TARGET_LIBFLAGS) -o $@
|
|
||||||
|
|
||||||
include $(CONTIKI)/arch/cpu/arm/cortex-m/Makefile.cortex-m
|
include $(CONTIKI)/arch/cpu/arm/cortex-m/Makefile.cortex-m
|
||||||
|
|
|
@ -36,6 +36,8 @@
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
#define RTIMER_ARCH_SECOND 32768
|
#define RTIMER_ARCH_SECOND 32768
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
|
#define CC2538_PHY_OVERHEAD 3
|
||||||
|
#define CC2538_BYTE_AIR_TIME 32
|
||||||
/* 352us from calling transmit() until the SFD byte has been sent */
|
/* 352us from calling transmit() until the SFD byte has been sent */
|
||||||
#define CC2538_DELAY_BEFORE_TX ((unsigned)US_TO_RTIMERTICKS(352))
|
#define CC2538_DELAY_BEFORE_TX ((unsigned)US_TO_RTIMERTICKS(352))
|
||||||
/* 192us as in datasheet but ACKs are not always received, so adjusted to 250us */
|
/* 192us as in datasheet but ACKs are not always received, so adjusted to 250us */
|
||||||
|
|
|
@ -96,6 +96,8 @@ SECTIONS
|
||||||
/* These symbols are used by the stack check library. */
|
/* These symbols are used by the stack check library. */
|
||||||
_stack = .;
|
_stack = .;
|
||||||
_stack_origin = ORIGIN(SRAM) + LENGTH(SRAM);
|
_stack_origin = ORIGIN(SRAM) + LENGTH(SRAM);
|
||||||
|
_heap = _stack;
|
||||||
|
_eheap = _stack_origin;
|
||||||
|
|
||||||
.ccfg :
|
.ccfg :
|
||||||
{
|
{
|
||||||
|
|
|
@ -20,6 +20,30 @@ endif
|
||||||
CFLAGSNO = -Wall -g -I/usr/local/include $(CFLAGSWERROR)
|
CFLAGSNO = -Wall -g -I/usr/local/include $(CFLAGSWERROR)
|
||||||
CFLAGS += $(CFLAGSNO)
|
CFLAGS += $(CFLAGSNO)
|
||||||
|
|
||||||
|
### Are we building with code size optimisations?
|
||||||
|
SMALL ?= 0
|
||||||
|
|
||||||
|
# The optimizations on native platform cannot be enabled in GCC (not Clang) versions less than 7.2
|
||||||
|
GCC_IS_CLANG := $(shell gcc --version 2> /dev/null | grep clang)
|
||||||
|
ifneq ($(GCC_IS_CLANG),)
|
||||||
|
NATIVE_CAN_OPTIIMIZE = 1
|
||||||
|
else
|
||||||
|
GCC_VERSION := $(shell gcc -dumpfullversion -dumpversion | cut -b1-3)
|
||||||
|
ifeq ($(shell expr $(GCC_VERSION) \>= 7.2), 1)
|
||||||
|
NATIVE_CAN_OPTIIMIZE = 1
|
||||||
|
else
|
||||||
|
NATIVE_CAN_OPTIIMIZE = 0
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(NATIVE_CAN_OPTIIMIZE),1)
|
||||||
|
ifeq ($(SMALL),1)
|
||||||
|
CFLAGS += -Os
|
||||||
|
else
|
||||||
|
CFLAGS += -O2
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(HOST_OS),Darwin)
|
ifeq ($(HOST_OS),Darwin)
|
||||||
AROPTS = -rc
|
AROPTS = -rc
|
||||||
LDFLAGS_WERROR := -Wl,-fatal_warnings
|
LDFLAGS_WERROR := -Wl,-fatal_warnings
|
||||||
|
|
|
@ -14,3 +14,5 @@ INCLUDE "nrf5x_common.ld"
|
||||||
/* These symbols are used by the stack check library. */
|
/* These symbols are used by the stack check library. */
|
||||||
_stack = end;
|
_stack = end;
|
||||||
_stack_origin = ORIGIN(RAM) + LENGTH(RAM);
|
_stack_origin = ORIGIN(RAM) + LENGTH(RAM);
|
||||||
|
_heap = _stack;
|
||||||
|
_eheap = _stack_origin;
|
||||||
|
|
|
@ -14,3 +14,5 @@ INCLUDE "nrf5x_common.ld"
|
||||||
/* These symbols are used by the stack check library. */
|
/* These symbols are used by the stack check library. */
|
||||||
_stack = end;
|
_stack = end;
|
||||||
_stack_origin = ORIGIN(RAM) + LENGTH(RAM);
|
_stack_origin = ORIGIN(RAM) + LENGTH(RAM);
|
||||||
|
_heap = _stack;
|
||||||
|
_eheap = _stack_origin;
|
||||||
|
|
|
@ -14,3 +14,5 @@ INCLUDE "nrf5x_common.ld"
|
||||||
/* These symbols are used by the stack check library. */
|
/* These symbols are used by the stack check library. */
|
||||||
_stack = end;
|
_stack = end;
|
||||||
_stack_origin = ORIGIN(RAM) + LENGTH(RAM);
|
_stack_origin = ORIGIN(RAM) + LENGTH(RAM);
|
||||||
|
_heap = _stack;
|
||||||
|
_eheap = _stack_origin;
|
||||||
|
|
|
@ -220,6 +220,18 @@
|
||||||
#endif /* #if SPI1_IN_USE */
|
#endif /* #if SPI1_IN_USE */
|
||||||
/** @} */
|
/** @} */
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/**
|
||||||
|
* \name CC2538 TSCH configuration
|
||||||
|
*
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
#define RADIO_PHY_OVERHEAD CC2538_PHY_OVERHEAD
|
||||||
|
#define RADIO_BYTE_AIR_TIME CC2538_BYTE_AIR_TIME
|
||||||
|
#define RADIO_DELAY_BEFORE_TX CC2538_DELAY_BEFORE_TX
|
||||||
|
#define RADIO_DELAY_BEFORE_RX CC2538_DELAY_BEFORE_RX
|
||||||
|
#define RADIO_DELAY_BEFORE_DETECT CC2538_DELAY_BEFORE_DETECT
|
||||||
|
/** @} */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
/**
|
/**
|
||||||
* \name Device string used on startup
|
* \name Device string used on startup
|
||||||
* @{
|
* @{
|
||||||
|
|
|
@ -174,6 +174,18 @@
|
||||||
#define I2C_SDA_PIN 4
|
#define I2C_SDA_PIN 4
|
||||||
/** @} */
|
/** @} */
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/**
|
||||||
|
* \name CC2538 TSCH configuration
|
||||||
|
*
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
#define RADIO_PHY_OVERHEAD CC2538_PHY_OVERHEAD
|
||||||
|
#define RADIO_BYTE_AIR_TIME CC2538_BYTE_AIR_TIME
|
||||||
|
#define RADIO_DELAY_BEFORE_TX CC2538_DELAY_BEFORE_TX
|
||||||
|
#define RADIO_DELAY_BEFORE_RX CC2538_DELAY_BEFORE_RX
|
||||||
|
#define RADIO_DELAY_BEFORE_DETECT CC2538_DELAY_BEFORE_DETECT
|
||||||
|
/** @} */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
/**
|
/**
|
||||||
* \name Device string used on startup
|
* \name Device string used on startup
|
||||||
* @{
|
* @{
|
||||||
|
|
19
os/dev/spi.h
19
os/dev/spi.h
|
@ -323,25 +323,6 @@ spi_status_t spi_arch_transfer(const spi_device_t *dev,
|
||||||
uint8_t *buf, int rlen,
|
uint8_t *buf, int rlen,
|
||||||
int ignore_len);
|
int ignore_len);
|
||||||
|
|
||||||
/**
|
|
||||||
* \brief Selects an SPI device
|
|
||||||
* \param dev An SPI device configuration that specifies the CS pin.
|
|
||||||
* \return SPI return code
|
|
||||||
*
|
|
||||||
* Clears the CS pin. It should work only if the device has already
|
|
||||||
* locked the SPI controller.
|
|
||||||
*/
|
|
||||||
spi_status_t spi_arch_select(const spi_device_t *dev);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* \brief Deselects an SPI device
|
|
||||||
* \param dev An SPI device configuration that specifies the CS pin.
|
|
||||||
* \return SPI return code
|
|
||||||
*
|
|
||||||
* Set the CS pin. Locking the SPI controller is not needed.
|
|
||||||
*/
|
|
||||||
spi_status_t spi_arch_deselect(const spi_device_t *dev);
|
|
||||||
|
|
||||||
#endif /* SPI_H_ */
|
#endif /* SPI_H_ */
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -872,6 +872,7 @@ parse_publish_vhdr(struct mqtt_connection *conn,
|
||||||
|
|
||||||
/* Read out topic length */
|
/* Read out topic length */
|
||||||
if(conn->in_packet.topic_len_received == 0) {
|
if(conn->in_packet.topic_len_received == 0) {
|
||||||
|
conn->in_packet.topic_pos = 0;
|
||||||
conn->in_packet.topic_len = (input_data_ptr[(*pos)++] << 8);
|
conn->in_packet.topic_len = (input_data_ptr[(*pos)++] << 8);
|
||||||
conn->in_packet.byte_counter++;
|
conn->in_packet.byte_counter++;
|
||||||
if(*pos >= input_data_len) {
|
if(*pos >= input_data_len) {
|
||||||
|
@ -880,7 +881,11 @@ parse_publish_vhdr(struct mqtt_connection *conn,
|
||||||
conn->in_packet.topic_len |= input_data_ptr[(*pos)++];
|
conn->in_packet.topic_len |= input_data_ptr[(*pos)++];
|
||||||
conn->in_packet.byte_counter++;
|
conn->in_packet.byte_counter++;
|
||||||
conn->in_packet.topic_len_received = 1;
|
conn->in_packet.topic_len_received = 1;
|
||||||
|
/* Abort if topic is longer than our topic buffer */
|
||||||
|
if(conn->in_packet.topic_len > MQTT_MAX_TOPIC_LENGTH) {
|
||||||
|
DBG("MQTT - topic too long %u/%u\n", conn->in_packet.topic_len, MQTT_MAX_TOPIC_LENGTH);
|
||||||
|
return;
|
||||||
|
}
|
||||||
DBG("MQTT - Read PUBLISH topic len %i\n", conn->in_packet.topic_len);
|
DBG("MQTT - Read PUBLISH topic len %i\n", conn->in_packet.topic_len);
|
||||||
/* WARNING: Check here if TOPIC fits in payload area, otherwise error */
|
/* WARNING: Check here if TOPIC fits in payload area, otherwise error */
|
||||||
}
|
}
|
||||||
|
|
|
@ -158,7 +158,7 @@ extern uint8_t tsch_current_channel;
|
||||||
extern uint8_t tsch_hopping_sequence[TSCH_HOPPING_SEQUENCE_MAX_LEN];
|
extern uint8_t tsch_hopping_sequence[TSCH_HOPPING_SEQUENCE_MAX_LEN];
|
||||||
extern struct tsch_asn_divisor_t tsch_hopping_sequence_length;
|
extern struct tsch_asn_divisor_t tsch_hopping_sequence_length;
|
||||||
/* TSCH timeslot timing (in micro-second) */
|
/* TSCH timeslot timing (in micro-second) */
|
||||||
uint16_t tsch_timing_us[tsch_ts_elements_count];
|
extern uint16_t tsch_timing_us[tsch_ts_elements_count];
|
||||||
/* TSCH timeslot timing (in rtimer ticks) */
|
/* TSCH timeslot timing (in rtimer ticks) */
|
||||||
extern rtimer_clock_t tsch_timing[tsch_ts_elements_count];
|
extern rtimer_clock_t tsch_timing[tsch_ts_elements_count];
|
||||||
/* Statistics on the current session */
|
/* Statistics on the current session */
|
||||||
|
|
|
@ -24,6 +24,8 @@ rpl-border-router/sky \
|
||||||
slip-radio/sky \
|
slip-radio/sky \
|
||||||
libs/ipv6-hooks/sky \
|
libs/ipv6-hooks/sky \
|
||||||
nullnet/native \
|
nullnet/native \
|
||||||
|
nullnet/sky \
|
||||||
|
nullnet/sky:MAKE_MAC=MAKE_MAC_TSCH \
|
||||||
mqtt-client/native \
|
mqtt-client/native \
|
||||||
coap/coap-example-client/native \
|
coap/coap-example-client/native \
|
||||||
coap/coap-example-server/native \
|
coap/coap-example-server/native \
|
||||||
|
|
|
@ -89,6 +89,8 @@ platform-specific/cc2538-common/pka/cc2538dk \
|
||||||
hello-world/cc2538dk \
|
hello-world/cc2538dk \
|
||||||
rpl-border-router/cc2538dk \
|
rpl-border-router/cc2538dk \
|
||||||
rpl-border-router/cc2538dk:MAKE_ROUTING=MAKE_ROUTING_RPL_CLASSIC \
|
rpl-border-router/cc2538dk:MAKE_ROUTING=MAKE_ROUTING_RPL_CLASSIC \
|
||||||
|
6tisch/simple-node/cc2538dk \
|
||||||
|
6tisch/simple-node/cc2538dk:MAKE_WITH_SECURITY=1,MAKE_WITH_ORCHESTRA=1 \
|
||||||
hello-world/nrf52dk \
|
hello-world/nrf52dk \
|
||||||
platform-specific/nrf52dk/coap-demo/coap-server/nrf52dk \
|
platform-specific/nrf52dk/coap-demo/coap-server/nrf52dk \
|
||||||
platform-specific/nrf52dk/coap-demo/coap-client/nrf52dk:SERVER_IPV6_EP=ffff \
|
platform-specific/nrf52dk/coap-demo/coap-client/nrf52dk:SERVER_IPV6_EP=ffff \
|
||||||
|
|
|
@ -28,6 +28,7 @@ storage/antelope-shell/zoul \
|
||||||
6tisch/simple-node/zoul:MAKE_WITH_ORCHESTRA=1 \
|
6tisch/simple-node/zoul:MAKE_WITH_ORCHESTRA=1 \
|
||||||
6tisch/simple-node/zoul:MAKE_WITH_SECURITY=1 \
|
6tisch/simple-node/zoul:MAKE_WITH_SECURITY=1 \
|
||||||
libs/logging/zoul \
|
libs/logging/zoul \
|
||||||
|
libs/logging/zoul:MAKE_MAC=MAKE_MAC_TSCH \
|
||||||
6tisch/etsi-plugtest-2017/zoul:BOARD=remote \
|
6tisch/etsi-plugtest-2017/zoul:BOARD=remote \
|
||||||
6tisch/6p-packet/zoul \
|
6tisch/6p-packet/zoul \
|
||||||
6tisch/sixtop/zoul \
|
6tisch/sixtop/zoul \
|
||||||
|
@ -68,6 +69,8 @@ libs/ipv6-hooks/openmote-cc2538 \
|
||||||
libs/shell/openmote-cc2538 \
|
libs/shell/openmote-cc2538 \
|
||||||
libs/simple-energest/openmote-cc2538 \
|
libs/simple-energest/openmote-cc2538 \
|
||||||
libs/deployment/openmote-cc2538 \
|
libs/deployment/openmote-cc2538 \
|
||||||
|
6tisch/simple-node/openmote-cc2538 \
|
||||||
|
6tisch/simple-node/openmote-cc2538:MAKE_WITH_SECURITY=1,MAKE_WITH_ORCHESTRA=1 \
|
||||||
|
|
||||||
TOOLS=
|
TOOLS=
|
||||||
|
|
||||||
|
|
|
@ -40,17 +40,21 @@
|
||||||
# To invoke the building for a specific platform, run:
|
# To invoke the building for a specific platform, run:
|
||||||
# $ PLATFORMS=zoul ./build.sh
|
# $ PLATFORMS=zoul ./build.sh
|
||||||
#
|
#
|
||||||
|
CONTIKI_NG_TOP_DIR="../.."
|
||||||
|
EXAMPLES_DIR=$CONTIKI_NG_TOP_DIR/examples
|
||||||
|
|
||||||
if [[ "$PLATFORMS" == "" ]]
|
if [[ "$PLATFORMS" == "" ]]
|
||||||
then
|
then
|
||||||
PLATFORMS=`ls ../../arch/platform`
|
PLATFORMS=`ls $CONTIKI_NG_TOP_DIR/arch/platform`
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "$MAKEFILES" == "" ]]
|
if [[ "$MAKEFILES" == "" ]]
|
||||||
then
|
then
|
||||||
MAKEFILES=`find ../../examples/ -name Makefile`
|
MAKEFILES=`find $EXAMPLES_DIR -name Makefile`
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
HELLO_WORLD=$EXAMPLES_DIR/hello-world
|
||||||
|
|
||||||
# Set the make goal the first argument of the script or to "all" if called w/o arguments
|
# Set the make goal the first argument of the script or to "all" if called w/o arguments
|
||||||
if [[ $# -gt 0 ]]
|
if [[ $# -gt 0 ]]
|
||||||
then
|
then
|
||||||
|
@ -97,22 +101,14 @@ do
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "$platform" == "srf06-cc26xx" ]]
|
# Detect all boards for the current platform by calling
|
||||||
|
# make TARGET=$platform boards
|
||||||
|
# in the hello-world dir.
|
||||||
|
BOARDS=`make -s -C $HELLO_WORLD TARGET=$platform boards \
|
||||||
|
| grep -v "no boards" | rev | cut -f3- -d" " | rev`
|
||||||
|
|
||||||
|
if [[ -z $BOARDS ]]
|
||||||
then
|
then
|
||||||
# srf06-cc26xx has multiple boards
|
|
||||||
BOARDS="srf06/cc26xx srf06/cc13xx launchpad/cc2650 launchpad/cc1310 launchpad/cc1350 sensortag/cc2650 sensortag/cc1350"
|
|
||||||
elif [[ "$platform" == "simplelink" ]]
|
|
||||||
then
|
|
||||||
# SimpleLink has multiple boards
|
|
||||||
BOARDS="launchpad/cc1310 launchpad/cc1350 launchpad/cc1350-4 launchpad/cc2650 \
|
|
||||||
sensortag/cc1350 sensortag/cc2650 srf06/cc13x0 srf06/cc26x0 \
|
|
||||||
launchpad/cc1312r1 launchpad/cc1352r1 launchpad/cc1352p1 launchpad/cc1352p-2 launchpad/cc1352p-4 launchpad/cc26x2r1"
|
|
||||||
elif [[ "$platform" == "zoul" ]]
|
|
||||||
then
|
|
||||||
# Zoul has multiple boards
|
|
||||||
BOARDS="remote-reva remote-revb firefly-reva firefly orion"
|
|
||||||
else
|
|
||||||
# Other platforms have just a single board
|
|
||||||
BOARDS="default"
|
BOARDS="default"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue