diff --git a/boards/common/arduino-atmega/include/board_common.h b/boards/common/arduino-atmega/include/board_common.h index 6694f2a93a27..a433f164aaa5 100644 --- a/boards/common/arduino-atmega/include/board_common.h +++ b/boards/common/arduino-atmega/include/board_common.h @@ -59,6 +59,20 @@ extern "C" { #define LED0_TOGGLE (PORTB ^= LED0_MASK) /** @} */ +/** + * @name Usage of LED to turn on when a kernel panic occurs. + * @{ + */ +#define LED_PANIC LED0_ON +/** @} */ + +/** + * @name CPU clock scale for arduino boards + * + */ +#define CPU_ATMEGA_CLK_SCALE_INIT CPU_ATMEGA_CLK_SCALE_DIV1 +/** @} */ + /** * @name xtimer configuration values * @{ diff --git a/boards/jiminy-mega256rfr2/include/board.h b/boards/jiminy-mega256rfr2/include/board.h index 410addb56b44..5379ffff0d0e 100644 --- a/boards/jiminy-mega256rfr2/include/board.h +++ b/boards/jiminy-mega256rfr2/include/board.h @@ -73,6 +73,13 @@ extern "C" { #define LED2_TOGGLE (LED_PORT ^= LED2_MASK) /** @} */ +/** + * @name White LED light is used to signal ERROR. + * @{ + */ +#define LED_PANIC (LED_PORT |= LED2_MASK | LED1_MASK | LED0_MASK) +/** @} */ + /** * @name xtimer configuration values * @{ @@ -83,6 +90,40 @@ extern "C" { #define XTIMER_HZ (125000UL) /** @} */ +/** + * @name Indicate Watchdog cleared in bootloader an + * + * AVR CPUs need to reset the Watchdog as fast as possible. + * This flag indicates that the watchdog is reseted in the bootloader + * and that the MCUSR value is stored in register 2 (r2) + * @{ + */ +#define BOOTLOADER_CLEARS_WATCHDOG_AND_PASSES_MCUSR 1 +/** @} */ + +/** + * @name Indicate Watchdog cleared in bootloader an + * + * AVR CPUs need to reset the Watchdog as fast as possible. + * This flag indicates that the watchdog is reseted in the bootloader + * and that the MCUSR value is stored in register 2 (r2) + * @{ + */ +#define BOOTLOADER_CLEARS_WATCHDOG_AND_PASSES_MCUSR 1 +/** @} */ + +/** + * @name CPU clock scale for jiminy-megarfr256rfr2 + * + * The CPU can not be used with the external xtal oscillator if the core + * should be put in sleep while the transceiver is in rx mode. + * + * It seems the as teh peripheral clock divider is set to 1 and this all + * clocks of the timer, etc run with 16MHz increasing power consumption. + */ +#define CPU_ATMEGA_CLK_SCALE_INIT CPU_ATMEGA_CLK_SCALE_DIV1 +/** @} */ + /** * @brief Initialize board specific hardware, including clock, LEDs and std-IO */ diff --git a/boards/mega-xplained/include/board.h b/boards/mega-xplained/include/board.h index f7021dd8296a..2e2176d1330d 100644 --- a/boards/mega-xplained/include/board.h +++ b/boards/mega-xplained/include/board.h @@ -90,6 +90,13 @@ extern "C" { #define LED3_TOGGLE PORTB ^= LED3_PIN /** @} */ +/** + * @name Usage of LED to turn on when a kernel panic occurs. + * @{ + */ +#define LED_PANIC LED1_ON +/** @} */ + /** * @name Button pin configuration * @{ @@ -111,6 +118,13 @@ extern "C" { #define FILTER_OUTPUT GPIO_PIN(PORT_A, 7) /** @} */ +/** + * @name CPU clock scale for mega-xplained + * + */ +#define CPU_ATMEGA_CLK_SCALE_INIT CPU_ATMEGA_CLK_SCALE_DIV1 +/** @} */ + /** * @brief Initialize board specific hardware, including clock, LEDs and std-IO */ diff --git a/boards/waspmote-pro/include/board.h b/boards/waspmote-pro/include/board.h index 8fa8a538ab95..24bd91676948 100644 --- a/boards/waspmote-pro/include/board.h +++ b/boards/waspmote-pro/include/board.h @@ -78,6 +78,13 @@ extern "C" { #define LED_RED_TOGGLE LED0_TOGGLE /** @} */ +/** + * @name Usage of LED to turn on when a kernel panic occurs. + * @{ + */ +#define LED_PANIC LED_RED_ON +/** @} */ + /** * @name Macros for controlling the on-board MUXes. * @{ @@ -143,6 +150,13 @@ extern "C" { MUX_USB_XBEE_ON /** @} */ +/** + * @name CPU clock scale for waspmote-pro + * + */ +#define CPU_ATMEGA_CLK_SCALE_INIT CPU_ATMEGA_CLK_SCALE_DIV1 +/** @} */ + /** * @name xtimer configuration values * @{ diff --git a/cpu/atmega1281/Makefile b/cpu/atmega1281/Makefile index e17e41db7225..8b5bf236d32d 100644 --- a/cpu/atmega1281/Makefile +++ b/cpu/atmega1281/Makefile @@ -1,5 +1,7 @@ # define the module that is build MODULE = cpu + # add a list of subdirectories, that should also be build -DIRS = $(ATMEGA_COMMON) +DIRS = $(RIOTCPU)/atmega_common/ + include $(RIOTBASE)/Makefile.base diff --git a/cpu/atmega1281/Makefile.include b/cpu/atmega1281/Makefile.include index 093660e72e8d..66add33aaaf2 100644 --- a/cpu/atmega1281/Makefile.include +++ b/cpu/atmega1281/Makefile.include @@ -1,15 +1,8 @@ # tell the build system that the CPU depends on the atmega common files USEMODULE += atmega_common -# define path to atmega common module, which is needed for this CPU -export ATMEGA_COMMON = $(RIOTCPU)/atmega_common/ - -# explicitly tell the linker to link the syscalls and startup code. -# 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 +include $(RIOTCPU)/atmega_common/Makefile.include diff --git a/cpu/atmega1281/cpu.c b/cpu/atmega1281/cpu.c deleted file mode 100644 index 2d184cf544db..000000000000 --- a/cpu/atmega1281/cpu.c +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright (C) 2014 Freie Universität Berlin, Hinnerk van Bruinehsen - * - * This file is subject to the terms and conditions of the GNU Lesser - * General Public License v2.1. See the file LICENSE in the top level - * directory for more details. - */ - -/** - * @ingroup cpu_atmega1281 - * @{ - * - * @file - * @brief Implementation of the CPU initialization - * - * @author Hinnerk van Bruinehsen - * @} - */ - -#include "cpu.h" -#include "periph/init.h" - -/** - * @brief Initialize the CPU, set IRQ priorities - */ -void cpu_init(void) -{ - /* trigger static peripheral initialization */ - periph_init(); -} diff --git a/cpu/atmega1281/include/cpu_conf.h b/cpu/atmega1281/include/cpu_conf.h deleted file mode 100644 index 438cbc70ed63..000000000000 --- a/cpu/atmega1281/include/cpu_conf.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (C) 2014 Freie Universität Berlin, Hinnerk van Bruinehsen - * - * This file is subject to the terms and conditions of the GNU Lesser - * General Public License v2.1. See the file LICENSE in the top level - * directory for more details. - */ - -/** - * @{ - * - * @file - * @brief Implementation specific CPU configuration options - * - * @author Hauke Petersen - * @author Hinnerk van Bruinehsen - */ - -#ifndef CPU_CONF_H -#define CPU_CONF_H - -#include "atmega_regs_common.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * @name Kernel configuration - * - * Since printf seems to get memory allocated by the linker/avr-libc the stack - * size tested successfully even with pretty small stacks. - * @{ - */ -#define THREAD_EXTRA_STACKSIZE_PRINTF (128) - -#ifndef THREAD_STACKSIZE_DEFAULT -# define THREAD_STACKSIZE_DEFAULT (256) -#endif - -#ifndef THREAD_STACKSIZE_IDLE -# define THREAD_STACKSIZE_IDLE (128) -#endif -/** @} */ - -#ifdef __cplusplus -} -#endif - -#endif /* CPU_CONF_H */ -/** @} */ diff --git a/cpu/atmega1281/startup.c b/cpu/atmega1281/startup.c deleted file mode 100644 index c6521055ef58..000000000000 --- a/cpu/atmega1281/startup.c +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright (C) 2014 Freie Universität Berlin, Hinnerk van Bruinehsen - * - * This file is subject to the terms and conditions of the GNU Lesser - * General Public License v2.1. See the file LICENSE in the top level - * directory for more details. - */ - -/** - * @ingroup cpu_atmega1281 - * @{ - * - * @file - * @brief Startup code and interrupt vector definition - * - * @author Hinnerk van Bruinehsen - * - * @} - */ - -#include -#include -#include - -/* For Catchall-Loop */ -#include "board.h" - - -/** - * @brief functions for initializing the board, std-lib and kernel - */ -extern void board_init(void); -extern void kernel_init(void); -extern void __libc_init_array(void); - -/** - * @brief This pair of functions hook circumvent the call to main - * - * avr-libc normally uses the .init9 section for a call to main. This call - * seems to be not replaceable without hacking inside the library. We - * circumvent the call to main by using section .init7 to call the function - * reset_handler which therefore is the real entry point and section .init8 - * which should never be reached but just in case jumps to exit. - * This way there should be no way to call main directly. - */ -void init7_ovr(void) __attribute__((naked)) __attribute__((section(".init7"))); -void init8_ovr(void) __attribute__((naked)) __attribute__((section(".init8"))); - - -void init7_ovr(void) -{ - __asm__("call reset_handler"); -} - -void init8_ovr(void) -{ - __asm__("jmp exit"); -} -/** - * @brief This function is the entry point after a system reset - * - * After a system reset, the following steps are necessary and carried out: - * 1. initialize the board (sync clock, setup std-IO) - * 2. initialize and start RIOTs kernel - */ -void reset_handler(void) -{ - /* initialize the board and startup the kernel */ - board_init(); - /* startup the kernel */ - kernel_init(); -} diff --git a/cpu/atmega1284p/Makefile b/cpu/atmega1284p/Makefile index 81f110b68d09..8b5bf236d32d 100644 --- a/cpu/atmega1284p/Makefile +++ b/cpu/atmega1284p/Makefile @@ -1,6 +1,7 @@ # define the module that is build MODULE = cpu + # add a list of subdirectories, that should also be build -DIRS = $(ATMEGA_COMMON) +DIRS = $(RIOTCPU)/atmega_common/ include $(RIOTBASE)/Makefile.base diff --git a/cpu/atmega1284p/Makefile.include b/cpu/atmega1284p/Makefile.include index 7575f04ff925..985d14cf9e42 100644 --- a/cpu/atmega1284p/Makefile.include +++ b/cpu/atmega1284p/Makefile.include @@ -1,11 +1,8 @@ # tell the build system that the CPU depends on the atmega common files 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 +include $(RIOTCPU)/atmega_common/Makefile.include diff --git a/cpu/atmega1284p/cpu.c b/cpu/atmega1284p/cpu.c deleted file mode 100644 index 1597edb175da..000000000000 --- a/cpu/atmega1284p/cpu.c +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright (C) 2014 Freie Universität Berlin, Hinnerk van Bruinehsen - * 2018 Matthew Blue - * - * This file is subject to the terms and conditions of the GNU Lesser - * General Public License v2.1. See the file LICENSE in the top level - * directory for more details. - */ - -/** - * @ingroup cpu_atmega1284p - * @{ - * - * @file - * @brief Implementation of the CPU initialization - * - * @author Hinnerk van Bruinehsen - * @author Matthew Blue - * @} - */ - -#include "cpu.h" -#include "periph/init.h" - -/** - * @brief Initialize the CPU, set IRQ priorities - */ -void cpu_init(void) -{ - /* trigger static peripheral initialization */ - periph_init(); -} diff --git a/cpu/atmega1284p/startup.c b/cpu/atmega1284p/startup.c deleted file mode 100644 index 7c4d8a56d7c0..000000000000 --- a/cpu/atmega1284p/startup.c +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright (C) 2014 Freie Universität Berlin, Hinnerk van Bruinehsen - * 2018 Matthew Blue - * - * This file is subject to the terms and conditions of the GNU Lesser - * General Public License v2.1. See the file LICENSE in the top level - * directory for more details. - */ - -/** - * @ingroup cpu_atmega1284p - * @{ - * - * @file - * @brief Startup code and interrupt vector definition - * - * @author Hinnerk van Bruinehsen - * @author Matthew Blue - * - * @} - */ - -#include -#include -#include - -/* For Catchall-Loop */ -#include "board.h" - - -/** - * @brief functions for initializing the board, std-lib and kernel - */ -extern void board_init(void); -extern void kernel_init(void); -extern void __libc_init_array(void); - -/** - * @brief This pair of functions hook circumvent the call to main - * - * avr-libc normally uses the .init9 section for a call to main. This call - * seems to be not replaceable without hacking inside the library. We - * circumvent the call to main by using section .init7 to call the function - * reset_handler which therefore is the real entry point and section .init8 - * which should never be reached but just in case jumps to exit. - * This way there should be no way to call main directly. - */ -void init7_ovr(void) __attribute__((naked)) __attribute__((section(".init7"))); -void init8_ovr(void) __attribute__((naked)) __attribute__((section(".init8"))); - - -void init7_ovr(void) -{ - __asm__("call reset_handler"); -} - -void init8_ovr(void) -{ - __asm__("jmp exit"); -} -/** - * @brief This function is the entry point after a system reset - * - * After a system reset, the following steps are necessary and carried out: - * 1. initialize the board (sync clock, setup std-IO) - * 2. initialize and start RIOTs kernel - */ -void reset_handler(void) -{ - /* initialize the board and startup the kernel */ - board_init(); - /* startup the kernel */ - kernel_init(); -} diff --git a/cpu/atmega2560/Makefile b/cpu/atmega2560/Makefile index e17e41db7225..8b5bf236d32d 100644 --- a/cpu/atmega2560/Makefile +++ b/cpu/atmega2560/Makefile @@ -1,5 +1,7 @@ # define the module that is build MODULE = cpu + # add a list of subdirectories, that should also be build -DIRS = $(ATMEGA_COMMON) +DIRS = $(RIOTCPU)/atmega_common/ + include $(RIOTBASE)/Makefile.base diff --git a/cpu/atmega2560/Makefile.include b/cpu/atmega2560/Makefile.include index 18bfb9a45476..16c500d37cc6 100644 --- a/cpu/atmega2560/Makefile.include +++ b/cpu/atmega2560/Makefile.include @@ -1,15 +1,8 @@ # tell the build system that the CPU depends on the atmega common files USEMODULE += atmega_common -# define path to atmega common module, which is needed for this CPU -export ATMEGA_COMMON = $(RIOTCPU)/atmega_common/ - -# explicitly tell the linker to link the syscalls and startup code. -# 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 +include $(RIOTCPU)/atmega_common/Makefile.include diff --git a/cpu/atmega2560/cpu.c b/cpu/atmega2560/cpu.c deleted file mode 100644 index 8ea4e28b5f0f..000000000000 --- a/cpu/atmega2560/cpu.c +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright (C) 2014 Freie Universität Berlin, Hinnerk van Bruinehsen - * - * This file is subject to the terms and conditions of the GNU Lesser - * General Public License v2.1. See the file LICENSE in the top level - * directory for more details. - */ - -/** - * @ingroup cpu_atmega2560 - * @{ - * - * @file - * @brief Implementation of the CPU initialization - * - * @author Hinnerk van Bruinehsen - * @} - */ - -#include "cpu.h" -#include "periph/init.h" - -/** - * @brief Initialize the CPU, set IRQ priorities - */ -void cpu_init(void) -{ - /* trigger static peripheral initialization */ - periph_init(); -} diff --git a/cpu/atmega2560/include/cpu_conf.h b/cpu/atmega2560/include/cpu_conf.h deleted file mode 100644 index 1e7f0eac9a05..000000000000 --- a/cpu/atmega2560/include/cpu_conf.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright (C) 2014 Freie Universität Berlin, Hinnerk van Bruinehsen - * - * This file is subject to the terms and conditions of the GNU Lesser - * General Public License v2.1. See the file LICENSE in the top level - * directory for more details. - */ - -/** - * @ingroup cpu_atmega2560 - * @{ - * - * @file - * @brief Implementation specific CPU configuration options - * - * @author Hauke Petersen - * @author Hinnerk van Bruinehsen - */ - -#ifndef CPU_CONF_H -#define CPU_CONF_H - -#include "atmega_regs_common.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * @name Kernel configuration - * - * Since printf seems to get memory allocated by the linker/avr-libc the stack - * size tested successfully even with pretty small stacks.k - * @{ - */ -#define THREAD_EXTRA_STACKSIZE_PRINTF (128) - -#ifndef THREAD_STACKSIZE_DEFAULT -#define THREAD_STACKSIZE_DEFAULT (256) -#endif - -#define THREAD_STACKSIZE_IDLE (128) -/** @} */ - -#ifdef __cplusplus -} -#endif - -#endif /* CPU_CONF_H */ -/** @} */ diff --git a/cpu/atmega2560/startup.c b/cpu/atmega2560/startup.c deleted file mode 100644 index b53d18f2dc2e..000000000000 --- a/cpu/atmega2560/startup.c +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Copyright (C) 2014 Freie Universität Berlin, Hinnerk van Bruinehsen - * - * This file is subject to the terms and conditions of the GNU Lesser - * General Public License v2.1. See the file LICENSE in the top level - * directory for more details. - */ - -/** - * @ingroup cpu_atmega2560 - * @{ - * - * @file - * @brief Startup code and interrupt vector definition - * - * @author Hinnerk van Bruinehsen - * - * @} - */ - -#include -#include -#include - -/* For Catchall-Loop */ -#include "board.h" - - -/** - * @brief functions for initializing the board, std-lib and kernel - */ -extern void board_init(void); -extern void kernel_init(void); -extern void __libc_init_array(void); - -/** - * @brief This pair of functions hook circumvent the call to main - * - * avr-libc normally uses the .init9 section for a call to main. This call - * seems to be not replaceable without hacking inside the library. We - * circumvent the call to main by using section .init7 to call the function - * reset_handler which therefore is the real entry point and section .init8 - * which should never be reached but just in case jumps to exit. - * This way there should be no way to call main directly. - */ -void init7_ovr(void) __attribute__((section(".init7"))); -void init8_ovr(void) __attribute__((section(".init8"))); - - -__attribute__((used,naked)) void init7_ovr(void) -{ - __asm__("call reset_handler"); -} - -__attribute__((used,naked)) void init8_ovr(void) -{ - __asm__("jmp exit"); -} - -/** - * @brief This function is the entry point after a system reset - * - * After a system reset, the following steps are necessary and carried out: - * 1. initialize the board (sync clock, setup std-IO) - * 2. initialize and start RIOTs kernel - */ -__attribute__((used)) void reset_handler(void) -{ - /* initialize the board and startup the kernel */ - board_init(); - /* startup the kernel */ - kernel_init(); -} diff --git a/cpu/atmega256rfr2/Makefile b/cpu/atmega256rfr2/Makefile index 5148810cfa67..bfe7b40097c9 100644 --- a/cpu/atmega256rfr2/Makefile +++ b/cpu/atmega256rfr2/Makefile @@ -1,5 +1,7 @@ # define the module that is build MODULE = cpu + # add a list of subdirectories, that should also be build -DIRS = periph $(ATMEGA_COMMON) +DIRS = periph $(RIOTCPU)/atmega_common/ + include $(RIOTBASE)/Makefile.base diff --git a/cpu/atmega256rfr2/Makefile.include b/cpu/atmega256rfr2/Makefile.include index 7d1eb48a2a9f..c7e4d680eaeb 100644 --- a/cpu/atmega256rfr2/Makefile.include +++ b/cpu/atmega256rfr2/Makefile.include @@ -1,11 +1,5 @@ # tell the build system that the CPU depends on the atmega common files USEMODULE += atmega_common -# define path to atmega common module, which is needed for this CPU -export ATMEGA_COMMON = $(RIOTCPU)/atmega_common/ - -# explicitly tell the linker to link the syscalls and startup code. -# Without this the interrupt vectors will not be linked correctly! -export UNDEF += $(BINDIR)/cpu/startup.o #include periph module USEMODULE += periph @@ -14,4 +8,4 @@ RAM_LEN = 32K ROM_LEN = 256K # CPU depends on the atmega common module, so include it -include $(ATMEGA_COMMON)Makefile.include +include $(RIOTCPU)/atmega_common/Makefile.include diff --git a/cpu/atmega256rfr2/include/cpu_conf.h b/cpu/atmega256rfr2/include/cpu_conf.h deleted file mode 100644 index e7eb3c681e11..000000000000 --- a/cpu/atmega256rfr2/include/cpu_conf.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright (C) 2017 RWTH Aachen, Josua Arndt - * - * This file is subject to the terms and conditions of the GNU Lesser - * General Public License v2.1. See the file LICENSE in the top level - * directory for more details. - */ - -/** - * @ingroup cpu_atmega256rfr2 - * @{ - * - * @file - * @brief Implementation specific CPU configuration options - * - * @author Josua Arndt - * @author Steffen Robertz - */ - -#ifndef CPU_CONF_H -#define CPU_CONF_H - -#include "atmega_regs_common.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * @name Kernel configuration - * - * Since printf seems to get memory allocated by the linker/avr-libc the stack - * size tested sucessfully even with pretty small stacks.k - * @{ - */ - -/* keep THREAD_STACKSIZE_IDLE > THREAD_EXTRA_STACKSIZE_PRINTF - * to avoid not printing of debug in interrupts - */ -#define THREAD_EXTRA_STACKSIZE_PRINTF (128) - -#ifndef THREAD_STACKSIZE_DEFAULT -#define THREAD_STACKSIZE_DEFAULT (512) -#endif - -#define THREAD_STACKSIZE_IDLE (129) -#ifdef __cplusplus -} -#endif - -#endif /* CPU_CONF_H */ -/** @} */ diff --git a/cpu/atmega328p/Makefile b/cpu/atmega328p/Makefile index 81f110b68d09..8b5bf236d32d 100644 --- a/cpu/atmega328p/Makefile +++ b/cpu/atmega328p/Makefile @@ -1,6 +1,7 @@ # define the module that is build MODULE = cpu + # add a list of subdirectories, that should also be build -DIRS = $(ATMEGA_COMMON) +DIRS = $(RIOTCPU)/atmega_common/ include $(RIOTBASE)/Makefile.base diff --git a/cpu/atmega328p/Makefile.include b/cpu/atmega328p/Makefile.include index c014b254ccd0..058b45a115f0 100644 --- a/cpu/atmega328p/Makefile.include +++ b/cpu/atmega328p/Makefile.include @@ -1,11 +1,8 @@ # tell the build system that the CPU depends on the atmega common files 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 +include $(RIOTCPU)/atmega_common/Makefile.include \ No newline at end of file diff --git a/cpu/atmega328p/cpu.c b/cpu/atmega328p/cpu.c deleted file mode 100644 index ed865bd42a56..000000000000 --- a/cpu/atmega328p/cpu.c +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright (C) 2014 Freie Universität Berlin, Hinnerk van Bruinehsen - * - * This file is subject to the terms and conditions of the GNU Lesser - * General Public License v2.1. See the file LICENSE in the top level - * directory for more details. - */ - -/** - * @ingroup cpu_atmega328p - * @{ - * - * @file - * @brief Implementation of the CPU initialization - * - * @author Hinnerk van Bruinehsen - * @} - */ - -#include "cpu.h" -#include "periph/init.h" - -/** - * @brief Initialize the CPU, set IRQ priorities - */ -void cpu_init(void) -{ - /* trigger static peripheral initialization */ - periph_init(); -} diff --git a/cpu/atmega328p/include/cpu_conf.h b/cpu/atmega328p/include/cpu_conf.h deleted file mode 100644 index 91ac74da4d81..000000000000 --- a/cpu/atmega328p/include/cpu_conf.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright (C) 2014 Freie Universität Berlin, Hinnerk van Bruinehsen - * - * This file is subject to the terms and conditions of the GNU Lesser - * General Public License v2.1. See the file LICENSE in the top level - * directory for more details. - */ - -/** - * @ingroup cpu_atmega328p - * @{ - * - * @file - * @brief Implementation specific CPU configuration options - * - * @author Hauke Petersen - * @author Hinnerk van Bruinehsen - */ - -#ifndef CPU_CONF_H -#define CPU_CONF_H - -#include "atmega_regs_common.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * @name Kernel configuration - * - * Since printf seems to get memory allocated by the linker/avr-libc the stack - * size tested successfully even with pretty small stacks.k - * @{ - */ -#define THREAD_EXTRA_STACKSIZE_PRINTF (128) - -#ifndef THREAD_STACKSIZE_DEFAULT -#define THREAD_STACKSIZE_DEFAULT (256) -#endif - -#define THREAD_STACKSIZE_IDLE (128) -/** @} */ - -#ifdef __cplusplus -} -#endif - -#endif /* CPU_CONF_H */ -/** @} */ diff --git a/cpu/atmega328p/startup.c b/cpu/atmega328p/startup.c deleted file mode 100644 index 4601dcc43027..000000000000 --- a/cpu/atmega328p/startup.c +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright (C) 2014 Freie Universität Berlin, Hinnerk van Bruinehsen - * - * This file is subject to the terms and conditions of the GNU Lesser - * General Public License v2.1. See the file LICENSE in the top level - * directory for more details. - */ - -/** - * @ingroup cpu_atmega328p - * @{ - * - * @file - * @brief Startup code and interrupt vector definition - * - * @author Hinnerk van Bruinehsen - * - * @} - */ - -#include -#include -#include - -/* For Catchall-Loop */ -#include "board.h" - - -/** - * @brief functions for initializing the board, std-lib and kernel - */ -extern void board_init(void); -extern void kernel_init(void); -extern void __libc_init_array(void); - -/** - * @brief This pair of functions hook circumvent the call to main - * - * avr-libc normally uses the .init9 section for a call to main. This call - * seems to be not replaceable without hacking inside the library. We - * circumvent the call to main by using section .init7 to call the function - * reset_handler which therefore is the real entry point and section .init8 - * which should never be reached but just in case jumps to exit. - * This way there should be no way to call main directly. - */ -void init7_ovr(void) __attribute__((naked)) __attribute__((section(".init7"))); -void init8_ovr(void) __attribute__((naked)) __attribute__((section(".init8"))); - - -void init7_ovr(void) -{ - __asm__("call reset_handler"); -} - -void init8_ovr(void) -{ - __asm__("jmp exit"); -} -/** - * @brief This function is the entry point after a system reset - * - * After a system reset, the following steps are necessary and carried out: - * 1. initialize the board (sync clock, setup std-IO) - * 2. initialize and start RIOTs kernel - */ -void reset_handler(void) -{ - /* initialize the board and startup the kernel */ - board_init(); - /* startup the kernel */ - kernel_init(); -} diff --git a/cpu/atmega_common/Makefile b/cpu/atmega_common/Makefile index 387e91627c45..8f1257b6783d 100644 --- a/cpu/atmega_common/Makefile +++ b/cpu/atmega_common/Makefile @@ -1,5 +1,7 @@ -# define the module that is build +# define the module that is build (not strictly necessary) MODULE = atmega_common + # add a list of subdirectories, that should also be build DIRS = periph + include $(RIOTBASE)/Makefile.base diff --git a/cpu/atmega256rfr2/cpu.c b/cpu/atmega_common/cpu.c similarity index 62% rename from cpu/atmega256rfr2/cpu.c rename to cpu/atmega_common/cpu.c index fa3b7d4e33b9..f02469beb447 100644 --- a/cpu/atmega256rfr2/cpu.c +++ b/cpu/atmega_common/cpu.c @@ -1,5 +1,7 @@ /* - * Copyright (C) 2017 RWTH Aachen, Josua Arndt + * Copyright (C) 2014 Freie Universität Berlin, Hinnerk van Bruinehsen + * 2017 RWTH Aachen, Josua Arndt + * 2018 Matthew Blue * * This file is subject to the terms and conditions of the GNU Lesser * General Public License v2.1. See the file LICENSE in the top level @@ -7,45 +9,68 @@ */ /** - * @ingroup cpu_atmega256rfr2 + * @ingroup cpu_atmega_common * @{ * * @file * @brief Implementation of the CPU initialization * + * @author Hinnerk van Bruinehsen * @author Steffen Robertz * @author Josua Arndt + * @author Matthew Blue + * @author Francisco Acosta + * @} */ #include #include #include + #include "cpu.h" #include "board.h" #include "periph/init.h" +#include "panic.h" #define ENABLE_DEBUG (0) #include "debug.h" /* -* Since this MCU does not feature a software reset, the watchdog timer +* Since atmega MCUs do not feature a software reset, the watchdog timer * is being used. It will be set to the shortest time and then force a * reset. Therefore the MCUSR register needs to be resetted as fast as -* possible. In this case in the bootloader already. In order to regain -* information about the reset cause, the MCUSR is copied to r2 beforehand. -* When a software reset was triggered, r3 will contain 0xAA. In order to -* prevent changes to the values from the .init section, r2 and r3 are saved -* in the .init0 section +* possible. +* Which means in the bootloader or in the following init0 if no bootloader is used. +* Bootloader resets watchdog and pass MCUSR in r2 (e.g. Optiboot) in order to pass +* information about the reset cause to the application. +* When no Bootloader is used the watchdog will be disabled in the init0 section. +* When a software reset was triggered, r3 will contain 0xAA. +* In order to prevent changes to the values from the .init section, MCUSR and r3 +* are saved in the .init0 section */ uint8_t mcusr_mirror __attribute__((section(".noinit"))); uint8_t soft_rst __attribute__((section(".noinit"))); void get_mcusr(void) __attribute__((naked)) __attribute__((section(".init0"))); + void get_mcusr(void) { + /* save soft reset flag set in reset routine */ + __asm__ __volatile__("mov %0, r3\n" : "=r" (soft_rst) :); +#ifdef BOOTLOADER_CLEARS_WATCHDOG_AND_PASSES_MCUSR /* save the reset flags passed from the bootloader */ __asm__ __volatile__("mov %0, r2\n" : "=r" (mcusr_mirror) :); - __asm__ __volatile__("mov %0, r3\n" : "=r" (soft_rst) :); +#else + /* save the reset flags */ +#ifdef MCUCSR + mcusr_mirror = MCUCSR; + MCUSR = 0; +#else + mcusr_mirror = MCUSR; + MCUSR = 0; +#endif + wdt_disable(); +#endif } void _reset_cause(void) @@ -66,9 +91,11 @@ void _reset_cause(void) DEBUG("Watchdog reset!\n"); } } +#if !defined (CPU_ATMEGA328P) if (mcusr_mirror & (1 << JTRF)) { DEBUG("JTAG reset!\n"); } +#endif } void cpu_init(void) @@ -78,20 +105,6 @@ void cpu_init(void) wdt_reset(); /* should not be nececessary as done in bootloader */ wdt_disable(); /* but when used without bootloader this is needed */ - /* Set system clock Prescaler */ - CLKPR = (1 << CLKPCE); /* enable a change to CLKPR */ - /* set the Division factor to 1 results in divisor 2 for internal Oscillator - * So FCPU = 8MHz - * - * Attention! - * The CPU can not be used with the external xtal oscillator if the core - * should be put in sleep while the transceiver is in rx mode. - * - * It seems the as teh peripheral clock divider is set to 1 and this all - * clocks of the timer, etc run with 16MHz increasing power consumption. - * */ - CLKPR = 0; - /* Initialize peripherals for which modules are included in the makefile.*/ /* spi_init */ /* rtc_init */ @@ -110,28 +123,32 @@ void cpu_init(void) * EIFR – External Interrupt Flag Register * PCIFR – Pin Change Interrupt Flag Register */ -ISR(BADISR_vect){ - +ISR(BADISR_vect) +{ _reset_cause(); - printf_P(PSTR("FATAL ERROR: BADISR_vect called, unprocessed Interrupt.\n" - "STOP Execution.\n")); - +#if defined (CPU_ATMEGA256RFR2) printf("IRQ_STATUS %#02x\nIRQ_STATUS1 %#02x\n", - (unsigned int)IRQ_STATUS, (unsigned int)IRQ_STATUS1 ); + (unsigned int)IRQ_STATUS, (unsigned int)IRQ_STATUS1); - printf("SCIRQS %#02x\nBATMON %#02x\n", (unsigned int)SCIRQS, (unsigned int)BATMON ); + printf("SCIRQS %#02x\nBATMON %#02x\n", (unsigned int)SCIRQS, (unsigned int)BATMON); - printf("EIFR %#02x\nPCIFR %#02x\n", (unsigned int)EIFR, (unsigned int)PCIFR ); + printf("EIFR %#02x\nPCIFR %#02x\n", (unsigned int)EIFR, (unsigned int)PCIFR); +#endif +#ifdef LED_PANIC + /* Use LED light to signal ERROR. */ + LED_PANIC; +#endif - /* White LED light is used to signal ERROR. */ - LED_PORT |= (LED2_MASK | LED1_MASK | LED0_MASK); - - while (1) {} + core_panic(PANIC_GENERAL_ERROR, PSTR("FATAL ERROR: BADISR_vect called, unprocessed Interrupt.\n" + "STOP Execution.\n")); } -ISR(BAT_LOW_vect, ISR_BLOCK){ +#if defined (CPU_ATMEGA256RFR2) +ISR(BAT_LOW_vect, ISR_BLOCK) +{ __enter_isr(); - DEBUG("BAT_LOW \n"); + DEBUG("BAT_LOW\n"); __exit_isr(); } +#endif diff --git a/cpu/atmega1284p/include/cpu_conf.h b/cpu/atmega_common/include/cpu_conf.h similarity index 60% rename from cpu/atmega1284p/include/cpu_conf.h rename to cpu/atmega_common/include/cpu_conf.h index e87b7d2a0155..933c60bc59cd 100644 --- a/cpu/atmega1284p/include/cpu_conf.h +++ b/cpu/atmega_common/include/cpu_conf.h @@ -1,5 +1,6 @@ /* * Copyright (C) 2014 Freie Universität Berlin, Hinnerk van Bruinehsen + * 2017 RWTH Aachen, Josua Arndt * 2018 Matthew Blue * * This file is subject to the terms and conditions of the GNU Lesser @@ -8,7 +9,7 @@ */ /** - * @ingroup cpu_atmega1284p + * @ingroup cpu_atmega_common * @{ * * @file @@ -16,6 +17,8 @@ * * @author Hauke Petersen * @author Hinnerk van Bruinehsen + * @author Josua Arndt + * @author Steffen Robertz * @author Matthew Blue */ @@ -28,19 +31,23 @@ extern "C" { #endif +#define THREAD_EXTRA_STACKSIZE_PRINTF (128) + /** - * @name Kernel configuration + * @name Kernel configuration * - * Since printf seems to get memory allocated by the linker/avr-libc the stack - * size tested successfully even with pretty small stacks.k + * Since printf seems to get memory allocated by the + * linker/avr-libc the stack size tested successfully + * even with pretty small stacks. * @{ */ -#define THREAD_EXTRA_STACKSIZE_PRINTF (128) - #ifndef THREAD_STACKSIZE_DEFAULT -#define THREAD_STACKSIZE_DEFAULT (256) +#define THREAD_STACKSIZE_DEFAULT (512) #endif +/* keep THREAD_STACKSIZE_IDLE > THREAD_EXTRA_STACKSIZE_PRINTF + * to avoid not printing of debug in interrupts + */ #define THREAD_STACKSIZE_IDLE (128) /** @} */ @@ -48,5 +55,6 @@ extern "C" { } #endif + #endif /* CPU_CONF_H */ /** @} */ diff --git a/cpu/atmega_common/periph/pm.c b/cpu/atmega_common/periph/pm.c index 609d2ce4bdb5..341f95d45ada 100644 --- a/cpu/atmega_common/periph/pm.c +++ b/cpu/atmega_common/periph/pm.c @@ -30,14 +30,12 @@ void pm_reboot(void) { -#if defined(CPU_ATMEGA256RFR2) /* clear MCU Status Register Interrupt flags */ MCUSR = 0x00; /* Softreset recognition feature, "r3" will be read out in .init0 * to be able to distinguish WDT reset and WDT software reset */ __asm__ __volatile__("mov r3, %0\n" :: "r" (0xAA)); -#endif /* CPU_ATMEGA256RFR2 */ /* * Since the AVR doesn't support a real software reset, we set the Watchdog diff --git a/cpu/atmega256rfr2/startup.c b/cpu/atmega_common/startup.c similarity index 98% rename from cpu/atmega256rfr2/startup.c rename to cpu/atmega_common/startup.c index 98b8cbadbf5c..1792fac5d893 100644 --- a/cpu/atmega256rfr2/startup.c +++ b/cpu/atmega_common/startup.c @@ -7,7 +7,7 @@ */ /** - * @ingroup cpu_atmega256rfr2 + * @ingroup cpu_atmega_common * @{ * * @file diff --git a/examples/cord_epsim/Makefile b/examples/cord_epsim/Makefile index f40884bdeb62..110dae7f864a 100644 --- a/examples/cord_epsim/Makefile +++ b/examples/cord_epsim/Makefile @@ -11,7 +11,7 @@ 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 \ + mega-xplained stm32f0discovery telosb waspmote-pro \ wsn430-v1_3b wsn430-v1_4 z1 # Enable GNRC networking diff --git a/examples/ipc_pingpong/Makefile b/examples/ipc_pingpong/Makefile index 03828548a90b..b7dd2ef8e0cf 100644 --- a/examples/ipc_pingpong/Makefile +++ b/examples/ipc_pingpong/Makefile @@ -4,7 +4,8 @@ APPLICATION = ipc_pingpong # If no BOARD is found in the environment, use this default: BOARD ?= native -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/tests/bench_sizeof_coretypes/Makefile b/tests/bench_sizeof_coretypes/Makefile index c3cb1b3e017b..a3f0b96487ad 100644 --- a/tests/bench_sizeof_coretypes/Makefile +++ b/tests/bench_sizeof_coretypes/Makefile @@ -1,5 +1,7 @@ include ../Makefile.tests_common +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno + # Modules that will have an impact on the size of the TCB (thread_t): # # disabled by default, enable on demand: diff --git a/tests/driver_bmx055/Makefile b/tests/driver_bmx055/Makefile index 9c9293fbfd51..f1a5f72c27af 100644 --- a/tests/driver_bmx055/Makefile +++ b/tests/driver_bmx055/Makefile @@ -1,5 +1,7 @@ include ../Makefile.tests_common +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno + # include and auto-initialize all available sensors USEMODULE += saul_default # include driver for bmx055 sensor diff --git a/tests/driver_enc28j60/Makefile b/tests/driver_enc28j60/Makefile index 21e3a1f1ac0b..db65bd668dfe 100644 --- a/tests/driver_enc28j60/Makefile +++ b/tests/driver_enc28j60/Makefile @@ -3,7 +3,7 @@ include ../Makefile.tests_common 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 \ + nucleo-l031k6 mega-xplained stm32f0discovery telosb \ waspmote-pro wsn430-v1_3b wsn430-v1_4 z1 USEMODULE += auto_init_gnrc_netif diff --git a/tests/driver_mpu9150/Makefile b/tests/driver_mpu9150/Makefile index 5f564681c8cb..c487eac2d8ba 100644 --- a/tests/driver_mpu9150/Makefile +++ b/tests/driver_mpu9150/Makefile @@ -1,5 +1,7 @@ include ../Makefile.tests_common +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno + USEMODULE += mpu9150 USEMODULE += xtimer diff --git a/tests/driver_nvram_spi/Makefile b/tests/driver_nvram_spi/Makefile index d056bae463cc..50ab28ce16ac 100644 --- a/tests/driver_nvram_spi/Makefile +++ b/tests/driver_nvram_spi/Makefile @@ -1,5 +1,7 @@ include ../Makefile.tests_common +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno + USEMODULE += nvram_spi USEMODULE += xtimer diff --git a/tests/driver_pir/Makefile b/tests/driver_pir/Makefile index a509648dccac..b0d775f67b31 100644 --- a/tests/driver_pir/Makefile +++ b/tests/driver_pir/Makefile @@ -1,6 +1,6 @@ include ../Makefile.tests_common -BOARD_INSUFFICIENT_MEMORY := nucleo-f031k6 +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno nucleo-f031k6 USEMODULE += pir diff --git a/tests/driver_tsl4531x/Makefile b/tests/driver_tsl4531x/Makefile index 487030b62596..c9ba61e4d8bf 100644 --- a/tests/driver_tsl4531x/Makefile +++ b/tests/driver_tsl4531x/Makefile @@ -1,5 +1,7 @@ include ../Makefile.tests_common +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno + USEMODULE += tsl4531x USEMODULE += xtimer diff --git a/tests/driver_xbee/Makefile b/tests/driver_xbee/Makefile index 84d09bfa1bc0..2099972dea93 100644 --- a/tests/driver_xbee/Makefile +++ b/tests/driver_xbee/Makefile @@ -2,7 +2,7 @@ include ../Makefile.tests_common BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno nucleo-f031k6 \ nucleo-f042k6 nucleo-f030r8 nucleo-f334r8 \ - stm32f0discovery + stm32f0discovery waspmote-pro USEMODULE += xbee USEMODULE += gnrc_txtsnd diff --git a/tests/emb6/Makefile b/tests/emb6/Makefile index 184b11188c03..e9065cc367d0 100644 --- a/tests/emb6/Makefile +++ b/tests/emb6/Makefile @@ -6,10 +6,10 @@ include ../Makefile.tests_common BOARD_BLACKLIST := msb-430 msb-430h pic32-clicker pic32-wifire \ telosb wsn430-v1_3b wsn430-v1_4 z1 -BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno \ +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-mega2560 arduino-uno \ msb-430 msb-430h nucleo-l031k6 nucleo-f031k6 \ nucleo-f042k6 nucleo-l053r8 stm32f0discovery \ - telosb wsn430-v1_3b wsn430-v1_4 z1 + telosb waspmote-pro wsn430-v1_3b wsn430-v1_4 z1 USEPKG += emb6 diff --git a/tests/evtimer_msg/Makefile b/tests/evtimer_msg/Makefile index cc66a9e3d9ed..eb62ad17957a 100644 --- a/tests/evtimer_msg/Makefile +++ b/tests/evtimer_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 USEMODULE += evtimer diff --git a/tests/evtimer_underflow/Makefile b/tests/evtimer_underflow/Makefile index cc66a9e3d9ed..eb62ad17957a 100644 --- a/tests/evtimer_underflow/Makefile +++ b/tests/evtimer_underflow/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 += evtimer diff --git a/tests/gnrc_ipv6_nib/Makefile b/tests/gnrc_ipv6_nib/Makefile index 2b8205ec5d15..7f767162da41 100644 --- a/tests/gnrc_ipv6_nib/Makefile +++ b/tests/gnrc_ipv6_nib/Makefile @@ -1,8 +1,8 @@ include ../Makefile.tests_common -BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno \ +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-mega2560 arduino-uno \ chronos nucleo-f031k6 nucleo-f042k6 nucleo-l031k6 \ - telosb wsn430-v1_3b wsn430-v1_4 + telosb waspmote-pro wsn430-v1_3b wsn430-v1_4 USEMODULE += gnrc_ipv6 USEMODULE += gnrc_ipv6_nib diff --git a/tests/gnrc_sock_udp/Makefile b/tests/gnrc_sock_udp/Makefile index ae292db100d3..4583d8b4f5bc 100644 --- a/tests/gnrc_sock_udp/Makefile +++ b/tests/gnrc_sock_udp/Makefile @@ -1,7 +1,8 @@ include ../Makefile.tests_common BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno \ - chronos nucleo-f031k6 nucleo-f042k6 nucleo-l031k6 + chronos nucleo-f031k6 nucleo-f042k6 nucleo-l031k6 \ + waspmote-pro USEMODULE += gnrc_sock_check_reuse USEMODULE += gnrc_sock_udp diff --git a/tests/irq/Makefile b/tests/irq/Makefile index 4a9dbbdb5d8d..4824580eb065 100644 --- a/tests/irq/Makefile +++ b/tests/irq/Makefile @@ -1,6 +1,6 @@ include ../Makefile.tests_common -BOARD_INSUFFICIENT_MEMORY := nucleo-f031k6 +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno nucleo-f031k6 USEMODULE += auto_init USEMODULE += xtimer diff --git a/tests/isr_yield_higher/Makefile b/tests/isr_yield_higher/Makefile index bfb6dbf0b1af..551df56bb799 100644 --- a/tests/isr_yield_higher/Makefile +++ b/tests/isr_yield_higher/Makefile @@ -1,7 +1,7 @@ APPLICATION = isr_yield_higher include ../Makefile.tests_common -BOARD_INSUFFICIENT_MEMORY := nucleo-f031k6 +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno nucleo-f031k6 USEMODULE += xtimer diff --git a/tests/msg_send_receive/Makefile b/tests/msg_send_receive/Makefile index 54a42556f80c..489976d1e82b 100644 --- a/tests/msg_send_receive/Makefile +++ b/tests/msg_send_receive/Makefile @@ -1,6 +1,6 @@ include ../Makefile.tests_common -BOARD_INSUFFICIENT_MEMORY := nucleo-f031k6 +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno nucleo-f031k6 TEST_ON_CI_WHITELIST += all diff --git a/tests/periph_eeprom/Makefile b/tests/periph_eeprom/Makefile index a34d7a7e28e3..1771c5bd5db1 100644 --- a/tests/periph_eeprom/Makefile +++ b/tests/periph_eeprom/Makefile @@ -3,6 +3,8 @@ include ../Makefile.tests_common FEATURES_REQUIRED += periph_eeprom +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno + USEMODULE += shell USEMODULE += shell_commands # provides reboot command diff --git a/tests/pipe/Makefile b/tests/pipe/Makefile index 10f63e29cd64..10a4697c3956 100644 --- a/tests/pipe/Makefile +++ b/tests/pipe/Makefile @@ -2,7 +2,7 @@ include ../Makefile.tests_common #malloc.h not found BOARD_BLACKLIST := jiminy-mega256rfr2 mega-xplained -BOARD_INSUFFICIENT_MEMORY := nucleo-f031k6 +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno nucleo-f031k6 USEMODULE += pipe diff --git a/tests/sched_testing/Makefile b/tests/sched_testing/Makefile index 54a42556f80c..489976d1e82b 100644 --- a/tests/sched_testing/Makefile +++ b/tests/sched_testing/Makefile @@ -1,6 +1,6 @@ include ../Makefile.tests_common -BOARD_INSUFFICIENT_MEMORY := nucleo-f031k6 +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno nucleo-f031k6 TEST_ON_CI_WHITELIST += all diff --git a/tests/struct_tm_utility/Makefile b/tests/struct_tm_utility/Makefile index 549f16276473..3a359b349190 100644 --- a/tests/struct_tm_utility/Makefile +++ b/tests/struct_tm_utility/Makefile @@ -2,6 +2,8 @@ include ../Makefile.tests_common DISABLE_MODULE += auto_init +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno + USEMODULE += shell USEMODULE += timex diff --git a/tests/thread_exit/Makefile b/tests/thread_exit/Makefile index 61bc51c2c4b2..e2e53cdc4480 100644 --- a/tests/thread_exit/Makefile +++ b/tests/thread_exit/Makefile @@ -1,6 +1,6 @@ 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/thread_flags/Makefile b/tests/thread_flags/Makefile index 30365019ccec..e2ad1f354512 100644 --- a/tests/thread_flags/Makefile +++ b/tests/thread_flags/Makefile @@ -1,6 +1,6 @@ include ../Makefile.tests_common -BOARD_INSUFFICIENT_MEMORY := nucleo-f031k6 +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno nucleo-f031k6 USEMODULE += core_thread_flags USEMODULE += xtimer diff --git a/tests/thread_race/Makefile b/tests/thread_race/Makefile index 391995e8f6d1..25a5f776ef80 100644 --- a/tests/thread_race/Makefile +++ b/tests/thread_race/Makefile @@ -2,6 +2,8 @@ include ../Makefile.tests_common DISABLE_MODULE += auto_init +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno + TEST_ON_CI_WHITELIST += all include $(RIOTBASE)/Makefile.include diff --git a/tests/xtimer_hang/Makefile b/tests/xtimer_hang/Makefile index c32a4e70bffe..fa58b99b80d6 100644 --- a/tests/xtimer_hang/Makefile +++ b/tests/xtimer_hang/Makefile @@ -1,6 +1,6 @@ include ../Makefile.tests_common -BOARD_INSUFFICIENT_MEMORY := nucleo-f031k6 +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno nucleo-f031k6 USEMODULE += xtimer diff --git a/tests/xtimer_msg/Makefile b/tests/xtimer_msg/Makefile index d2da7702d454..5ef90226bffd 100644 --- a/tests/xtimer_msg/Makefile +++ b/tests/xtimer_msg/Makefile @@ -1,6 +1,6 @@ include ../Makefile.tests_common -BOARD_INSUFFICIENT_MEMORY := nucleo-f031k6 +BOARD_INSUFFICIENT_MEMORY := arduino-duemilanove arduino-uno nucleo-f031k6 USEMODULE += xtimer