diff --git a/boards/arduino-duemilanove/Makefile.include b/boards/arduino-duemilanove/Makefile.include index e2fce678d4acb92cc50e6b85986b15be2c4933b8..dd282db94f1b055df22ae7907d1d30e5eeec0c79 100644 --- a/boards/arduino-duemilanove/Makefile.include +++ b/boards/arduino-duemilanove/Makefile.include @@ -14,4 +14,7 @@ export FFLAGS += -p m328p # overridden for debugging (which requires changes that require to use an ISP) export PROGRAMMER ?= arduino +BOOTLOADER_SIZE ?= 2K +ROM_RESERVED ?= $(BOOTLOADER_SIZE) + include $(RIOTBOARD)/common/arduino-atmega/Makefile.include diff --git a/boards/arduino-mega2560/Makefile.include b/boards/arduino-mega2560/Makefile.include index 074a9e28870cd9c95753c2a57b09127b6f082149..3a7a4aafd8c41d13c891d380db0b1d7c249f7267 100644 --- a/boards/arduino-mega2560/Makefile.include +++ b/boards/arduino-mega2560/Makefile.include @@ -14,4 +14,7 @@ export FFLAGS += -p m2560 # overridden for debugging (which requires changes that require to use an ISP) export PROGRAMMER ?= stk500v2 +BOOTLOADER_SIZE ?= 8K +ROM_RESERVED ?= $(BOOTLOADER_SIZE) + include $(RIOTBOARD)/common/arduino-atmega/Makefile.include diff --git a/boards/arduino-uno/Makefile.include b/boards/arduino-uno/Makefile.include index c05afa46e82916574920008122f4265c3624a900..049373784ced1c7d541eff1d18d4547953fb387b 100644 --- a/boards/arduino-uno/Makefile.include +++ b/boards/arduino-uno/Makefile.include @@ -14,4 +14,7 @@ export FFLAGS += -p m328p # overridden for debugging (which requires changes that require to use an ISP) export PROGRAMMER ?= arduino +BOOTLOADER_SIZE ?= 512 +ROM_RESERVED ?= $(BOOTLOADER_SIZE) + include $(RIOTBOARD)/common/arduino-atmega/Makefile.include diff --git a/boards/jiminy-mega256rfr2/Makefile.include b/boards/jiminy-mega256rfr2/Makefile.include index a0fc16954e523050a69054afa7ccf101e7fc6dfb..e3def21be4daa4a90b4e37192ed9fb711640d1e4 100644 --- a/boards/jiminy-mega256rfr2/Makefile.include +++ b/boards/jiminy-mega256rfr2/Makefile.include @@ -21,4 +21,8 @@ export BAUD = 38400 # overridden for debugging (which requires changes that require to use an ISP) export PROGRAMMER ?= wiring +# From current fuse configuration +BOOTLOADER_SIZE ?= 4K +ROM_RESERVED ?= $(BOOTLOADER_SIZE) + include $(RIOTBOARD)/common/arduino-atmega/Makefile.include diff --git a/boards/mega-xplained/Makefile.include b/boards/mega-xplained/Makefile.include index 63c2961f0f1cc685b6fb7619fa8ff785864e9b3d..9a8d7e5f4fc0b1631d62418f62475732d0357639 100644 --- a/boards/mega-xplained/Makefile.include +++ b/boards/mega-xplained/Makefile.include @@ -1,6 +1,11 @@ # define the cpu used by the Mega Xplained board export CPU = atmega1284p +# Found by checking fuse settings (2048 words so 4KB) +# https://www.microchip.com/DevelopmentTools/ProductDetails/atmega1284p-xpld +BOOTLOADER_SIZE ?= 4K +ROM_RESERVED ?= $(BOOTLOADER_SIZE) + # configure the terminal program export PORT_LINUX ?= /dev/ttyACM0 export PORT_DARWIN ?= $(firstword $(sort $(wildcard /dev/tty.usbserial*))) diff --git a/boards/waspmote-pro/Makefile.include b/boards/waspmote-pro/Makefile.include index 2991c77adcc2f53ae2fe9e399d53c6a424a4e3e3..a2cd81ebc285aa6ccd329e515fb0a22e1f5e897b 100644 --- a/boards/waspmote-pro/Makefile.include +++ b/boards/waspmote-pro/Makefile.include @@ -1,6 +1,12 @@ # define the cpu used by the waspmote pro board export CPU = atmega1281 +# Bootloader uses stk500v1 protocol, which usually is implemented in +# bootloaders of 2K size. +# http://www.libelium.com/products/waspmote/hardware/ +BOOTLOADER_SIZE ?= 2K +ROM_RESERVED ?= $(BOOTLOADER_SIZE) + # configure the terminal program PORT_LINUX ?= /dev/ttyACM0 PORT_DARWIN ?= $(firstword $(sort $(wildcard /dev/tty.usbserial*))) diff --git a/cpu/atmega1281/Makefile.include b/cpu/atmega1281/Makefile.include index 6647a8d437943e6c87fad2c38182ba324f8afa9e..093660e72e8d608a6ad8147d97e6d8dfab044ed8 100644 --- a/cpu/atmega1281/Makefile.include +++ b/cpu/atmega1281/Makefile.include @@ -8,5 +8,8 @@ export ATMEGA_COMMON = $(RIOTCPU)/atmega_common/ # Without this the interrupt vectors will not be linked correctly! export UNDEF += $(BINDIR)/cpu/startup.o +RAM_LEN = 8K +ROM_LEN = 128K + # CPU depends on the atmega common module, so include it include $(ATMEGA_COMMON)Makefile.include diff --git a/cpu/atmega1281/ldscripts_compat/README.md b/cpu/atmega1281/ldscripts_compat/README.md new file mode 100644 index 0000000000000000000000000000000000000000..1bc6babe5bef59b56a77aa10af47aec1572f70b3 --- /dev/null +++ b/cpu/atmega1281/ldscripts_compat/README.md @@ -0,0 +1,8 @@ +avr linkerscript +================ + +Starting from avr-binutils 2.26, the linker defines symbol that can be +overriden to configure ROM and RAM length. + +This ldscript is used for supporting older versions on avr-binutils like on +ubuntu xenial. diff --git a/cpu/atmega1281/ldscripts_compat/avr_2.26.ld b/cpu/atmega1281/ldscripts_compat/avr_2.26.ld new file mode 100644 index 0000000000000000000000000000000000000000..49266118f8ea1d7ef29c737651198c187cd3c7d8 --- /dev/null +++ b/cpu/atmega1281/ldscripts_compat/avr_2.26.ld @@ -0,0 +1,262 @@ +/* Script for -n: mix text and data on same page */ +/* Copyright (C) 2014-2015 Free Software Foundation, Inc. + Copying and distribution of this script, with or without modification, + are permitted in any medium without royalty provided the copyright + notice and this notice are preserved. */ +OUTPUT_FORMAT("elf32-avr","elf32-avr","elf32-avr") +OUTPUT_ARCH(avr:51) +__TEXT_REGION_LENGTH__ = DEFINED(__TEXT_REGION_LENGTH__) ? __TEXT_REGION_LENGTH__ : 128K; +__DATA_REGION_LENGTH__ = DEFINED(__DATA_REGION_LENGTH__) ? __DATA_REGION_LENGTH__ : 0xff00; +__EEPROM_REGION_LENGTH__ = DEFINED(__EEPROM_REGION_LENGTH__) ? __EEPROM_REGION_LENGTH__ : 64K; +__FUSE_REGION_LENGTH__ = DEFINED(__FUSE_REGION_LENGTH__) ? __FUSE_REGION_LENGTH__ : 1K; +__LOCK_REGION_LENGTH__ = DEFINED(__LOCK_REGION_LENGTH__) ? __LOCK_REGION_LENGTH__ : 1K; +__SIGNATURE_REGION_LENGTH__ = DEFINED(__SIGNATURE_REGION_LENGTH__) ? __SIGNATURE_REGION_LENGTH__ : 1K; +__USER_SIGNATURE_REGION_LENGTH__ = DEFINED(__USER_SIGNATURE_REGION_LENGTH__) ? __USER_SIGNATURE_REGION_LENGTH__ : 1K; +MEMORY +{ + text (rx) : ORIGIN = 0, LENGTH = __TEXT_REGION_LENGTH__ + data (rw!x) : ORIGIN = 0x800100, LENGTH = __DATA_REGION_LENGTH__ + eeprom (rw!x) : ORIGIN = 0x810000, LENGTH = __EEPROM_REGION_LENGTH__ + fuse (rw!x) : ORIGIN = 0x820000, LENGTH = __FUSE_REGION_LENGTH__ + lock (rw!x) : ORIGIN = 0x830000, LENGTH = __LOCK_REGION_LENGTH__ + signature (rw!x) : ORIGIN = 0x840000, LENGTH = __SIGNATURE_REGION_LENGTH__ + user_signatures (rw!x) : ORIGIN = 0x850000, LENGTH = __USER_SIGNATURE_REGION_LENGTH__ +} +SECTIONS +{ + /* Read-only sections, merged into text segment: */ + .hash : { *(.hash) } + .dynsym : { *(.dynsym) } + .dynstr : { *(.dynstr) } + .gnu.version : { *(.gnu.version) } + .gnu.version_d : { *(.gnu.version_d) } + .gnu.version_r : { *(.gnu.version_r) } + .rel.init : { *(.rel.init) } + .rela.init : { *(.rela.init) } + .rel.text : + { + *(.rel.text) + *(.rel.text.*) + *(.rel.gnu.linkonce.t*) + } + .rela.text : + { + *(.rela.text) + *(.rela.text.*) + *(.rela.gnu.linkonce.t*) + } + .rel.fini : { *(.rel.fini) } + .rela.fini : { *(.rela.fini) } + .rel.rodata : + { + *(.rel.rodata) + *(.rel.rodata.*) + *(.rel.gnu.linkonce.r*) + } + .rela.rodata : + { + *(.rela.rodata) + *(.rela.rodata.*) + *(.rela.gnu.linkonce.r*) + } + .rel.data : + { + *(.rel.data) + *(.rel.data.*) + *(.rel.gnu.linkonce.d*) + } + .rela.data : + { + *(.rela.data) + *(.rela.data.*) + *(.rela.gnu.linkonce.d*) + } + .rel.ctors : { *(.rel.ctors) } + .rela.ctors : { *(.rela.ctors) } + .rel.dtors : { *(.rel.dtors) } + .rela.dtors : { *(.rela.dtors) } + .rel.got : { *(.rel.got) } + .rela.got : { *(.rela.got) } + .rel.bss : { *(.rel.bss) } + .rela.bss : { *(.rela.bss) } + .rel.plt : { *(.rel.plt) } + .rela.plt : { *(.rela.plt) } + /* Internal text space or external memory. */ + .text : + { + *(.vectors) + KEEP(*(.vectors)) + /* For data that needs to reside in the lower 64k of progmem. */ + *(.progmem.gcc*) + /* PR 13812: Placing the trampolines here gives a better chance + that they will be in range of the code that uses them. */ + . = ALIGN(2); + __trampolines_start = . ; + /* The jump trampolines for the 16-bit limited relocs will reside here. */ + *(.trampolines) + *(.trampolines*) + __trampolines_end = . ; + /* avr-libc expects these data to reside in lower 64K. */ + *libprintf_flt.a:*(.progmem.data) + *libc.a:*(.progmem.data) + *(.progmem*) + . = ALIGN(2); + /* For future tablejump instruction arrays for 3 byte pc devices. + We don't relax jump/call instructions within these sections. */ + *(.jumptables) + *(.jumptables*) + /* For code that needs to reside in the lower 128k progmem. */ + *(.lowtext) + *(.lowtext*) + __ctors_start = . ; + *(.ctors) + __ctors_end = . ; + __dtors_start = . ; + *(.dtors) + __dtors_end = . ; + KEEP(SORT(*)(.ctors)) + KEEP(SORT(*)(.dtors)) + /* From this point on, we don't bother about wether the insns are + below or above the 16 bits boundary. */ + *(.init0) /* Start here after reset. */ + KEEP (*(.init0)) + *(.init1) + KEEP (*(.init1)) + *(.init2) /* Clear __zero_reg__, set up stack pointer. */ + KEEP (*(.init2)) + *(.init3) + KEEP (*(.init3)) + *(.init4) /* Initialize data and BSS. */ + KEEP (*(.init4)) + *(.init5) + KEEP (*(.init5)) + *(.init6) /* C++ constructors. */ + KEEP (*(.init6)) + *(.init7) + KEEP (*(.init7)) + *(.init8) + KEEP (*(.init8)) + *(.init9) /* Call main(). */ + KEEP (*(.init9)) + *(.text) + . = ALIGN(2); + *(.text.*) + . = ALIGN(2); + *(.fini9) /* _exit() starts here. */ + KEEP (*(.fini9)) + *(.fini8) + KEEP (*(.fini8)) + *(.fini7) + KEEP (*(.fini7)) + *(.fini6) /* C++ destructors. */ + KEEP (*(.fini6)) + *(.fini5) + KEEP (*(.fini5)) + *(.fini4) + KEEP (*(.fini4)) + *(.fini3) + KEEP (*(.fini3)) + *(.fini2) + KEEP (*(.fini2)) + *(.fini1) + KEEP (*(.fini1)) + *(.fini0) /* Infinite loop after program termination. */ + KEEP (*(.fini0)) + _etext = . ; + } > text + .data : + { + PROVIDE (__data_start = .) ; + *(.data) + *(.data*) + *(.rodata) /* We need to include .rodata here if gcc is used */ + *(.rodata*) /* with -fdata-sections. */ + *(.gnu.linkonce.d*) + . = ALIGN(2); + _edata = . ; + PROVIDE (__data_end = .) ; + } > data AT> text + .bss ADDR(.data) + SIZEOF (.data) : AT (ADDR (.bss)) + { + PROVIDE (__bss_start = .) ; + *(.bss) + *(.bss*) + *(COMMON) + PROVIDE (__bss_end = .) ; + } > data + __data_load_start = LOADADDR(.data); + __data_load_end = __data_load_start + SIZEOF(.data); + /* Global data not cleared after reset. */ + .noinit ADDR(.bss) + SIZEOF (.bss) : AT (ADDR (.noinit)) + { + PROVIDE (__noinit_start = .) ; + *(.noinit*) + PROVIDE (__noinit_end = .) ; + _end = . ; + PROVIDE (__heap_start = .) ; + } > data + .eeprom : + { + /* See .data above... */ + KEEP(*(.eeprom*)) + __eeprom_end = . ; + } > eeprom + .fuse : + { + KEEP(*(.fuse)) + KEEP(*(.lfuse)) + KEEP(*(.hfuse)) + KEEP(*(.efuse)) + } > fuse + .lock : + { + KEEP(*(.lock*)) + } > lock + .signature : + { + KEEP(*(.signature*)) + } > signature + .user_signatures : + { + KEEP(*(.user_signatures*)) + } > user_signatures + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .note.gnu.build-id : { *(.note.gnu.build-id) } + /* DWARF debug sections. + Symbols in the DWARF debugging sections are relative to the beginning + of the section so we begin them at 0. */ + /* DWARF 1 */ + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } + /* GNU DWARF 1 extensions */ + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames) } + /* DWARF 1.1 and DWARF 2 */ + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } + /* DWARF 2 */ + .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line .debug_line.* .debug_line_end ) } + .debug_frame 0 : { *(.debug_frame) } + .debug_str 0 : { *(.debug_str) } + .debug_loc 0 : { *(.debug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo) } + /* SGI/MIPS DWARF 2 extensions */ + .debug_weaknames 0 : { *(.debug_weaknames) } + .debug_funcnames 0 : { *(.debug_funcnames) } + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } + /* DWARF 3 */ + .debug_pubtypes 0 : { *(.debug_pubtypes) } + .debug_ranges 0 : { *(.debug_ranges) } + /* DWARF Extension. */ + .debug_macro 0 : { *(.debug_macro) } +} diff --git a/cpu/atmega1284p/Makefile.include b/cpu/atmega1284p/Makefile.include index b46d4e871c8f7be91fa4f2bae002050a124562cf..7575f04ff925015739cdab72185fe5e692497aa5 100644 --- a/cpu/atmega1284p/Makefile.include +++ b/cpu/atmega1284p/Makefile.include @@ -4,5 +4,8 @@ USEMODULE += atmega_common # define path to atmega common module, which is needed for this CPU export ATMEGA_COMMON = $(RIOTCPU)/atmega_common/ +RAM_LEN = 16K +ROM_LEN = 128K + # CPU depends on the atmega common module, so include it include $(ATMEGA_COMMON)Makefile.include diff --git a/cpu/atmega1284p/ldscripts_compat/README.md b/cpu/atmega1284p/ldscripts_compat/README.md new file mode 100644 index 0000000000000000000000000000000000000000..1bc6babe5bef59b56a77aa10af47aec1572f70b3 --- /dev/null +++ b/cpu/atmega1284p/ldscripts_compat/README.md @@ -0,0 +1,8 @@ +avr linkerscript +================ + +Starting from avr-binutils 2.26, the linker defines symbol that can be +overriden to configure ROM and RAM length. + +This ldscript is used for supporting older versions on avr-binutils like on +ubuntu xenial. diff --git a/cpu/atmega1284p/ldscripts_compat/avr_2.26.ld b/cpu/atmega1284p/ldscripts_compat/avr_2.26.ld new file mode 100644 index 0000000000000000000000000000000000000000..49266118f8ea1d7ef29c737651198c187cd3c7d8 --- /dev/null +++ b/cpu/atmega1284p/ldscripts_compat/avr_2.26.ld @@ -0,0 +1,262 @@ +/* Script for -n: mix text and data on same page */ +/* Copyright (C) 2014-2015 Free Software Foundation, Inc. + Copying and distribution of this script, with or without modification, + are permitted in any medium without royalty provided the copyright + notice and this notice are preserved. */ +OUTPUT_FORMAT("elf32-avr","elf32-avr","elf32-avr") +OUTPUT_ARCH(avr:51) +__TEXT_REGION_LENGTH__ = DEFINED(__TEXT_REGION_LENGTH__) ? __TEXT_REGION_LENGTH__ : 128K; +__DATA_REGION_LENGTH__ = DEFINED(__DATA_REGION_LENGTH__) ? __DATA_REGION_LENGTH__ : 0xff00; +__EEPROM_REGION_LENGTH__ = DEFINED(__EEPROM_REGION_LENGTH__) ? __EEPROM_REGION_LENGTH__ : 64K; +__FUSE_REGION_LENGTH__ = DEFINED(__FUSE_REGION_LENGTH__) ? __FUSE_REGION_LENGTH__ : 1K; +__LOCK_REGION_LENGTH__ = DEFINED(__LOCK_REGION_LENGTH__) ? __LOCK_REGION_LENGTH__ : 1K; +__SIGNATURE_REGION_LENGTH__ = DEFINED(__SIGNATURE_REGION_LENGTH__) ? __SIGNATURE_REGION_LENGTH__ : 1K; +__USER_SIGNATURE_REGION_LENGTH__ = DEFINED(__USER_SIGNATURE_REGION_LENGTH__) ? __USER_SIGNATURE_REGION_LENGTH__ : 1K; +MEMORY +{ + text (rx) : ORIGIN = 0, LENGTH = __TEXT_REGION_LENGTH__ + data (rw!x) : ORIGIN = 0x800100, LENGTH = __DATA_REGION_LENGTH__ + eeprom (rw!x) : ORIGIN = 0x810000, LENGTH = __EEPROM_REGION_LENGTH__ + fuse (rw!x) : ORIGIN = 0x820000, LENGTH = __FUSE_REGION_LENGTH__ + lock (rw!x) : ORIGIN = 0x830000, LENGTH = __LOCK_REGION_LENGTH__ + signature (rw!x) : ORIGIN = 0x840000, LENGTH = __SIGNATURE_REGION_LENGTH__ + user_signatures (rw!x) : ORIGIN = 0x850000, LENGTH = __USER_SIGNATURE_REGION_LENGTH__ +} +SECTIONS +{ + /* Read-only sections, merged into text segment: */ + .hash : { *(.hash) } + .dynsym : { *(.dynsym) } + .dynstr : { *(.dynstr) } + .gnu.version : { *(.gnu.version) } + .gnu.version_d : { *(.gnu.version_d) } + .gnu.version_r : { *(.gnu.version_r) } + .rel.init : { *(.rel.init) } + .rela.init : { *(.rela.init) } + .rel.text : + { + *(.rel.text) + *(.rel.text.*) + *(.rel.gnu.linkonce.t*) + } + .rela.text : + { + *(.rela.text) + *(.rela.text.*) + *(.rela.gnu.linkonce.t*) + } + .rel.fini : { *(.rel.fini) } + .rela.fini : { *(.rela.fini) } + .rel.rodata : + { + *(.rel.rodata) + *(.rel.rodata.*) + *(.rel.gnu.linkonce.r*) + } + .rela.rodata : + { + *(.rela.rodata) + *(.rela.rodata.*) + *(.rela.gnu.linkonce.r*) + } + .rel.data : + { + *(.rel.data) + *(.rel.data.*) + *(.rel.gnu.linkonce.d*) + } + .rela.data : + { + *(.rela.data) + *(.rela.data.*) + *(.rela.gnu.linkonce.d*) + } + .rel.ctors : { *(.rel.ctors) } + .rela.ctors : { *(.rela.ctors) } + .rel.dtors : { *(.rel.dtors) } + .rela.dtors : { *(.rela.dtors) } + .rel.got : { *(.rel.got) } + .rela.got : { *(.rela.got) } + .rel.bss : { *(.rel.bss) } + .rela.bss : { *(.rela.bss) } + .rel.plt : { *(.rel.plt) } + .rela.plt : { *(.rela.plt) } + /* Internal text space or external memory. */ + .text : + { + *(.vectors) + KEEP(*(.vectors)) + /* For data that needs to reside in the lower 64k of progmem. */ + *(.progmem.gcc*) + /* PR 13812: Placing the trampolines here gives a better chance + that they will be in range of the code that uses them. */ + . = ALIGN(2); + __trampolines_start = . ; + /* The jump trampolines for the 16-bit limited relocs will reside here. */ + *(.trampolines) + *(.trampolines*) + __trampolines_end = . ; + /* avr-libc expects these data to reside in lower 64K. */ + *libprintf_flt.a:*(.progmem.data) + *libc.a:*(.progmem.data) + *(.progmem*) + . = ALIGN(2); + /* For future tablejump instruction arrays for 3 byte pc devices. + We don't relax jump/call instructions within these sections. */ + *(.jumptables) + *(.jumptables*) + /* For code that needs to reside in the lower 128k progmem. */ + *(.lowtext) + *(.lowtext*) + __ctors_start = . ; + *(.ctors) + __ctors_end = . ; + __dtors_start = . ; + *(.dtors) + __dtors_end = . ; + KEEP(SORT(*)(.ctors)) + KEEP(SORT(*)(.dtors)) + /* From this point on, we don't bother about wether the insns are + below or above the 16 bits boundary. */ + *(.init0) /* Start here after reset. */ + KEEP (*(.init0)) + *(.init1) + KEEP (*(.init1)) + *(.init2) /* Clear __zero_reg__, set up stack pointer. */ + KEEP (*(.init2)) + *(.init3) + KEEP (*(.init3)) + *(.init4) /* Initialize data and BSS. */ + KEEP (*(.init4)) + *(.init5) + KEEP (*(.init5)) + *(.init6) /* C++ constructors. */ + KEEP (*(.init6)) + *(.init7) + KEEP (*(.init7)) + *(.init8) + KEEP (*(.init8)) + *(.init9) /* Call main(). */ + KEEP (*(.init9)) + *(.text) + . = ALIGN(2); + *(.text.*) + . = ALIGN(2); + *(.fini9) /* _exit() starts here. */ + KEEP (*(.fini9)) + *(.fini8) + KEEP (*(.fini8)) + *(.fini7) + KEEP (*(.fini7)) + *(.fini6) /* C++ destructors. */ + KEEP (*(.fini6)) + *(.fini5) + KEEP (*(.fini5)) + *(.fini4) + KEEP (*(.fini4)) + *(.fini3) + KEEP (*(.fini3)) + *(.fini2) + KEEP (*(.fini2)) + *(.fini1) + KEEP (*(.fini1)) + *(.fini0) /* Infinite loop after program termination. */ + KEEP (*(.fini0)) + _etext = . ; + } > text + .data : + { + PROVIDE (__data_start = .) ; + *(.data) + *(.data*) + *(.rodata) /* We need to include .rodata here if gcc is used */ + *(.rodata*) /* with -fdata-sections. */ + *(.gnu.linkonce.d*) + . = ALIGN(2); + _edata = . ; + PROVIDE (__data_end = .) ; + } > data AT> text + .bss ADDR(.data) + SIZEOF (.data) : AT (ADDR (.bss)) + { + PROVIDE (__bss_start = .) ; + *(.bss) + *(.bss*) + *(COMMON) + PROVIDE (__bss_end = .) ; + } > data + __data_load_start = LOADADDR(.data); + __data_load_end = __data_load_start + SIZEOF(.data); + /* Global data not cleared after reset. */ + .noinit ADDR(.bss) + SIZEOF (.bss) : AT (ADDR (.noinit)) + { + PROVIDE (__noinit_start = .) ; + *(.noinit*) + PROVIDE (__noinit_end = .) ; + _end = . ; + PROVIDE (__heap_start = .) ; + } > data + .eeprom : + { + /* See .data above... */ + KEEP(*(.eeprom*)) + __eeprom_end = . ; + } > eeprom + .fuse : + { + KEEP(*(.fuse)) + KEEP(*(.lfuse)) + KEEP(*(.hfuse)) + KEEP(*(.efuse)) + } > fuse + .lock : + { + KEEP(*(.lock*)) + } > lock + .signature : + { + KEEP(*(.signature*)) + } > signature + .user_signatures : + { + KEEP(*(.user_signatures*)) + } > user_signatures + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .note.gnu.build-id : { *(.note.gnu.build-id) } + /* DWARF debug sections. + Symbols in the DWARF debugging sections are relative to the beginning + of the section so we begin them at 0. */ + /* DWARF 1 */ + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } + /* GNU DWARF 1 extensions */ + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames) } + /* DWARF 1.1 and DWARF 2 */ + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } + /* DWARF 2 */ + .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line .debug_line.* .debug_line_end ) } + .debug_frame 0 : { *(.debug_frame) } + .debug_str 0 : { *(.debug_str) } + .debug_loc 0 : { *(.debug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo) } + /* SGI/MIPS DWARF 2 extensions */ + .debug_weaknames 0 : { *(.debug_weaknames) } + .debug_funcnames 0 : { *(.debug_funcnames) } + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } + /* DWARF 3 */ + .debug_pubtypes 0 : { *(.debug_pubtypes) } + .debug_ranges 0 : { *(.debug_ranges) } + /* DWARF Extension. */ + .debug_macro 0 : { *(.debug_macro) } +} diff --git a/cpu/atmega2560/Makefile.include b/cpu/atmega2560/Makefile.include index 6647a8d437943e6c87fad2c38182ba324f8afa9e..18bfb9a45476f846fb8eab256f76c8d6f186fa17 100644 --- a/cpu/atmega2560/Makefile.include +++ b/cpu/atmega2560/Makefile.include @@ -8,5 +8,8 @@ export ATMEGA_COMMON = $(RIOTCPU)/atmega_common/ # Without this the interrupt vectors will not be linked correctly! export UNDEF += $(BINDIR)/cpu/startup.o +RAM_LEN = 8K +ROM_LEN = 256K + # CPU depends on the atmega common module, so include it include $(ATMEGA_COMMON)Makefile.include diff --git a/cpu/atmega2560/ldscripts_compat/README.md b/cpu/atmega2560/ldscripts_compat/README.md new file mode 100644 index 0000000000000000000000000000000000000000..1bc6babe5bef59b56a77aa10af47aec1572f70b3 --- /dev/null +++ b/cpu/atmega2560/ldscripts_compat/README.md @@ -0,0 +1,8 @@ +avr linkerscript +================ + +Starting from avr-binutils 2.26, the linker defines symbol that can be +overriden to configure ROM and RAM length. + +This ldscript is used for supporting older versions on avr-binutils like on +ubuntu xenial. diff --git a/cpu/atmega2560/ldscripts_compat/avr_2.26.ld b/cpu/atmega2560/ldscripts_compat/avr_2.26.ld new file mode 100644 index 0000000000000000000000000000000000000000..122be59261c4317d7d36f8f6e8a7105ed4739053 --- /dev/null +++ b/cpu/atmega2560/ldscripts_compat/avr_2.26.ld @@ -0,0 +1,262 @@ +/* Script for -n: mix text and data on same page */ +/* Copyright (C) 2014-2015 Free Software Foundation, Inc. + Copying and distribution of this script, with or without modification, + are permitted in any medium without royalty provided the copyright + notice and this notice are preserved. */ +OUTPUT_FORMAT("elf32-avr","elf32-avr","elf32-avr") +OUTPUT_ARCH(avr:6) +__TEXT_REGION_LENGTH__ = DEFINED(__TEXT_REGION_LENGTH__) ? __TEXT_REGION_LENGTH__ : 1024K; +__DATA_REGION_LENGTH__ = DEFINED(__DATA_REGION_LENGTH__) ? __DATA_REGION_LENGTH__ : 0xfe00; +__EEPROM_REGION_LENGTH__ = DEFINED(__EEPROM_REGION_LENGTH__) ? __EEPROM_REGION_LENGTH__ : 64K; +__FUSE_REGION_LENGTH__ = DEFINED(__FUSE_REGION_LENGTH__) ? __FUSE_REGION_LENGTH__ : 1K; +__LOCK_REGION_LENGTH__ = DEFINED(__LOCK_REGION_LENGTH__) ? __LOCK_REGION_LENGTH__ : 1K; +__SIGNATURE_REGION_LENGTH__ = DEFINED(__SIGNATURE_REGION_LENGTH__) ? __SIGNATURE_REGION_LENGTH__ : 1K; +__USER_SIGNATURE_REGION_LENGTH__ = DEFINED(__USER_SIGNATURE_REGION_LENGTH__) ? __USER_SIGNATURE_REGION_LENGTH__ : 1K; +MEMORY +{ + text (rx) : ORIGIN = 0, LENGTH = __TEXT_REGION_LENGTH__ + data (rw!x) : ORIGIN = 0x800200, LENGTH = __DATA_REGION_LENGTH__ + eeprom (rw!x) : ORIGIN = 0x810000, LENGTH = __EEPROM_REGION_LENGTH__ + fuse (rw!x) : ORIGIN = 0x820000, LENGTH = __FUSE_REGION_LENGTH__ + lock (rw!x) : ORIGIN = 0x830000, LENGTH = __LOCK_REGION_LENGTH__ + signature (rw!x) : ORIGIN = 0x840000, LENGTH = __SIGNATURE_REGION_LENGTH__ + user_signatures (rw!x) : ORIGIN = 0x850000, LENGTH = __USER_SIGNATURE_REGION_LENGTH__ +} +SECTIONS +{ + /* Read-only sections, merged into text segment: */ + .hash : { *(.hash) } + .dynsym : { *(.dynsym) } + .dynstr : { *(.dynstr) } + .gnu.version : { *(.gnu.version) } + .gnu.version_d : { *(.gnu.version_d) } + .gnu.version_r : { *(.gnu.version_r) } + .rel.init : { *(.rel.init) } + .rela.init : { *(.rela.init) } + .rel.text : + { + *(.rel.text) + *(.rel.text.*) + *(.rel.gnu.linkonce.t*) + } + .rela.text : + { + *(.rela.text) + *(.rela.text.*) + *(.rela.gnu.linkonce.t*) + } + .rel.fini : { *(.rel.fini) } + .rela.fini : { *(.rela.fini) } + .rel.rodata : + { + *(.rel.rodata) + *(.rel.rodata.*) + *(.rel.gnu.linkonce.r*) + } + .rela.rodata : + { + *(.rela.rodata) + *(.rela.rodata.*) + *(.rela.gnu.linkonce.r*) + } + .rel.data : + { + *(.rel.data) + *(.rel.data.*) + *(.rel.gnu.linkonce.d*) + } + .rela.data : + { + *(.rela.data) + *(.rela.data.*) + *(.rela.gnu.linkonce.d*) + } + .rel.ctors : { *(.rel.ctors) } + .rela.ctors : { *(.rela.ctors) } + .rel.dtors : { *(.rel.dtors) } + .rela.dtors : { *(.rela.dtors) } + .rel.got : { *(.rel.got) } + .rela.got : { *(.rela.got) } + .rel.bss : { *(.rel.bss) } + .rela.bss : { *(.rela.bss) } + .rel.plt : { *(.rel.plt) } + .rela.plt : { *(.rela.plt) } + /* Internal text space or external memory. */ + .text : + { + *(.vectors) + KEEP(*(.vectors)) + /* For data that needs to reside in the lower 64k of progmem. */ + *(.progmem.gcc*) + /* PR 13812: Placing the trampolines here gives a better chance + that they will be in range of the code that uses them. */ + . = ALIGN(2); + __trampolines_start = . ; + /* The jump trampolines for the 16-bit limited relocs will reside here. */ + *(.trampolines) + *(.trampolines*) + __trampolines_end = . ; + /* avr-libc expects these data to reside in lower 64K. */ + *libprintf_flt.a:*(.progmem.data) + *libc.a:*(.progmem.data) + *(.progmem*) + . = ALIGN(2); + /* For future tablejump instruction arrays for 3 byte pc devices. + We don't relax jump/call instructions within these sections. */ + *(.jumptables) + *(.jumptables*) + /* For code that needs to reside in the lower 128k progmem. */ + *(.lowtext) + *(.lowtext*) + __ctors_start = . ; + *(.ctors) + __ctors_end = . ; + __dtors_start = . ; + *(.dtors) + __dtors_end = . ; + KEEP(SORT(*)(.ctors)) + KEEP(SORT(*)(.dtors)) + /* From this point on, we don't bother about wether the insns are + below or above the 16 bits boundary. */ + *(.init0) /* Start here after reset. */ + KEEP (*(.init0)) + *(.init1) + KEEP (*(.init1)) + *(.init2) /* Clear __zero_reg__, set up stack pointer. */ + KEEP (*(.init2)) + *(.init3) + KEEP (*(.init3)) + *(.init4) /* Initialize data and BSS. */ + KEEP (*(.init4)) + *(.init5) + KEEP (*(.init5)) + *(.init6) /* C++ constructors. */ + KEEP (*(.init6)) + *(.init7) + KEEP (*(.init7)) + *(.init8) + KEEP (*(.init8)) + *(.init9) /* Call main(). */ + KEEP (*(.init9)) + *(.text) + . = ALIGN(2); + *(.text.*) + . = ALIGN(2); + *(.fini9) /* _exit() starts here. */ + KEEP (*(.fini9)) + *(.fini8) + KEEP (*(.fini8)) + *(.fini7) + KEEP (*(.fini7)) + *(.fini6) /* C++ destructors. */ + KEEP (*(.fini6)) + *(.fini5) + KEEP (*(.fini5)) + *(.fini4) + KEEP (*(.fini4)) + *(.fini3) + KEEP (*(.fini3)) + *(.fini2) + KEEP (*(.fini2)) + *(.fini1) + KEEP (*(.fini1)) + *(.fini0) /* Infinite loop after program termination. */ + KEEP (*(.fini0)) + _etext = . ; + } > text + .data : + { + PROVIDE (__data_start = .) ; + *(.data) + *(.data*) + *(.rodata) /* We need to include .rodata here if gcc is used */ + *(.rodata*) /* with -fdata-sections. */ + *(.gnu.linkonce.d*) + . = ALIGN(2); + _edata = . ; + PROVIDE (__data_end = .) ; + } > data AT> text + .bss ADDR(.data) + SIZEOF (.data) : AT (ADDR (.bss)) + { + PROVIDE (__bss_start = .) ; + *(.bss) + *(.bss*) + *(COMMON) + PROVIDE (__bss_end = .) ; + } > data + __data_load_start = LOADADDR(.data); + __data_load_end = __data_load_start + SIZEOF(.data); + /* Global data not cleared after reset. */ + .noinit ADDR(.bss) + SIZEOF (.bss) : AT (ADDR (.noinit)) + { + PROVIDE (__noinit_start = .) ; + *(.noinit*) + PROVIDE (__noinit_end = .) ; + _end = . ; + PROVIDE (__heap_start = .) ; + } > data + .eeprom : + { + /* See .data above... */ + KEEP(*(.eeprom*)) + __eeprom_end = . ; + } > eeprom + .fuse : + { + KEEP(*(.fuse)) + KEEP(*(.lfuse)) + KEEP(*(.hfuse)) + KEEP(*(.efuse)) + } > fuse + .lock : + { + KEEP(*(.lock*)) + } > lock + .signature : + { + KEEP(*(.signature*)) + } > signature + .user_signatures : + { + KEEP(*(.user_signatures*)) + } > user_signatures + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .note.gnu.build-id : { *(.note.gnu.build-id) } + /* DWARF debug sections. + Symbols in the DWARF debugging sections are relative to the beginning + of the section so we begin them at 0. */ + /* DWARF 1 */ + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } + /* GNU DWARF 1 extensions */ + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames) } + /* DWARF 1.1 and DWARF 2 */ + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } + /* DWARF 2 */ + .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line .debug_line.* .debug_line_end ) } + .debug_frame 0 : { *(.debug_frame) } + .debug_str 0 : { *(.debug_str) } + .debug_loc 0 : { *(.debug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo) } + /* SGI/MIPS DWARF 2 extensions */ + .debug_weaknames 0 : { *(.debug_weaknames) } + .debug_funcnames 0 : { *(.debug_funcnames) } + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } + /* DWARF 3 */ + .debug_pubtypes 0 : { *(.debug_pubtypes) } + .debug_ranges 0 : { *(.debug_ranges) } + /* DWARF Extension. */ + .debug_macro 0 : { *(.debug_macro) } +} diff --git a/cpu/atmega256rfr2/Makefile.include b/cpu/atmega256rfr2/Makefile.include index 4e3aa39e06ffae1f8e7237645e855d007fff0acd..7d1eb48a2a9f34aaf085e86a8627eabfc3f9a353 100644 --- a/cpu/atmega256rfr2/Makefile.include +++ b/cpu/atmega256rfr2/Makefile.include @@ -10,5 +10,8 @@ export UNDEF += $(BINDIR)/cpu/startup.o #include periph module USEMODULE += periph +RAM_LEN = 32K +ROM_LEN = 256K + # CPU depends on the atmega common module, so include it include $(ATMEGA_COMMON)Makefile.include diff --git a/cpu/atmega256rfr2/ldscripts_compat/README.md b/cpu/atmega256rfr2/ldscripts_compat/README.md new file mode 100644 index 0000000000000000000000000000000000000000..1bc6babe5bef59b56a77aa10af47aec1572f70b3 --- /dev/null +++ b/cpu/atmega256rfr2/ldscripts_compat/README.md @@ -0,0 +1,8 @@ +avr linkerscript +================ + +Starting from avr-binutils 2.26, the linker defines symbol that can be +overriden to configure ROM and RAM length. + +This ldscript is used for supporting older versions on avr-binutils like on +ubuntu xenial. diff --git a/cpu/atmega256rfr2/ldscripts_compat/avr_2.26.ld b/cpu/atmega256rfr2/ldscripts_compat/avr_2.26.ld new file mode 100644 index 0000000000000000000000000000000000000000..122be59261c4317d7d36f8f6e8a7105ed4739053 --- /dev/null +++ b/cpu/atmega256rfr2/ldscripts_compat/avr_2.26.ld @@ -0,0 +1,262 @@ +/* Script for -n: mix text and data on same page */ +/* Copyright (C) 2014-2015 Free Software Foundation, Inc. + Copying and distribution of this script, with or without modification, + are permitted in any medium without royalty provided the copyright + notice and this notice are preserved. */ +OUTPUT_FORMAT("elf32-avr","elf32-avr","elf32-avr") +OUTPUT_ARCH(avr:6) +__TEXT_REGION_LENGTH__ = DEFINED(__TEXT_REGION_LENGTH__) ? __TEXT_REGION_LENGTH__ : 1024K; +__DATA_REGION_LENGTH__ = DEFINED(__DATA_REGION_LENGTH__) ? __DATA_REGION_LENGTH__ : 0xfe00; +__EEPROM_REGION_LENGTH__ = DEFINED(__EEPROM_REGION_LENGTH__) ? __EEPROM_REGION_LENGTH__ : 64K; +__FUSE_REGION_LENGTH__ = DEFINED(__FUSE_REGION_LENGTH__) ? __FUSE_REGION_LENGTH__ : 1K; +__LOCK_REGION_LENGTH__ = DEFINED(__LOCK_REGION_LENGTH__) ? __LOCK_REGION_LENGTH__ : 1K; +__SIGNATURE_REGION_LENGTH__ = DEFINED(__SIGNATURE_REGION_LENGTH__) ? __SIGNATURE_REGION_LENGTH__ : 1K; +__USER_SIGNATURE_REGION_LENGTH__ = DEFINED(__USER_SIGNATURE_REGION_LENGTH__) ? __USER_SIGNATURE_REGION_LENGTH__ : 1K; +MEMORY +{ + text (rx) : ORIGIN = 0, LENGTH = __TEXT_REGION_LENGTH__ + data (rw!x) : ORIGIN = 0x800200, LENGTH = __DATA_REGION_LENGTH__ + eeprom (rw!x) : ORIGIN = 0x810000, LENGTH = __EEPROM_REGION_LENGTH__ + fuse (rw!x) : ORIGIN = 0x820000, LENGTH = __FUSE_REGION_LENGTH__ + lock (rw!x) : ORIGIN = 0x830000, LENGTH = __LOCK_REGION_LENGTH__ + signature (rw!x) : ORIGIN = 0x840000, LENGTH = __SIGNATURE_REGION_LENGTH__ + user_signatures (rw!x) : ORIGIN = 0x850000, LENGTH = __USER_SIGNATURE_REGION_LENGTH__ +} +SECTIONS +{ + /* Read-only sections, merged into text segment: */ + .hash : { *(.hash) } + .dynsym : { *(.dynsym) } + .dynstr : { *(.dynstr) } + .gnu.version : { *(.gnu.version) } + .gnu.version_d : { *(.gnu.version_d) } + .gnu.version_r : { *(.gnu.version_r) } + .rel.init : { *(.rel.init) } + .rela.init : { *(.rela.init) } + .rel.text : + { + *(.rel.text) + *(.rel.text.*) + *(.rel.gnu.linkonce.t*) + } + .rela.text : + { + *(.rela.text) + *(.rela.text.*) + *(.rela.gnu.linkonce.t*) + } + .rel.fini : { *(.rel.fini) } + .rela.fini : { *(.rela.fini) } + .rel.rodata : + { + *(.rel.rodata) + *(.rel.rodata.*) + *(.rel.gnu.linkonce.r*) + } + .rela.rodata : + { + *(.rela.rodata) + *(.rela.rodata.*) + *(.rela.gnu.linkonce.r*) + } + .rel.data : + { + *(.rel.data) + *(.rel.data.*) + *(.rel.gnu.linkonce.d*) + } + .rela.data : + { + *(.rela.data) + *(.rela.data.*) + *(.rela.gnu.linkonce.d*) + } + .rel.ctors : { *(.rel.ctors) } + .rela.ctors : { *(.rela.ctors) } + .rel.dtors : { *(.rel.dtors) } + .rela.dtors : { *(.rela.dtors) } + .rel.got : { *(.rel.got) } + .rela.got : { *(.rela.got) } + .rel.bss : { *(.rel.bss) } + .rela.bss : { *(.rela.bss) } + .rel.plt : { *(.rel.plt) } + .rela.plt : { *(.rela.plt) } + /* Internal text space or external memory. */ + .text : + { + *(.vectors) + KEEP(*(.vectors)) + /* For data that needs to reside in the lower 64k of progmem. */ + *(.progmem.gcc*) + /* PR 13812: Placing the trampolines here gives a better chance + that they will be in range of the code that uses them. */ + . = ALIGN(2); + __trampolines_start = . ; + /* The jump trampolines for the 16-bit limited relocs will reside here. */ + *(.trampolines) + *(.trampolines*) + __trampolines_end = . ; + /* avr-libc expects these data to reside in lower 64K. */ + *libprintf_flt.a:*(.progmem.data) + *libc.a:*(.progmem.data) + *(.progmem*) + . = ALIGN(2); + /* For future tablejump instruction arrays for 3 byte pc devices. + We don't relax jump/call instructions within these sections. */ + *(.jumptables) + *(.jumptables*) + /* For code that needs to reside in the lower 128k progmem. */ + *(.lowtext) + *(.lowtext*) + __ctors_start = . ; + *(.ctors) + __ctors_end = . ; + __dtors_start = . ; + *(.dtors) + __dtors_end = . ; + KEEP(SORT(*)(.ctors)) + KEEP(SORT(*)(.dtors)) + /* From this point on, we don't bother about wether the insns are + below or above the 16 bits boundary. */ + *(.init0) /* Start here after reset. */ + KEEP (*(.init0)) + *(.init1) + KEEP (*(.init1)) + *(.init2) /* Clear __zero_reg__, set up stack pointer. */ + KEEP (*(.init2)) + *(.init3) + KEEP (*(.init3)) + *(.init4) /* Initialize data and BSS. */ + KEEP (*(.init4)) + *(.init5) + KEEP (*(.init5)) + *(.init6) /* C++ constructors. */ + KEEP (*(.init6)) + *(.init7) + KEEP (*(.init7)) + *(.init8) + KEEP (*(.init8)) + *(.init9) /* Call main(). */ + KEEP (*(.init9)) + *(.text) + . = ALIGN(2); + *(.text.*) + . = ALIGN(2); + *(.fini9) /* _exit() starts here. */ + KEEP (*(.fini9)) + *(.fini8) + KEEP (*(.fini8)) + *(.fini7) + KEEP (*(.fini7)) + *(.fini6) /* C++ destructors. */ + KEEP (*(.fini6)) + *(.fini5) + KEEP (*(.fini5)) + *(.fini4) + KEEP (*(.fini4)) + *(.fini3) + KEEP (*(.fini3)) + *(.fini2) + KEEP (*(.fini2)) + *(.fini1) + KEEP (*(.fini1)) + *(.fini0) /* Infinite loop after program termination. */ + KEEP (*(.fini0)) + _etext = . ; + } > text + .data : + { + PROVIDE (__data_start = .) ; + *(.data) + *(.data*) + *(.rodata) /* We need to include .rodata here if gcc is used */ + *(.rodata*) /* with -fdata-sections. */ + *(.gnu.linkonce.d*) + . = ALIGN(2); + _edata = . ; + PROVIDE (__data_end = .) ; + } > data AT> text + .bss ADDR(.data) + SIZEOF (.data) : AT (ADDR (.bss)) + { + PROVIDE (__bss_start = .) ; + *(.bss) + *(.bss*) + *(COMMON) + PROVIDE (__bss_end = .) ; + } > data + __data_load_start = LOADADDR(.data); + __data_load_end = __data_load_start + SIZEOF(.data); + /* Global data not cleared after reset. */ + .noinit ADDR(.bss) + SIZEOF (.bss) : AT (ADDR (.noinit)) + { + PROVIDE (__noinit_start = .) ; + *(.noinit*) + PROVIDE (__noinit_end = .) ; + _end = . ; + PROVIDE (__heap_start = .) ; + } > data + .eeprom : + { + /* See .data above... */ + KEEP(*(.eeprom*)) + __eeprom_end = . ; + } > eeprom + .fuse : + { + KEEP(*(.fuse)) + KEEP(*(.lfuse)) + KEEP(*(.hfuse)) + KEEP(*(.efuse)) + } > fuse + .lock : + { + KEEP(*(.lock*)) + } > lock + .signature : + { + KEEP(*(.signature*)) + } > signature + .user_signatures : + { + KEEP(*(.user_signatures*)) + } > user_signatures + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .note.gnu.build-id : { *(.note.gnu.build-id) } + /* DWARF debug sections. + Symbols in the DWARF debugging sections are relative to the beginning + of the section so we begin them at 0. */ + /* DWARF 1 */ + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } + /* GNU DWARF 1 extensions */ + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames) } + /* DWARF 1.1 and DWARF 2 */ + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } + /* DWARF 2 */ + .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line .debug_line.* .debug_line_end ) } + .debug_frame 0 : { *(.debug_frame) } + .debug_str 0 : { *(.debug_str) } + .debug_loc 0 : { *(.debug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo) } + /* SGI/MIPS DWARF 2 extensions */ + .debug_weaknames 0 : { *(.debug_weaknames) } + .debug_funcnames 0 : { *(.debug_funcnames) } + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } + /* DWARF 3 */ + .debug_pubtypes 0 : { *(.debug_pubtypes) } + .debug_ranges 0 : { *(.debug_ranges) } + /* DWARF Extension. */ + .debug_macro 0 : { *(.debug_macro) } +} diff --git a/cpu/atmega328p/Makefile.include b/cpu/atmega328p/Makefile.include index b46d4e871c8f7be91fa4f2bae002050a124562cf..c014b254ccd08f40346c94fad089403946bf851c 100644 --- a/cpu/atmega328p/Makefile.include +++ b/cpu/atmega328p/Makefile.include @@ -4,5 +4,8 @@ USEMODULE += atmega_common # define path to atmega common module, which is needed for this CPU export ATMEGA_COMMON = $(RIOTCPU)/atmega_common/ +RAM_LEN = 2K +ROM_LEN = 32K + # CPU depends on the atmega common module, so include it include $(ATMEGA_COMMON)Makefile.include diff --git a/cpu/atmega328p/ldscripts_compat/README.md b/cpu/atmega328p/ldscripts_compat/README.md new file mode 100644 index 0000000000000000000000000000000000000000..1bc6babe5bef59b56a77aa10af47aec1572f70b3 --- /dev/null +++ b/cpu/atmega328p/ldscripts_compat/README.md @@ -0,0 +1,8 @@ +avr linkerscript +================ + +Starting from avr-binutils 2.26, the linker defines symbol that can be +overriden to configure ROM and RAM length. + +This ldscript is used for supporting older versions on avr-binutils like on +ubuntu xenial. diff --git a/cpu/atmega328p/ldscripts_compat/avr_2.26.ld b/cpu/atmega328p/ldscripts_compat/avr_2.26.ld new file mode 100644 index 0000000000000000000000000000000000000000..bb6af6bc0ae009e971160e19464427e2deb342f0 --- /dev/null +++ b/cpu/atmega328p/ldscripts_compat/avr_2.26.ld @@ -0,0 +1,262 @@ +/* Script for -n: mix text and data on same page */ +/* Copyright (C) 2014-2015 Free Software Foundation, Inc. + Copying and distribution of this script, with or without modification, + are permitted in any medium without royalty provided the copyright + notice and this notice are preserved. */ +OUTPUT_FORMAT("elf32-avr","elf32-avr","elf32-avr") +OUTPUT_ARCH(avr:5) +__TEXT_REGION_LENGTH__ = DEFINED(__TEXT_REGION_LENGTH__) ? __TEXT_REGION_LENGTH__ : 128K; +__DATA_REGION_LENGTH__ = DEFINED(__DATA_REGION_LENGTH__) ? __DATA_REGION_LENGTH__ : 0xffa0; +__EEPROM_REGION_LENGTH__ = DEFINED(__EEPROM_REGION_LENGTH__) ? __EEPROM_REGION_LENGTH__ : 64K; +__FUSE_REGION_LENGTH__ = DEFINED(__FUSE_REGION_LENGTH__) ? __FUSE_REGION_LENGTH__ : 1K; +__LOCK_REGION_LENGTH__ = DEFINED(__LOCK_REGION_LENGTH__) ? __LOCK_REGION_LENGTH__ : 1K; +__SIGNATURE_REGION_LENGTH__ = DEFINED(__SIGNATURE_REGION_LENGTH__) ? __SIGNATURE_REGION_LENGTH__ : 1K; +__USER_SIGNATURE_REGION_LENGTH__ = DEFINED(__USER_SIGNATURE_REGION_LENGTH__) ? __USER_SIGNATURE_REGION_LENGTH__ : 1K; +MEMORY +{ + text (rx) : ORIGIN = 0, LENGTH = __TEXT_REGION_LENGTH__ + data (rw!x) : ORIGIN = 0x800060, LENGTH = __DATA_REGION_LENGTH__ + eeprom (rw!x) : ORIGIN = 0x810000, LENGTH = __EEPROM_REGION_LENGTH__ + fuse (rw!x) : ORIGIN = 0x820000, LENGTH = __FUSE_REGION_LENGTH__ + lock (rw!x) : ORIGIN = 0x830000, LENGTH = __LOCK_REGION_LENGTH__ + signature (rw!x) : ORIGIN = 0x840000, LENGTH = __SIGNATURE_REGION_LENGTH__ + user_signatures (rw!x) : ORIGIN = 0x850000, LENGTH = __USER_SIGNATURE_REGION_LENGTH__ +} +SECTIONS +{ + /* Read-only sections, merged into text segment: */ + .hash : { *(.hash) } + .dynsym : { *(.dynsym) } + .dynstr : { *(.dynstr) } + .gnu.version : { *(.gnu.version) } + .gnu.version_d : { *(.gnu.version_d) } + .gnu.version_r : { *(.gnu.version_r) } + .rel.init : { *(.rel.init) } + .rela.init : { *(.rela.init) } + .rel.text : + { + *(.rel.text) + *(.rel.text.*) + *(.rel.gnu.linkonce.t*) + } + .rela.text : + { + *(.rela.text) + *(.rela.text.*) + *(.rela.gnu.linkonce.t*) + } + .rel.fini : { *(.rel.fini) } + .rela.fini : { *(.rela.fini) } + .rel.rodata : + { + *(.rel.rodata) + *(.rel.rodata.*) + *(.rel.gnu.linkonce.r*) + } + .rela.rodata : + { + *(.rela.rodata) + *(.rela.rodata.*) + *(.rela.gnu.linkonce.r*) + } + .rel.data : + { + *(.rel.data) + *(.rel.data.*) + *(.rel.gnu.linkonce.d*) + } + .rela.data : + { + *(.rela.data) + *(.rela.data.*) + *(.rela.gnu.linkonce.d*) + } + .rel.ctors : { *(.rel.ctors) } + .rela.ctors : { *(.rela.ctors) } + .rel.dtors : { *(.rel.dtors) } + .rela.dtors : { *(.rela.dtors) } + .rel.got : { *(.rel.got) } + .rela.got : { *(.rela.got) } + .rel.bss : { *(.rel.bss) } + .rela.bss : { *(.rela.bss) } + .rel.plt : { *(.rel.plt) } + .rela.plt : { *(.rela.plt) } + /* Internal text space or external memory. */ + .text : + { + *(.vectors) + KEEP(*(.vectors)) + /* For data that needs to reside in the lower 64k of progmem. */ + *(.progmem.gcc*) + /* PR 13812: Placing the trampolines here gives a better chance + that they will be in range of the code that uses them. */ + . = ALIGN(2); + __trampolines_start = . ; + /* The jump trampolines for the 16-bit limited relocs will reside here. */ + *(.trampolines) + *(.trampolines*) + __trampolines_end = . ; + /* avr-libc expects these data to reside in lower 64K. */ + *libprintf_flt.a:*(.progmem.data) + *libc.a:*(.progmem.data) + *(.progmem*) + . = ALIGN(2); + /* For future tablejump instruction arrays for 3 byte pc devices. + We don't relax jump/call instructions within these sections. */ + *(.jumptables) + *(.jumptables*) + /* For code that needs to reside in the lower 128k progmem. */ + *(.lowtext) + *(.lowtext*) + __ctors_start = . ; + *(.ctors) + __ctors_end = . ; + __dtors_start = . ; + *(.dtors) + __dtors_end = . ; + KEEP(SORT(*)(.ctors)) + KEEP(SORT(*)(.dtors)) + /* From this point on, we don't bother about wether the insns are + below or above the 16 bits boundary. */ + *(.init0) /* Start here after reset. */ + KEEP (*(.init0)) + *(.init1) + KEEP (*(.init1)) + *(.init2) /* Clear __zero_reg__, set up stack pointer. */ + KEEP (*(.init2)) + *(.init3) + KEEP (*(.init3)) + *(.init4) /* Initialize data and BSS. */ + KEEP (*(.init4)) + *(.init5) + KEEP (*(.init5)) + *(.init6) /* C++ constructors. */ + KEEP (*(.init6)) + *(.init7) + KEEP (*(.init7)) + *(.init8) + KEEP (*(.init8)) + *(.init9) /* Call main(). */ + KEEP (*(.init9)) + *(.text) + . = ALIGN(2); + *(.text.*) + . = ALIGN(2); + *(.fini9) /* _exit() starts here. */ + KEEP (*(.fini9)) + *(.fini8) + KEEP (*(.fini8)) + *(.fini7) + KEEP (*(.fini7)) + *(.fini6) /* C++ destructors. */ + KEEP (*(.fini6)) + *(.fini5) + KEEP (*(.fini5)) + *(.fini4) + KEEP (*(.fini4)) + *(.fini3) + KEEP (*(.fini3)) + *(.fini2) + KEEP (*(.fini2)) + *(.fini1) + KEEP (*(.fini1)) + *(.fini0) /* Infinite loop after program termination. */ + KEEP (*(.fini0)) + _etext = . ; + } > text + .data : + { + PROVIDE (__data_start = .) ; + *(.data) + *(.data*) + *(.rodata) /* We need to include .rodata here if gcc is used */ + *(.rodata*) /* with -fdata-sections. */ + *(.gnu.linkonce.d*) + . = ALIGN(2); + _edata = . ; + PROVIDE (__data_end = .) ; + } > data AT> text + .bss ADDR(.data) + SIZEOF (.data) : AT (ADDR (.bss)) + { + PROVIDE (__bss_start = .) ; + *(.bss) + *(.bss*) + *(COMMON) + PROVIDE (__bss_end = .) ; + } > data + __data_load_start = LOADADDR(.data); + __data_load_end = __data_load_start + SIZEOF(.data); + /* Global data not cleared after reset. */ + .noinit ADDR(.bss) + SIZEOF (.bss) : AT (ADDR (.noinit)) + { + PROVIDE (__noinit_start = .) ; + *(.noinit*) + PROVIDE (__noinit_end = .) ; + _end = . ; + PROVIDE (__heap_start = .) ; + } > data + .eeprom : + { + /* See .data above... */ + KEEP(*(.eeprom*)) + __eeprom_end = . ; + } > eeprom + .fuse : + { + KEEP(*(.fuse)) + KEEP(*(.lfuse)) + KEEP(*(.hfuse)) + KEEP(*(.efuse)) + } > fuse + .lock : + { + KEEP(*(.lock*)) + } > lock + .signature : + { + KEEP(*(.signature*)) + } > signature + .user_signatures : + { + KEEP(*(.user_signatures*)) + } > user_signatures + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .note.gnu.build-id : { *(.note.gnu.build-id) } + /* DWARF debug sections. + Symbols in the DWARF debugging sections are relative to the beginning + of the section so we begin them at 0. */ + /* DWARF 1 */ + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } + /* GNU DWARF 1 extensions */ + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames) } + /* DWARF 1.1 and DWARF 2 */ + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } + /* DWARF 2 */ + .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line .debug_line.* .debug_line_end ) } + .debug_frame 0 : { *(.debug_frame) } + .debug_str 0 : { *(.debug_str) } + .debug_loc 0 : { *(.debug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo) } + /* SGI/MIPS DWARF 2 extensions */ + .debug_weaknames 0 : { *(.debug_weaknames) } + .debug_funcnames 0 : { *(.debug_funcnames) } + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } + /* DWARF 3 */ + .debug_pubtypes 0 : { *(.debug_pubtypes) } + .debug_ranges 0 : { *(.debug_ranges) } + /* DWARF Extension. */ + .debug_macro 0 : { *(.debug_macro) } +} diff --git a/cpu/atmega_common/Makefile.include b/cpu/atmega_common/Makefile.include index 717ec08ab640dd7b1f3cf8c5e019498b7e790dbe..5624d68a0799f8a2a1cf0f14cb9cf1b2b501ba79 100644 --- a/cpu/atmega_common/Makefile.include +++ b/cpu/atmega_common/Makefile.include @@ -26,3 +26,14 @@ ifeq ($(LTO),1) # See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59396 export LINKFLAGS += -Wno-error endif + +# Use ROM_LEN and RAM_LEN during link +$(if $(ROM_LEN),,$(error ROM_LEN is not defined)) +$(if $(RAM_LEN),,$(error RAM_LEN is not defined)) +LINKFLAGS += $(LINKFLAGPREFIX)--defsym=__TEXT_REGION_LENGTH__=$(ROM_LEN)$(if $(ROM_RESERVED),-$(ROM_RESERVED)) +LINKFLAGS += $(LINKFLAGPREFIX)--defsym=__DATA_REGION_LENGTH__=$(RAM_LEN) + +# Use newer linker script to have ROM/RAM configuration symbols in binutils<2.26 +LDSCRIPT_COMPAT = $(if $(shell $(TARGET_ARCH)-ld --verbose | grep __TEXT_REGION_LENGTH__),,\ + -T$(RIOTCPU)/$(CPU)/ldscripts_compat/avr_2.26.ld) +LINKFLAGS += $(LDSCRIPT_COMPAT) diff --git a/examples/asymcute_mqttsn/Makefile b/examples/asymcute_mqttsn/Makefile index 08f61563058066112a24bb3a55eda82735702171..e89290e6eec416a329a176eb5a645f40d9b21034 100644 --- a/examples/asymcute_mqttsn/Makefile +++ b/examples/asymcute_mqttsn/Makefile @@ -9,12 +9,14 @@ RIOTBASE ?= $(CURDIR)/../.. # Not all boards have enough memory to build the default configuration of this # example... -BOARD_INSUFFICIENT_MEMORY := airfy-beacon chronos hifive1 microbit msb-430 \ - msb-430h nrf51dongle nrf6310 nucleo-f030r8 \ - nucleo-f031k6 nucleo-f042k6 nucleo-f070rb \ - nucleo-f072rb nucleo-f303k8 nucleo-f334r8 \ - nucleo-l031k6 nucleo-l053r8 stm32f0discovery \ - telosb wsn430-v1_3b wsn430-v1_4 yunjia-nrf51822 z1 +BOARD_INSUFFICIENT_MEMORY := airfy-beacon arduino-duemilanove arduino-mega2560 \ + arduino-uno chronos hifive1 mega-xplained \ + microbit msb-430 msb-430h nrf51dongle nrf6310 \ + nucleo-f030r8 nucleo-f031k6 nucleo-f042k6 \ + nucleo-f070rb nucleo-f072rb nucleo-f303k8 \ + nucleo-f334r8 nucleo-l031k6 nucleo-l053r8 \ + stm32f0discovery telosb waspmote-pro \ + wsn430-v1_3b wsn430-v1_4 yunjia-nrf51822 z1 # Include packages that pull up and auto-init the link layer. # NOTE: 6LoWPAN will be included if IEEE802.15.4 devices are present diff --git a/examples/default/Makefile b/examples/default/Makefile index 664945b5df7371c3eb8d9869754128b309683a7a..7ca1175f6695bd2bd1b03e34712a21b39504a82b 100644 --- a/examples/default/Makefile +++ b/examples/default/Makefile @@ -7,6 +7,8 @@ BOARD ?= native # This has to be the absolute path to the RIOT base directory: RIOTBASE ?= $(CURDIR)/../.. +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno + # Uncomment these lines if you want to use platform support from external # repositories: #RIOTCPU ?= $(CURDIR)/../../RIOT/thirdparty_cpu diff --git a/examples/filesystem/Makefile b/examples/filesystem/Makefile index 69034e3a606af023e34719decb17ec56c489c4ca..85b2d4436395b8eff4ba7f9c955bf4913e92a2ef 100644 --- a/examples/filesystem/Makefile +++ b/examples/filesystem/Makefile @@ -4,6 +4,7 @@ APPLICATION = filesystem # If no BOARD is found in the environment, use this default: BOARD ?= native + # Blacklisting msp430-based boards, as file syscalls are not supported BOARD_BLACKLIST := chronos \ msb-430 \ @@ -14,7 +15,7 @@ BOARD_BLACKLIST := chronos \ z1 \ # -BOARD_INSUFFICIENT_MEMORY := nucleo-f031k6 +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno nucleo-f031k6 # This has to be the absolute path to the RIOT base directory: RIOTBASE ?= $(CURDIR)/../.. diff --git a/examples/gcoap/Makefile b/examples/gcoap/Makefile index 14fdd7380ec35a0f86f8f6c4ad8e8e1cf0630d5a..8bc26593937871171a0141c8a9873cebbedf3bdc 100644 --- a/examples/gcoap/Makefile +++ b/examples/gcoap/Makefile @@ -9,10 +9,12 @@ BOARD ?= native # This has to be the absolute path to the RIOT base directory: RIOTBASE ?= $(CURDIR)/../.. -BOARD_INSUFFICIENT_MEMORY := chronos msb-430 msb-430h nucleo-f031k6 nucleo-f042k6 \ - nucleo-l031k6 nucleo-f030r8 nucleo-f334r8 nucleo-l053r8 \ - stm32f0discovery telosb wsn430-v1_3b wsn430-v1_4 z1 \ - nucleo-f303k8 +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-mega2560 arduino-uno \ + chronos mega-xplained msb-430 msb-430h \ + nucleo-f031k6 nucleo-f042k6 nucleo-l031k6 \ + nucleo-f030r8 nucleo-f303k8 nucleo-f334r8 \ + nucleo-l053r8 stm32f0discovery telosb \ + waspmote-pro wsn430-v1_3b wsn430-v1_4 z1 ## Uncomment to redefine port, for example use 61616 for RFC 6282 UDP compression. #GCOAP_PORT = 5683 diff --git a/examples/gnrc_border_router/Makefile b/examples/gnrc_border_router/Makefile index 54177f6972967eb789be93f58d68cf8e6fffff83..a8d8f0b8417c019e77e599c695c18dc41a57a750 100644 --- a/examples/gnrc_border_router/Makefile +++ b/examples/gnrc_border_router/Makefile @@ -7,13 +7,16 @@ BOARD ?= samr21-xpro # This has to be the absolute path to the RIOT base directory: RIOTBASE ?= $(CURDIR)/../.. -BOARD_INSUFFICIENT_MEMORY := airfy-beacon b-l072z-lrwan1 bluepill calliope-mini \ +BOARD_INSUFFICIENT_MEMORY := airfy-beacon arduino-duemilanove arduino-mega2560 \ + arduino-uno b-l072z-lrwan1 bluepill calliope-mini \ cc2650-launchpad cc2650stk hifive1 maple-mini \ - microbit msb-430 msb-430h nrf51dongle nrf6310 \ - nucleo-f031k6 nucleo-f042k6 nucleo-f303k8 nucleo-l031k6 \ - nucleo-f030r8 nucleo-f070rb nucleo-f072rb nucleo-f103rb nucleo-f302r8 \ - nucleo-f334r8 nucleo-l053r8 nucleo-l073rz opencm904 \ - spark-core stm32f0discovery stm32mindev telosb \ + mega-xplained microbit msb-430 msb-430h \ + nrf51dongle nrf6310 nucleo-f031k6 nucleo-f042k6 \ + nucleo-f303k8 nucleo-l031k6 nucleo-f030r8 \ + nucleo-f070rb nucleo-f072rb nucleo-f103rb \ + nucleo-f302r8 nucleo-f334r8 nucleo-l053r8 \ + nucleo-l073rz opencm904 spark-core \ + stm32f0discovery stm32mindev telosb waspmote-pro \ weio wsn430-v1_3b wsn430-v1_4 yunjia-nrf51822 z1 # The following boards do not have an available UART diff --git a/examples/gnrc_minimal/Makefile b/examples/gnrc_minimal/Makefile index 5a5b565153856dae146011e2a3b401efe575e98d..bc63da397f6e851c53fe0c72afb5bf15ec19231f 100644 --- a/examples/gnrc_minimal/Makefile +++ b/examples/gnrc_minimal/Makefile @@ -7,7 +7,7 @@ BOARD ?= native # This has to be the absolute path to the RIOT base directory: RIOTBASE ?= $(CURDIR)/../.. -BOARD_INSUFFICIENT_MEMORY := nucleo-f031k6 +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno nucleo-f031k6 # Comment this out to disable code in RIOT that does safety checking # which is not needed in a production environment but helps in the diff --git a/examples/gnrc_networking/Makefile b/examples/gnrc_networking/Makefile index 86b7a94c143cbcfd2d18c9040e85c4332b699d0e..4d361f8250fcb64b0ba40c8b3efca92be92daffc 100644 --- a/examples/gnrc_networking/Makefile +++ b/examples/gnrc_networking/Makefile @@ -7,11 +7,14 @@ BOARD ?= native # This has to be the absolute path to the RIOT base directory: RIOTBASE ?= $(CURDIR)/../.. -BOARD_INSUFFICIENT_MEMORY := calliope-mini chronos hifive1 microbit msb-430 msb-430h \ - nucleo-f031k6 nucleo-f042k6 nucleo-f303k8 nucleo-l031k6 \ - nucleo-f030r8 nucleo-f070rb nucleo-f072rb nucleo-f103rb nucleo-f302r8 \ - nucleo-f334r8 nucleo-l053r8 spark-core stm32f0discovery telosb \ - wsn430-v1_3b wsn430-v1_4 z1 +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-mega2560 arduino-uno \ + calliope-mini chronos hifive1 mega-xplained \ + microbit msb-430 msb-430h nucleo-f031k6 \ + nucleo-f042k6 nucleo-f303k8 nucleo-l031k6 \ + nucleo-f030r8 nucleo-f070rb nucleo-f072rb \ + nucleo-f103rb nucleo-f302r8 nucleo-f334r8 \ + nucleo-l053r8 spark-core stm32f0discovery telosb \ + waspmote-pro wsn430-v1_3b wsn430-v1_4 z1 # Include packages that pull up and auto-init the link layer. # NOTE: 6LoWPAN will be included if IEEE802.15.4 devices are present diff --git a/examples/gnrc_tftp/Makefile b/examples/gnrc_tftp/Makefile index ae935f94e24ef6b896340e5d2cb6f71803b906b4..5f082253f9a3e03ead1ffb7adbf86a2af87ac4b3 100644 --- a/examples/gnrc_tftp/Makefile +++ b/examples/gnrc_tftp/Makefile @@ -7,12 +7,16 @@ BOARD ?= native # This has to be the absolute path to the RIOT base directory: RIOTBASE ?= $(CURDIR)/../.. -BOARD_INSUFFICIENT_MEMORY := airfy-beacon b-l072z-lrwan1 bluepill calliope-mini chronos \ - hifive1 microbit msb-430 msb-430h nrf51dongle nrf6310 nucleo-f031k6 \ - nucleo-f042k6 nucleo-f303k8 nucleo-l031k6 nucleo-f030r8 \ - nucleo-f070rb nucleo-f072rb nucleo-f103rb nucleo-f302r8 nucleo-f334r8 \ - nucleo-l053r8 spark-core stm32f0discovery stm32mindev \ - telosb wsn430-v1_3b wsn430-v1_4 yunjia-nrf51822 z1 +BOARD_INSUFFICIENT_MEMORY := airfy-beacon arduino-duemilanove arduino-mega2560 \ + arduino-uno b-l072z-lrwan1 bluepill calliope-mini \ + chronos hifive1 mega-xplained microbit \ + msb-430 msb-430h nrf51dongle nrf6310 nucleo-f031k6 \ + nucleo-f042k6 nucleo-f303k8 nucleo-l031k6 \ + nucleo-f030r8 nucleo-f070rb nucleo-f072rb \ + nucleo-f103rb nucleo-f302r8 nucleo-f334r8 \ + nucleo-l053r8 spark-core stm32f0discovery \ + stm32mindev telosb waspmote-pro \ + wsn430-v1_3b wsn430-v1_4 yunjia-nrf51822 z1 # Include packages that pull up and auto-init the link layer. # NOTE: 6LoWPAN will be included if IEEE802.15.4 devices are present diff --git a/examples/nanocoap_server/Makefile b/examples/nanocoap_server/Makefile index dc53067650a6c1aca18d6cbe24757e3b17c67f45..7b6e5fa1b9a4bb8ed8eea62b0f75e1985fa8f395 100644 --- a/examples/nanocoap_server/Makefile +++ b/examples/nanocoap_server/Makefile @@ -7,9 +7,11 @@ BOARD ?= native # This has to be the absolute path to the RIOT base directory: RIOTBASE ?= $(CURDIR)/../.. -BOARD_INSUFFICIENT_MEMORY := chronos msb-430 msb-430h nucleo-f031k6 nucleo-f042k6 \ - nucleo-l031k6 nucleo-f030r8 nucleo-l053r8 stm32f0discovery \ - telosb z1 nucleo-f303k8 +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-mega2560 arduino-uno \ + chronos msb-430 msb-430h nucleo-f031k6 \ + nucleo-f042k6 nucleo-l031k6 nucleo-f030r8 \ + nucleo-f303k8 nucleo-l053r8 stm32f0discovery \ + telosb waspmote-pro z1 # Include packages that pull up and auto-init the link layer. # NOTE: 6LoWPAN will be included if IEEE802.15.4 devices are present diff --git a/examples/ndn-ping/Makefile b/examples/ndn-ping/Makefile index 3ccf83aa24f4c969584a50a25ed05ba4dc399900..8e33bc7ef451c71a3d7fdc50e644333536339975 100644 --- a/examples/ndn-ping/Makefile +++ b/examples/ndn-ping/Makefile @@ -7,9 +7,12 @@ BOARD ?= native # This has to be the absolute path to the RIOT base directory: RIOTBASE ?= $(CURDIR)/../../ -BOARD_INSUFFICIENT_MEMORY := chronos msb-430 msb-430h telosb weio wsn430-v1_3b wsn430-v1_4 z1 \ - nucleo-f042k6 nucleo-f031k6 nucleo-l031k6 nucleo-f030r8 nucleo-l053r8 \ - stm32f0discovery +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-mega2560 arduino-uno \ + chronos mega-xplained msb-430 msb-430h \ + nucleo-f042k6 nucleo-f031k6 nucleo-l031k6 \ + nucleo-f030r8 nucleo-l053r8 stm32f0discovery \ + telosb waspmote-pro weio wsn430-v1_3b wsn430-v1_4 \ + z1 # Include packages that pull up and auto-init the link layer. USEMODULE += gnrc_netdev_default diff --git a/examples/posix_sockets/Makefile b/examples/posix_sockets/Makefile index b1619169a4e0933285a430c90c2c8a1050968bda..117426781317222a7235834cd750342d00caeeb2 100644 --- a/examples/posix_sockets/Makefile +++ b/examples/posix_sockets/Makefile @@ -7,11 +7,14 @@ BOARD ?= native # This has to be the absolute path to the RIOT base directory: RIOTBASE ?= $(CURDIR)/../.. -BOARD_INSUFFICIENT_MEMORY := airfy-beacon chronos msb-430 msb-430h nrf51dongle \ - nrf6310 nucleo-f031k6 nucleo-f042k6 nucleo-l031k6 \ - nucleo-f030r8 nucleo-f070rb nucleo-f072rb nucleo-f334r8 \ - nucleo-l053r8 stm32f0discovery telosb wsn430-v1_3b \ - wsn430-v1_4 yunjia-nrf51822 z1 nucleo-f303k8 +BOARD_INSUFFICIENT_MEMORY := airfy-beacon arduino-duemilanove arduino-mega2560 \ + arduino-uno chronos mega-xplained msb-430 \ + msb-430h nrf51dongle nrf6310 nucleo-f031k6 \ + nucleo-f042k6 nucleo-l031k6 nucleo-f030r8 \ + nucleo-f070rb nucleo-f072rb nucleo-f334r8 \ + nucleo-f303k8 nucleo-l053r8 stm32f0discovery \ + telosb wsn430-v1_3b wsn430-v1_4 yunjia-nrf51822 \ + waspmote-pro z1 # Include packages that pull up and auto-init the link layer. # NOTE: 6LoWPAN will be included if IEEE802.15.4 devices are present diff --git a/examples/rdcli_simple/Makefile b/examples/rdcli_simple/Makefile index e1800bafcc63c9f82a37ce9a993d4308909b773a..d2d95afa109386e3b3fc140e2ceaafa549950b08 100644 --- a/examples/rdcli_simple/Makefile +++ b/examples/rdcli_simple/Makefile @@ -7,10 +7,12 @@ BOARD ?= native # This has to be the absolute path to the RIOT base directory: RIOTBASE ?= $(CURDIR)/../.. -BOARD_INSUFFICIENT_MEMORY := chronos hifive1 msb-430 msb-430h nucleo-f030r8 nucleo-l053r8 \ - nucleo-f031k6 nucleo-f042k6 nucleo-l031k6 \ - stm32f0discovery telosb wsn430-v1_3b wsn430-v1_4 \ - z1 nucleo-f303k8 nucleo-f334r8 +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-mega2560 arduino-uno \ + chronos hifive1 msb-430 msb-430h nucleo-f030r8 \ + nucleo-l053r8 nucleo-f031k6 nucleo-f042k6 \ + nucleo-f303k8 nucleo-f334r8 nucleo-l031k6 \ + stm32f0discovery telosb waspmote-pro \ + wsn430-v1_3b wsn430-v1_4 z1 # Enable GNRC networking USEMODULE += gnrc_netdev_default diff --git a/examples/saul/Makefile b/examples/saul/Makefile index 7f2ca1e2977e66d03a7bc21fea0325c91a6c9b16..6884f03ca3325906af05da17d83ec5706a706768 100644 --- a/examples/saul/Makefile +++ b/examples/saul/Makefile @@ -7,6 +7,8 @@ BOARD ?= native # This has to be the absolute path to the RIOT base directory: RIOTBASE ?= $(CURDIR)/../.. +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno + # we want to use SAUL: USEMODULE += saul_default # include the shell: diff --git a/tests/bench_timers/Makefile b/tests/bench_timers/Makefile index 11675236f57fdc087ec0b0a1a15691b836a47c75..700ffdbc90be4fdf771a502ff6d1f00ed9f4cb7c 100644 --- a/tests/bench_timers/Makefile +++ b/tests/bench_timers/Makefile @@ -1,5 +1,7 @@ include ../Makefile.tests_common +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno + # These boards only have a single timer in their periph_conf.h, needs special # CFLAGS configuration to build properly SINGLE_TIMER_BOARDS = \ diff --git a/tests/bloom_bytes/Makefile b/tests/bloom_bytes/Makefile index 243a721da17269f33af7fae9288dcfae67440d51..7e6e7aed9cd96e5af2ce885ddde4b216252adfc8 100644 --- a/tests/bloom_bytes/Makefile +++ b/tests/bloom_bytes/Makefile @@ -1,7 +1,7 @@ include ../Makefile.tests_common -BOARD_INSUFFICIENT_MEMORY := chronos msb-430 msb-430h telosb wsn430-v1_3b \ - wsn430-v1_4 z1 +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno chronos \ + msb-430 msb-430h telosb wsn430-v1_3b wsn430-v1_4 z1 USEMODULE += hashes USEMODULE += bloom diff --git a/tests/can_trx/Makefile b/tests/can_trx/Makefile index fab8275842f2c1d183154c27f9aebede53ffa4c5..d887f961a3dcdf1d68c91e725454860026410b68 100644 --- a/tests/can_trx/Makefile +++ b/tests/can_trx/Makefile @@ -1,6 +1,8 @@ export APPLICATION = can_trx include ../Makefile.tests_common +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno + USEMODULE += shell USEMODULE += shell_commands USEMODULE += ps diff --git a/tests/conn_can/Makefile b/tests/conn_can/Makefile index 35fde68429a0099ec328a5f0ac9db86e4dbcf00b..959231f6d58da57d20e85424a73d469f657579ec 100644 --- a/tests/conn_can/Makefile +++ b/tests/conn_can/Makefile @@ -1,10 +1,12 @@ include ../Makefile.tests_common -BOARD_INSUFFICIENT_MEMORY := chronos hifive1 msb-430 msb-430h nucleo-f031k6 nucleo-f042k6 \ - nucleo-f303k8 nucleo-l031k6 nucleo-f030r8 nucleo-f070rb \ - nucleo-f072rb nucleo-f302r8 nucleo-f303re nucleo-f334r8 \ - nucleo-l053r8 stm32f0discovery telosb wsn430-v1_3b \ - wsn430-v1_4 z1 +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-mega2560 arduino-uno \ + chronos hifive1 msb-430 msb-430h nucleo-f031k6 \ + nucleo-f042k6 nucleo-f303k8 nucleo-l031k6 \ + nucleo-f030r8 nucleo-f070rb nucleo-f072rb \ + nucleo-f302r8 nucleo-f303re nucleo-f334r8 \ + nucleo-l053r8 stm32f0discovery telosb \ + waspmote-pro wsn430-v1_3b wsn430-v1_4 z1 CFLAGS += -DLOG_LEVEL=LOG_ALL diff --git a/tests/driver_at/Makefile b/tests/driver_at/Makefile index f68ba0642896a78dc0ff4282fa92c50d7b7d4fb1..a22a778431efac6603d9d0c9482ba964eaa11fa3 100644 --- a/tests/driver_at/Makefile +++ b/tests/driver_at/Makefile @@ -1,6 +1,6 @@ include ../Makefile.tests_common -BOARD_INSUFFICIENT_MEMORY += nucleo-f031k6 +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno nucleo-f031k6 USEMODULE += shell USEMODULE += at diff --git a/tests/driver_at30tse75x/Makefile b/tests/driver_at30tse75x/Makefile index f759b09afd4e9dc13babeeef68fea04e0478b1a4..760633eecdc9b135eb006dbc9aede08f6a2d037d 100644 --- a/tests/driver_at30tse75x/Makefile +++ b/tests/driver_at30tse75x/Makefile @@ -1,5 +1,7 @@ include ../Makefile.tests_common +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno + USEMODULE += at30tse75x USEMODULE += shell USEMODULE += shell_commands diff --git a/tests/driver_at86rf2xx/Makefile b/tests/driver_at86rf2xx/Makefile index 8b7669a52bd1d11a76685c11ec2e46dc5a9a44ca..c901f654cde7841774ae0e26e3638dacce59d17f 100644 --- a/tests/driver_at86rf2xx/Makefile +++ b/tests/driver_at86rf2xx/Makefile @@ -1,7 +1,7 @@ include ../Makefile.tests_common # exclude boards with insufficient memory -BOARD_INSUFFICIENT_MEMORY := nucleo-f031k6 +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno nucleo-f031k6 DISABLE_MODULE += auto_init diff --git a/tests/driver_ata8520e/Makefile b/tests/driver_ata8520e/Makefile index 207c000bbaca571e85776059ad5232883de8c38c..b1034cf29d5cb8fcb7e3c1eaf0a6c193f83b0098 100644 --- a/tests/driver_ata8520e/Makefile +++ b/tests/driver_ata8520e/Makefile @@ -1,5 +1,7 @@ include ../Makefile.tests_common +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno + USEMODULE += ata8520e USEMODULE += shell USEMODULE += shell_commands diff --git a/tests/driver_dynamixel/Makefile b/tests/driver_dynamixel/Makefile index 02a8bfaf4f84fc286ed7df7f168e9ffc9a1b4e7e..2f62c7eec7d330c6ceb2384ed4e0b7cfb08c7834 100644 --- a/tests/driver_dynamixel/Makefile +++ b/tests/driver_dynamixel/Makefile @@ -1,5 +1,7 @@ include ../Makefile.tests_common +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno + # chronos : USART_1 undeclared BOARD_BLACKLIST += chronos diff --git a/tests/driver_enc28j60/Makefile b/tests/driver_enc28j60/Makefile index c076504011da73ffb1529485bd78a08acef2c5fb..21e3a1f1ac0bf954ce2c0859a3db87c3f9c772cb 100644 --- a/tests/driver_enc28j60/Makefile +++ b/tests/driver_enc28j60/Makefile @@ -1,9 +1,10 @@ include ../Makefile.tests_common -BOARD_INSUFFICIENT_MEMORY := msb-430 msb-430h nucleo-f334r8 nucleo-l053r8 \ +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-mega2560 arduino-uno \ + msb-430 msb-430h nucleo-f334r8 nucleo-l053r8 \ nucleo-f031k6 nucleo-f042k6 nucleo-f303k8 \ nucleo-l031k6 stm32f0discovery telosb \ - wsn430-v1_3b wsn430-v1_4 z1 + waspmote-pro wsn430-v1_3b wsn430-v1_4 z1 USEMODULE += auto_init_gnrc_netif USEMODULE += enc28j60 diff --git a/tests/driver_encx24j600/Makefile b/tests/driver_encx24j600/Makefile index ecc13d80278f4690a53b2a3989587a26347858cd..9082707993d52cc0052d66e11d5603f546796c14 100644 --- a/tests/driver_encx24j600/Makefile +++ b/tests/driver_encx24j600/Makefile @@ -1,9 +1,10 @@ include ../Makefile.tests_common -BOARD_INSUFFICIENT_MEMORY := msb-430 msb-430h \ +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-mega2560 arduino-uno \ + msb-430 msb-430h \ nucleo-l053r8 nucleo-f031k6 nucleo-f042k6 \ nucleo-l031k6 stm32f0discovery telosb \ - wsn430-v1_3b wsn430-v1_4 z1 + waspmote-pro wsn430-v1_3b wsn430-v1_4 z1 USEMODULE += auto_init_gnrc_netif USEMODULE += encx24j600 diff --git a/tests/driver_feetech/Makefile b/tests/driver_feetech/Makefile index cb6dc092d2eb575f76fc90774cd1e4aa208cfde1..d2ff4c2dafb00ca79c4a150518faf86033c10a97 100644 --- a/tests/driver_feetech/Makefile +++ b/tests/driver_feetech/Makefile @@ -1,5 +1,7 @@ include ../Makefile.tests_common +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno + # chronos : USART_1 undeclared BOARD_BLACKLIST += chronos diff --git a/tests/driver_kw2xrf/Makefile b/tests/driver_kw2xrf/Makefile index 30d73b498ee117323fcb02f7085581b0a54fde96..1d84f44c1f2abedcb5500f22cf62db01e0e67cc6 100644 --- a/tests/driver_kw2xrf/Makefile +++ b/tests/driver_kw2xrf/Makefile @@ -1,7 +1,9 @@ include ../Makefile.tests_common -BOARD_INSUFFICIENT_MEMORY := nucleo-f031k6 nucleo-f042k6 nucleo-l031k6 \ - nucleo-f334r8 nucleo-l053r8 stm32f0discovery +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-mega2560 arduino-uno \ + nucleo-f031k6 nucleo-f042k6 nucleo-l031k6 \ + nucleo-f334r8 nucleo-l053r8 stm32f0discovery \ + waspmote-pro USEMODULE += auto_init_gnrc_netif USEMODULE += gnrc_netdev_default diff --git a/tests/driver_nrf24l01p_lowlevel/Makefile b/tests/driver_nrf24l01p_lowlevel/Makefile index f92e752b5dbf1715a32c1b1c56450bb802831a7d..1d3d63d62c20d3f9c2ea7d6deca90eecc646e79e 100644 --- a/tests/driver_nrf24l01p_lowlevel/Makefile +++ b/tests/driver_nrf24l01p_lowlevel/Makefile @@ -1,7 +1,7 @@ include ../Makefile.tests_common # exclude boards with insufficient memory -BOARD_INSUFFICIENT_MEMORY := nucleo-f031k6 +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno nucleo-f031k6 USEMODULE += shell USEMODULE += shell_commands diff --git a/tests/driver_pcd8544/Makefile b/tests/driver_pcd8544/Makefile index 7ffddd13afec6b78afe269dfd3fbb4005f66f437..7ce87b96fbfe218de9f8ce21aa51827156078ab9 100644 --- a/tests/driver_pcd8544/Makefile +++ b/tests/driver_pcd8544/Makefile @@ -1,5 +1,7 @@ include ../Makefile.tests_common +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno + USEMODULE += shell USEMODULE += pcd8544 diff --git a/tests/driver_rn2xx3/Makefile b/tests/driver_rn2xx3/Makefile index 743e9be1364682d374bbda370b92e963a8dd92f7..e7f53a43114aa5ebb1a40fede0f6ecf4186862f5 100644 --- a/tests/driver_rn2xx3/Makefile +++ b/tests/driver_rn2xx3/Makefile @@ -1,5 +1,7 @@ include ../Makefile.tests_common +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno + DRIVER ?= rn2483 USEMODULE += $(DRIVER) diff --git a/tests/driver_sdcard_spi/Makefile b/tests/driver_sdcard_spi/Makefile index e1e25a67b3e81436f9ded20316129341f3132fa0..4f434f293941db6610cf2ed067005d98d851c04f 100644 --- a/tests/driver_sdcard_spi/Makefile +++ b/tests/driver_sdcard_spi/Makefile @@ -1,7 +1,7 @@ include ../Makefile.tests_common # exclude boards with insufficient memory -BOARD_INSUFFICIENT_MEMORY := nucleo-f031k6 +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno nucleo-f031k6 USEMODULE += sdcard_spi USEMODULE += auto_init_storage diff --git a/tests/driver_sht1x/Makefile b/tests/driver_sht1x/Makefile index 4c51663c52712d0b4b7e8688d150334739cd430a..0a8abefbb736a6619ab534920405e5b8d3bd1742 100644 --- a/tests/driver_sht1x/Makefile +++ b/tests/driver_sht1x/Makefile @@ -1,5 +1,7 @@ include ../Makefile.tests_common +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno + DRIVER ?= sht11 BOARD ?= msba2 diff --git a/tests/driver_srf02/Makefile b/tests/driver_srf02/Makefile index 8eab7f2a2d3bf2e774a0940977aaf6ea0a423729..625345ec522bd90a0edecc5b71ddd1806c25f2f0 100644 --- a/tests/driver_srf02/Makefile +++ b/tests/driver_srf02/Makefile @@ -1,5 +1,7 @@ include ../Makefile.tests_common +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno + USEMODULE += xtimer USEMODULE += srf02 USEMODULE += shell diff --git a/tests/driver_sx127x/Makefile b/tests/driver_sx127x/Makefile index b64a23ca2dd2051b5d5e47c983f62a1807dee99b..6c449570f874b866ca965c1e37bc2fe34e1af0a1 100644 --- a/tests/driver_sx127x/Makefile +++ b/tests/driver_sx127x/Makefile @@ -1,6 +1,6 @@ include ../Makefile.tests_common -BOARD_INSUFFICIENT_MEMORY := nucleo-f031k6 +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno nucleo-f031k6 BOARD ?= nucleo-l152re diff --git a/tests/driver_xbee/Makefile b/tests/driver_xbee/Makefile index cd0128b011a98f37129400fac00a6c522991fe86..84d09bfa1bc017ac2cf97e52006e9ed79a01802e 100644 --- a/tests/driver_xbee/Makefile +++ b/tests/driver_xbee/Makefile @@ -1,6 +1,7 @@ include ../Makefile.tests_common -BOARD_INSUFFICIENT_MEMORY := nucleo-f031k6 nucleo-f042k6 nucleo-f030r8 nucleo-f334r8 \ +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno nucleo-f031k6 \ + nucleo-f042k6 nucleo-f030r8 nucleo-f334r8 \ stm32f0discovery USEMODULE += xbee diff --git a/tests/emb6/Makefile b/tests/emb6/Makefile index 3a5a979ab6fcccf977ac17966907f919021ad258..1063f656935276a6d575fb7b103f3d072c1a7766 100644 --- a/tests/emb6/Makefile +++ b/tests/emb6/Makefile @@ -5,9 +5,10 @@ include ../Makefile.tests_common # MSP-430 doesn't support C11's atomic functionality yet BOARD_BLACKLIST := msb-430 msb-430h telosb wsn430-v1_3b wsn430-v1_4 z1 -BOARD_INSUFFICIENT_MEMORY := msb-430 msb-430h nucleo-l031k6 nucleo-f031k6 \ - nucleo-f042k6 nucleo-l053r8 stm32f0discovery telosb \ - wsn430-v1_3b wsn430-v1_4 z1 +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno \ + msb-430 msb-430h nucleo-l031k6 nucleo-f031k6 \ + nucleo-f042k6 nucleo-l053r8 stm32f0discovery \ + telosb wsn430-v1_3b wsn430-v1_4 z1 USEPKG += emb6 diff --git a/tests/gnrc_ipv6_ext/Makefile b/tests/gnrc_ipv6_ext/Makefile index 92821586f9a4f067812387b87dd01f20cdfbf38d..b33b1217fe6da84f1fab3e48e5fb085b39f152f2 100644 --- a/tests/gnrc_ipv6_ext/Makefile +++ b/tests/gnrc_ipv6_ext/Makefile @@ -1,10 +1,11 @@ # name of your application include ../Makefile.tests_common -BOARD_INSUFFICIENT_MEMORY := chronos msb-430 msb-430h nucleo-f030r8 \ +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-mega2560 arduino-uno \ + chronos msb-430 msb-430h nucleo-f030r8 \ nucleo-f031k6 nucleo-f042k6 nucleo-f303k8 \ nucleo-f334r8 nucleo-l031k6 nucleo-l053r8 \ - stm32f0discovery + stm32f0discovery waspmote-pro # use Ethernet as link-layer protocol USEMODULE += netdev_eth diff --git a/tests/gnrc_ipv6_nib/Makefile b/tests/gnrc_ipv6_nib/Makefile index c1a28d2ecd33e490c4ad1fe77ff6add7203b2e10..784070b893135e16755614ac80f94613d141de49 100644 --- a/tests/gnrc_ipv6_nib/Makefile +++ b/tests/gnrc_ipv6_nib/Makefile @@ -1,6 +1,7 @@ include ../Makefile.tests_common -BOARD_INSUFFICIENT_MEMORY := chronos nucleo-f031k6 nucleo-f042k6 nucleo-l031k6 \ +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno \ + chronos nucleo-f031k6 nucleo-f042k6 nucleo-l031k6 \ telosb wsn430-v1_3b wsn430-v1_4 USEMODULE += gnrc_ipv6 diff --git a/tests/gnrc_ipv6_nib_6ln/Makefile b/tests/gnrc_ipv6_nib_6ln/Makefile index 01997982d5735c3878a55ccaf00aa1d50c047c1e..e1730d8ccaebda2a89944048f0252730b853cc6e 100644 --- a/tests/gnrc_ipv6_nib_6ln/Makefile +++ b/tests/gnrc_ipv6_nib_6ln/Makefile @@ -1,8 +1,9 @@ include ../Makefile.tests_common -BOARD_INSUFFICIENT_MEMORY := chronos nucleo-f030r8 nucleo-l053r8 nucleo-f031k6 \ +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-mega2560 arduino-uno \ + chronos nucleo-f030r8 nucleo-l053r8 nucleo-f031k6 \ nucleo-l031k6 nucleo-f042k6 stm32f0discovery \ - telosb wsn430-v1_3b wsn430-v1_4 + telosb waspmote-pro wsn430-v1_3b wsn430-v1_4 USEMODULE += gnrc_ipv6 USEMODULE += gnrc_sixlowpan diff --git a/tests/gnrc_ndp/Makefile b/tests/gnrc_ndp/Makefile index f4b72ea451b39eb308dd50e8012bde7c87fd0138..3420d0e98c389630b6be7a9e1e0746150260f79d 100644 --- a/tests/gnrc_ndp/Makefile +++ b/tests/gnrc_ndp/Makefile @@ -1,7 +1,8 @@ include ../Makefile.tests_common -BOARD_INSUFFICIENT_MEMORY := chronos nucleo-f031k6 nucleo-f042k6 nucleo-l031k6 \ - telosb wsn430-v1_3b wsn430-v1_4 +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-mega2560 arduino-uno \ + chronos nucleo-f031k6 nucleo-f042k6 nucleo-l031k6 \ + telosb waspmote-pro wsn430-v1_3b wsn430-v1_4 USEMODULE += gnrc_ipv6_nib_router USEMODULE += gnrc_ndp diff --git a/tests/gnrc_netif/Makefile b/tests/gnrc_netif/Makefile index 51a67dc715908d7512c4fb902961ad1d71957ce9..78b4840958bb301d3c5ee039031a46cefdfc98b6 100644 --- a/tests/gnrc_netif/Makefile +++ b/tests/gnrc_netif/Makefile @@ -1,13 +1,16 @@ include ../Makefile.tests_common -BOARD_INSUFFICIENT_MEMORY := airfy-beacon b-l072z-lrwan1 bluepill calliope-mini \ - cc2650-launchpad cc2650stk chronos hifive1 maple-mini \ - microbit msb-430 msb-430h nrf51dongle nrf6310 \ - nucleo-f030r8 nucleo-f070rb nucleo-f072rb nucleo-f103rb \ - nucleo-f302r8 nucleo-f334r8 nucleo-l053r8 nucleo-l073rz \ - nucleo-f031k6 nucleo-f042k6 nucleo-f303k8 \ - nucleo-l031k6 opencm904 spark-core \ - stm32f0discovery stm32mindev telosb \ +BOARD_INSUFFICIENT_MEMORY := airfy-beacon arduino-duemilanove arduino-mega2560 \ + arduino-uno b-l072z-lrwan1 bluepill calliope-mini \ + cc2650-launchpad cc2650stk chronos hifive1 \ + maple-mini mega-xplained microbit \ + msb-430 msb-430h nrf51dongle nrf6310 \ + nucleo-f030r8 nucleo-f070rb nucleo-f072rb \ + nucleo-f103rb nucleo-f302r8 nucleo-f334r8 \ + nucleo-l053r8 nucleo-l073rz nucleo-f031k6 \ + nucleo-f042k6 nucleo-f303k8 nucleo-l031k6 \ + opencm904 spark-core stm32f0discovery stm32mindev \ + telosb waspmote-pro \ wsn430-v1_3b wsn430-v1_4 yunjia-nrf51822 z1 USEMODULE += embunit diff --git a/tests/gnrc_sixlowpan/Makefile b/tests/gnrc_sixlowpan/Makefile index 2aac2e8cf4cb15f5634f20723261d1589bded66f..c46439ecfff6cd1d7b5b279795eca59d4edfac6f 100644 --- a/tests/gnrc_sixlowpan/Makefile +++ b/tests/gnrc_sixlowpan/Makefile @@ -1,11 +1,13 @@ # name of your application include ../Makefile.tests_common -BOARD_INSUFFICIENT_MEMORY := chronos hifive1 msb-430 msb-430h nucleo-f030r8 \ +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-mega2560 arduino-uno \ + chronos hifive1 msb-430 msb-430h nucleo-f030r8 \ nucleo-f031k6 nucleo-f042k6 nucleo-f070rb \ nucleo-f070rb nucleo-f072rb nucleo-f303k8 \ nucleo-f334r8 nucleo-l031k6 nucleo-l053r8 \ - stm32f0discovery telosb wsn430-v1_3b wsn430-v1_4 z1 + stm32f0discovery telosb waspmote-pro \ + wsn430-v1_3b wsn430-v1_4 z1 # use IEEE 802.15.4 as link-layer protocol USEMODULE += netdev_ieee802154 diff --git a/tests/gnrc_sock_dns/Makefile b/tests/gnrc_sock_dns/Makefile index c207e1052fb3bf5d07e6f238601a1221204ed374..4ef2c75de3f3a70a956e73e63a42daaebd7842e5 100644 --- a/tests/gnrc_sock_dns/Makefile +++ b/tests/gnrc_sock_dns/Makefile @@ -2,9 +2,10 @@ include ../Makefile.tests_common RIOTBASE ?= $(CURDIR)/../.. -BOARD_INSUFFICIENT_MEMORY := chronos telosb nucleo-f042k6 nucleo-f031k6 \ +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-mega2560 arduino-uno \ + chronos telosb nucleo-f042k6 nucleo-f031k6 \ nucleo-f030r8 nucleo-f303k8 nucleo-l053r8 \ - nucleo-l031k6 stm32f0discovery z1 + nucleo-l031k6 stm32f0discovery waspmote-pro z1 USEMODULE += sock_dns USEMODULE += gnrc_sock_udp diff --git a/tests/gnrc_sock_ip/Makefile b/tests/gnrc_sock_ip/Makefile index a437af7174e38cfa60985b634b19f10a30ccb27b..1d1b55fe14480e7af1318c8f6d5b0045d845c85f 100644 --- a/tests/gnrc_sock_ip/Makefile +++ b/tests/gnrc_sock_ip/Makefile @@ -1,6 +1,7 @@ include ../Makefile.tests_common -BOARD_INSUFFICIENT_MEMORY := chronos nucleo-f031k6 nucleo-f042k6 nucleo-l031k6 +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno \ + chronos nucleo-f031k6 nucleo-f042k6 nucleo-l031k6 USEMODULE += gnrc_sock_ip USEMODULE += gnrc_ipv6 diff --git a/tests/gnrc_sock_udp/Makefile b/tests/gnrc_sock_udp/Makefile index e4b922e6aa9dd1226720c90083cc7d370b88ac5d..7cb3e91142da4b285f49b14a58b4152a2a1ef779 100644 --- a/tests/gnrc_sock_udp/Makefile +++ b/tests/gnrc_sock_udp/Makefile @@ -1,6 +1,7 @@ include ../Makefile.tests_common -BOARD_INSUFFICIENT_MEMORY := chronos nucleo-f031k6 nucleo-f042k6 nucleo-l031k6 +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno \ + chronos nucleo-f031k6 nucleo-f042k6 nucleo-l031k6 USEMODULE += gnrc_sock_check_reuse USEMODULE += gnrc_sock_udp diff --git a/tests/gnrc_tcp_client/Makefile b/tests/gnrc_tcp_client/Makefile index 42f60f09113e407b29fafd4a67e93cb4d95ebcc4..70427a045b6f737792a575ea751378f32de90be1 100644 --- a/tests/gnrc_tcp_client/Makefile +++ b/tests/gnrc_tcp_client/Makefile @@ -15,7 +15,7 @@ BOARD_INSUFFICIENT_MEMORY := airfy-beacon arduino-duemilanove arduino-mega2560 \ nucleo-f042k6 nucleo-f303k8 nucleo-l031k6 nucleo-f030r8 \ nucleo-f070rb nucleo-f072rb nucleo-f302r8 nucleo-f334r8 nucleo-l053r8 \ sb-430 sb-430h stm32f0discovery telosb \ - wsn430-v1_3b wsn430-v1_4 yunjia-nrf51822 z1 + waspmote-pro wsn430-v1_3b wsn430-v1_4 yunjia-nrf51822 z1 # Target Address, Target Port and number of Test Cycles CFLAGS += -DTARGET_ADDR=\"$(TCP_TARGET_ADDR)\" diff --git a/tests/gnrc_tcp_server/Makefile b/tests/gnrc_tcp_server/Makefile index 0ea14225b20e491dd9ab8b973daab9a7a8a4f861..fcbeb7ebcff941dfe8b463c7767a14c4c81eac32 100644 --- a/tests/gnrc_tcp_server/Makefile +++ b/tests/gnrc_tcp_server/Makefile @@ -15,7 +15,7 @@ BOARD_INSUFFICIENT_MEMORY := airfy-beacon arduino-duemilanove arduino-mega2560 \ nucleo-f042k6 nucleo-f303k8 nucleo-l031k6 nucleo-f030r8 \ nucleo-f070rb nucleo-f072rb nucleo-f302r8 nucleo-f334r8 nucleo-l053r8 \ sb-430 sb-430h stm32f0discovery telosb \ - wsn430-v1_3b wsn430-v1_4 yunjia-nrf51822 z1 + waspmote-pro wsn430-v1_3b wsn430-v1_4 yunjia-nrf51822 z1 # This has to be the absolute path to the RIOT base directory: RIOTBASE ?= $(CURDIR)/../.. diff --git a/tests/gnrc_udp/Makefile b/tests/gnrc_udp/Makefile index 9496288ee718ca40a5eec6690d9db3bd4187a77f..f5bad0c7c8219fbcd35920269f7fda482fb6a892 100644 --- a/tests/gnrc_udp/Makefile +++ b/tests/gnrc_udp/Makefile @@ -1,10 +1,12 @@ include ../Makefile.tests_common -BOARD_INSUFFICIENT_MEMORY := calliope-mini chronos hifive1 microbit msb-430 msb-430h \ +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-mega2560 arduino-uno \ + calliope-mini chronos hifive1 mega-xplained \ + microbit msb-430 msb-430h \ nucleo-f031k6 nucleo-f042k6 nucleo-f303k8 nucleo-l031k6 \ nucleo-f030r8 nucleo-f070rb nucleo-f072rb nucleo-f103rb nucleo-f302r8 \ nucleo-f334r8 nucleo-l053r8 spark-core stm32f0discovery telosb \ - wsn430-v1_3b wsn430-v1_4 z1 + waspmote-pro wsn430-v1_3b wsn430-v1_4 z1 USEMODULE += gnrc_netdev_default USEMODULE += auto_init_gnrc_netif diff --git a/tests/mutex_order/Makefile b/tests/mutex_order/Makefile index a27f69488a7266d3439edd44a11db42424506fb6..50b19f2d4c5ed25f6d612265d4b76cb3fd861016 100644 --- a/tests/mutex_order/Makefile +++ b/tests/mutex_order/Makefile @@ -1,7 +1,8 @@ include ../Makefile.tests_common -BOARD_INSUFFICIENT_MEMORY := nucleo-f031k6 nucleo-f042k6 nucleo-l031k6 nucleo-f030r8 \ - nucleo-l053r8 stm32f0discovery +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno \ + nucleo-f031k6 nucleo-f042k6 nucleo-l031k6 \ + nucleo-f030r8 nucleo-l053r8 stm32f0discovery # list of boards to run CI tests on TEST_ON_CI_WHITELIST += all diff --git a/tests/netdev_test/Makefile b/tests/netdev_test/Makefile index eae854b2527453fe1239e22c1ed7f9ef398630c7..c21964f7c7a1026f6d0a34accc3421165734e8ab 100644 --- a/tests/netdev_test/Makefile +++ b/tests/netdev_test/Makefile @@ -4,7 +4,7 @@ CFLAGS += -DNDEBUG include ../Makefile.tests_common -BOARD_INSUFFICIENT_MEMORY := nucleo-f031k6 +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno nucleo-f031k6 DISABLE_MODULE = auto_init diff --git a/tests/periph_gpio/Makefile b/tests/periph_gpio/Makefile index 0f7a94789cf928191173146b5e9dfd8e4b1aa3af..d85c7857fa5231d0ba844294420f2f0297a05c5f 100644 --- a/tests/periph_gpio/Makefile +++ b/tests/periph_gpio/Makefile @@ -1,5 +1,7 @@ include ../Makefile.tests_common +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno + FEATURES_REQUIRED = periph_gpio FEATURES_REQUIRED = periph_gpio_irq diff --git a/tests/periph_i2c/Makefile b/tests/periph_i2c/Makefile index 1aa079ca54cea2a669b2cd81d6b5d67fab7a0f8e..1330f7d5e8effcc657b5b9d1ae9060b93ab19b19 100644 --- a/tests/periph_i2c/Makefile +++ b/tests/periph_i2c/Makefile @@ -1,6 +1,8 @@ BOARD ?= samr21-xpro include ../Makefile.tests_common +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno + FEATURES_REQUIRED = periph_i2c USEMODULE += shell diff --git a/tests/periph_spi/Makefile b/tests/periph_spi/Makefile index 08c878f652426de55b8a2598c374f52ff8564fcd..41ddca047d91c2f73a320162de5e36d80b9b46a0 100644 --- a/tests/periph_spi/Makefile +++ b/tests/periph_spi/Makefile @@ -1,6 +1,8 @@ BOARD ?= samr21-xpro include ../Makefile.tests_common +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno + FEATURES_REQUIRED = periph_spi USEMODULE += xtimer diff --git a/tests/periph_timer/Makefile b/tests/periph_timer/Makefile index 15a83f2b06c361e6ebfc0b4e824c6f499e385e39..ed54ce0ab54eef920a45c03fc9ab3b5096ee4c53 100644 --- a/tests/periph_timer/Makefile +++ b/tests/periph_timer/Makefile @@ -1,5 +1,7 @@ include ../Makefile.tests_common +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno + FEATURES_REQUIRED = periph_timer TEST_ON_CI_WHITELIST += all diff --git a/tests/periph_uart/Makefile b/tests/periph_uart/Makefile index 5047bb56daa82498e3c09a278e41a419e7074c76..41a176e74dec16d5c2be92157f7eeea7c72fd10c 100644 --- a/tests/periph_uart/Makefile +++ b/tests/periph_uart/Makefile @@ -1,6 +1,6 @@ include ../Makefile.tests_common -BOARD_INSUFFICIENT_MEMORY := nucleo-f031k6 +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno nucleo-f031k6 FEATURES_REQUIRED = periph_uart diff --git a/tests/pkg_fatfs/Makefile b/tests/pkg_fatfs/Makefile index b9e0e983985a2c02d8785924eeb762d21076902e..ba471515e514b70c7227e45c7b559243cb31c392 100644 --- a/tests/pkg_fatfs/Makefile +++ b/tests/pkg_fatfs/Makefile @@ -2,6 +2,8 @@ include ../Makefile.tests_common BOARD ?= native +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno + FEATURES_OPTIONAL += periph_rtc # this list is composed of boards that support spi/gpio + native diff --git a/tests/pkg_fatfs_vfs/Makefile b/tests/pkg_fatfs_vfs/Makefile index 2df78d9dedf039da450037871e75e72c4b945414..d04164ca8abfda0cd94a0c0c9f5071c1263ea2fb 100644 --- a/tests/pkg_fatfs_vfs/Makefile +++ b/tests/pkg_fatfs_vfs/Makefile @@ -25,7 +25,8 @@ else USEMODULE += mtd_sdcard endif -BOARD_INSUFFICIENT_MEMORY := msb-430 msb-430h nucleo-f031k6 telosb \ +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno \ + msb-430 msb-430h nucleo-f031k6 telosb \ wsn430-v1_3b wsn430-v1_4 z1 # this list is composed of boards with sufficient memory and support spi/gpio + native diff --git a/tests/pkg_micro-ecc/Makefile b/tests/pkg_micro-ecc/Makefile index 2278cd1e91e07922760f1448cb446df90d40528c..a9d2935d72ee630338b945c8aa4ba71c8a30452d 100644 --- a/tests/pkg_micro-ecc/Makefile +++ b/tests/pkg_micro-ecc/Makefile @@ -1,5 +1,7 @@ include ../Makefile.tests_common +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno + USEMODULE += hashes USEPKG += micro-ecc diff --git a/tests/pkg_microcoap/Makefile b/tests/pkg_microcoap/Makefile index b7b5479d0aa77ccd69addb36bc27f5ddec53f8be..6f0a3fa187c1a65d395ed758f95c89002e8ef622 100644 --- a/tests/pkg_microcoap/Makefile +++ b/tests/pkg_microcoap/Makefile @@ -1,8 +1,10 @@ include ../Makefile.tests_common -BOARD_INSUFFICIENT_MEMORY := chronos msb-430 msb-430h nucleo-f031k6 nucleo-f042k6 \ - nucleo-f303k8 nucleo-l031k6 nucleo-f030r8 \ - nucleo-l053r8 stm32f0discovery telosb z1 +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-mega2560 arduino-uno \ + chronos msb-430 msb-430h nucleo-f031k6 \ + nucleo-f042k6 nucleo-f303k8 nucleo-l031k6 \ + nucleo-f030r8 nucleo-l053r8 stm32f0discovery \ + telosb waspmote-pro z1 # Include packages that pull up and auto-init the link layer. # NOTE: 6LoWPAN will be included if IEEE802.15.4 devices are present diff --git a/tests/pkg_semtech-loramac/Makefile b/tests/pkg_semtech-loramac/Makefile index 2a08494661d78609622e6fd543450d8f3c0bfeb1..2324bba50e346c4098683888526d7162c3749e69 100644 --- a/tests/pkg_semtech-loramac/Makefile +++ b/tests/pkg_semtech-loramac/Makefile @@ -2,7 +2,8 @@ BOARD ?= b-l072z-lrwan1 include ../Makefile.tests_common -BOARD_INSUFFICIENT_MEMORY := nucleo-f031k6 nucleo-f042k6 nucleo-l031k6 +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno \ + nucleo-f031k6 nucleo-f042k6 nucleo-l031k6 BOARD_BLACKLIST := msb-430 msb-430h telosb wsn430-v1_3b wsn430-v1_4 z1 diff --git a/tests/pkg_tiny-asn1/Makefile b/tests/pkg_tiny-asn1/Makefile index e47e3642ac205474f991bb6a5eae31be0a9c4e20..c3f90123bf26aab6f36dc866c12c11daae2b4bfa 100644 --- a/tests/pkg_tiny-asn1/Makefile +++ b/tests/pkg_tiny-asn1/Makefile @@ -1,5 +1,7 @@ include ../Makefile.tests_common +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno + BOARD_BLACKLIST := wsn430-v1_3b wsn430-v1_4 USEPKG += tiny-asn1 diff --git a/tests/pkg_u8g2/Makefile b/tests/pkg_u8g2/Makefile index b1bcc9660b77467a391881d2f6fc5019f620b081..3fb3e40a7d7581bf5ae4ad0e09b4398634b7a14b 100644 --- a/tests/pkg_u8g2/Makefile +++ b/tests/pkg_u8g2/Makefile @@ -1,6 +1,7 @@ include ../Makefile.tests_common -BOARD_INSUFFICIENT_MEMORY := chronos msb-430 msb-430h nucleo-f031k6 telosb \ +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno \ + chronos msb-430 msb-430h nucleo-f031k6 telosb \ wsn430-v1_3b wsn430-v1_4 z1 USEMODULE += xtimer diff --git a/tests/pkg_ucglib/Makefile b/tests/pkg_ucglib/Makefile index 8133b1d6a20bc9bebbb7c9f1deb67ea1b94cdd09..e8bc8a5e155eefca29cbbc474a13f836b733df54 100644 --- a/tests/pkg_ucglib/Makefile +++ b/tests/pkg_ucglib/Makefile @@ -1,5 +1,8 @@ include ../Makefile.tests_common +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-mega2560 arduino-uno \ + waspmote-pro + USEMODULE += xtimer USEPKG += ucglib diff --git a/tests/posix_semaphore/Makefile b/tests/posix_semaphore/Makefile index a23002e7f6c483cca85792265188ec5f81fe4bf1..d8020e8dceb7a79cfd70abba1016ef6e475ce891 100644 --- a/tests/posix_semaphore/Makefile +++ b/tests/posix_semaphore/Makefile @@ -1,9 +1,11 @@ include ../Makefile.tests_common -BOARD_INSUFFICIENT_MEMORY := chronos mbed_lpc1768 msb-430 msb-430h nrf6310 \ - nucleo-f031k6 nucleo-f042k6 nucleo-l031k6 nucleo-f030r8 \ - nucleo-f303k8 nucleo-f334r8 nucleo-l053r8 \ - spark-core stm32f0discovery yunjia-nrf51822 +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno \ + chronos mbed_lpc1768 msb-430 msb-430h nrf6310 \ + nucleo-f031k6 nucleo-f042k6 nucleo-l031k6 \ + nucleo-f030r8 nucleo-f303k8 nucleo-f334r8 \ + nucleo-l053r8 spark-core stm32f0discovery \ + yunjia-nrf51822 USEMODULE += fmt USEMODULE += posix_semaphore diff --git a/tests/ps_schedstatistics/Makefile b/tests/ps_schedstatistics/Makefile index 862dd8b714b22301f357f8a345fee93f3647a108..da3c3cb20012444f7b32ac0b120d75540f08a498 100644 --- a/tests/ps_schedstatistics/Makefile +++ b/tests/ps_schedstatistics/Makefile @@ -1,9 +1,10 @@ include ../Makefile.tests_common -BOARD_INSUFFICIENT_MEMORY := chronos msb-430 msb-430h nucleo-f030r8 nucleo-l053r8 \ - nucleo-f031k6 nucleo-f042k6 nucleo-l031k6 \ - stm32f0discovery telosb wsn430-v1_3b \ - wsn430-v1_4 z1 +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno \ + chronos msb-430 msb-430h nucleo-f030r8 \ + nucleo-l053r8 nucleo-f031k6 nucleo-f042k6 \ + nucleo-l031k6 stm32f0discovery telosb \ + wsn430-v1_3b wsn430-v1_4 z1 USEMODULE += shell USEMODULE += shell_commands diff --git a/tests/rmutex/Makefile b/tests/rmutex/Makefile index aa662e3963aa2a799f2e73f6f13b894ff9cf34c5..f094dbda4929eae0b11fbc75a0825289a0526768 100644 --- a/tests/rmutex/Makefile +++ b/tests/rmutex/Makefile @@ -1,7 +1,8 @@ include ../Makefile.tests_common -BOARD_INSUFFICIENT_MEMORY := nucleo-f031k6 nucleo-f042k6 nucleo-l031k6 nucleo-f030r8 \ - nucleo-l053r8 stm32f0discovery +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno \ + nucleo-f031k6 nucleo-f042k6 nucleo-l031k6 \ + nucleo-f030r8 nucleo-l053r8 stm32f0discovery TEST_ON_CI_WHITELIST += all diff --git a/tests/slip/Makefile b/tests/slip/Makefile index d800f18d1178ed2b8f4405dda15ff41a5f302f0b..6ea1647fadfdf344ce7264289664e744a4914468 100644 --- a/tests/slip/Makefile +++ b/tests/slip/Makefile @@ -1,8 +1,10 @@ include ../Makefile.tests_common -BOARD_INSUFFICIENT_MEMORY := msb-430 msb-430h nucleo-f031k6 nucleo-f042k6 \ +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-mega2560 arduino-uno \ + msb-430 msb-430h nucleo-f031k6 nucleo-f042k6 \ nucleo-l031k6 nucleo-f030r8 nucleo-f303k8 \ - nucleo-f334r8 nucleo-l053r8 stm32f0discovery + nucleo-f334r8 nucleo-l053r8 stm32f0discovery \ + waspmote-pro BOARD_BLACKLIST += mips-malta diff --git a/tests/sntp/Makefile b/tests/sntp/Makefile index 7621932b873d85728ebbd591742060ec759424fb..cd0a9f5bc112139f617f08f6686dd5e83222d167 100644 --- a/tests/sntp/Makefile +++ b/tests/sntp/Makefile @@ -1,9 +1,11 @@ include ../Makefile.tests_common -BOARD_INSUFFICIENT_MEMORY := chronos msb-430 msb-430h nucleo-f031k6 \ +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-mega2560 arduino-uno \ + chronos msb-430 msb-430h nucleo-f031k6 \ nucleo-f042k6 nucleo-l031k6 nucleo-f030r8 \ nucleo-f303k8 nucleo-f334r8 nucleo-l053r8 \ - stm32f0discovery telosb wsn430-v1_3b wsn430-v1_4 z1 + stm32f0discovery telosb waspmote-pro \ + wsn430-v1_3b wsn430-v1_4 z1 USEMODULE += sntp USEMODULE += gnrc_sock_udp diff --git a/tests/thread_cooperation/Makefile b/tests/thread_cooperation/Makefile index 893d1c0c590d52f508a8528dd000a8da8c453f57..a237e853a844277e9291920fbc6b5a0950ab5c0b 100644 --- a/tests/thread_cooperation/Makefile +++ b/tests/thread_cooperation/Makefile @@ -1,6 +1,7 @@ include ../Makefile.tests_common -BOARD_INSUFFICIENT_MEMORY := chronos msb-430 msb-430h nucleo-f031k6 \ +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno \ + chronos msb-430 msb-430h nucleo-f031k6 \ nucleo-f303k8 DISABLE_MODULE += auto_init diff --git a/tests/thread_msg/Makefile b/tests/thread_msg/Makefile index de021461e54c2e899d63fc6a533df34b3e121d13..b8ecb2778554f0243078bb68ea3c93ce6c1b0729 100644 --- a/tests/thread_msg/Makefile +++ b/tests/thread_msg/Makefile @@ -1,6 +1,7 @@ include ../Makefile.tests_common -BOARD_INSUFFICIENT_MEMORY := nucleo-f031k6 nucleo-f042k6 +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno \ + nucleo-f031k6 nucleo-f042k6 DISABLE_MODULE += auto_init diff --git a/tests/thread_msg_seq/Makefile b/tests/thread_msg_seq/Makefile index 6b90efb53824aafb8bd55b3099a3248b945fd7f9..e84269ad9b3202cc8b55c6dc20db186b8a0215b5 100644 --- a/tests/thread_msg_seq/Makefile +++ b/tests/thread_msg_seq/Makefile @@ -1,6 +1,7 @@ include ../Makefile.tests_common -BOARD_INSUFFICIENT_MEMORY := nucleo-f031k6 nucleo-f042k6 +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno \ + nucleo-f031k6 nucleo-f042k6 DISABLE_MODULE += auto_init diff --git a/tests/thread_priority_inversion/Makefile b/tests/thread_priority_inversion/Makefile index fb68091e216590ae4ba8dd54d8ea2549004c3ebb..19dbce64e1d151afa6032f90b68e7177e440c5a8 100644 --- a/tests/thread_priority_inversion/Makefile +++ b/tests/thread_priority_inversion/Makefile @@ -1,7 +1,8 @@ include ../Makefile.tests_common + USEMODULE += xtimer -BOARD_INSUFFICIENT_MEMORY := nucleo-f031k6 +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno nucleo-f031k6 include $(RIOTBASE)/Makefile.include diff --git a/tests/xtimer_drift/Makefile b/tests/xtimer_drift/Makefile index 0a59269b7140ac30b7f83a77510fb3ce9266dd93..78cb3c36c99650c5a9ef65e116089caf203294cc 100644 --- a/tests/xtimer_drift/Makefile +++ b/tests/xtimer_drift/Makefile @@ -1,6 +1,7 @@ include ../Makefile.tests_common -BOARD_INSUFFICIENT_MEMORY := nucleo-f031k6 nucleo-f042k6 +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno \ + nucleo-f031k6 nucleo-f042k6 USEMODULE += xtimer diff --git a/tests/xtimer_longterm/Makefile b/tests/xtimer_longterm/Makefile index 0a59269b7140ac30b7f83a77510fb3ce9266dd93..78cb3c36c99650c5a9ef65e116089caf203294cc 100644 --- a/tests/xtimer_longterm/Makefile +++ b/tests/xtimer_longterm/Makefile @@ -1,6 +1,7 @@ include ../Makefile.tests_common -BOARD_INSUFFICIENT_MEMORY := nucleo-f031k6 nucleo-f042k6 +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno \ + nucleo-f031k6 nucleo-f042k6 USEMODULE += xtimer diff --git a/tests/xtimer_periodic_wakeup/Makefile b/tests/xtimer_periodic_wakeup/Makefile index c5da8cf3234bd4141fc60c22e30dcac11abc7b2f..1789adbfdd1984def2b32977c77bd19feecec566 100644 --- a/tests/xtimer_periodic_wakeup/Makefile +++ b/tests/xtimer_periodic_wakeup/Makefile @@ -1,6 +1,6 @@ include ../Makefile.tests_common -BOARD_INSUFFICIENT_MEMORY := chronos +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno chronos USEMODULE += xtimer