cpu_conf.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2014 Freie Universität Berlin, Hinnerk van Bruinehsen
3  * 2017 RWTH Aachen, Josua Arndt
4  * 2018 Matthew Blue
5  *
6  * This file is subject to the terms and conditions of the GNU Lesser
7  * General Public License v2.1. See the file LICENSE in the top level
8  * directory for more details.
9  */
10 
25 #ifndef CPU_CONF_H
26 #define CPU_CONF_H
27 
28 #include "atmega_regs_common.h"
29 
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33 
34 #define THREAD_EXTRA_STACKSIZE_PRINTF (128)
35 
44 #ifndef THREAD_STACKSIZE_DEFAULT
45 #define THREAD_STACKSIZE_DEFAULT (512)
46 #endif
47 
48 /* keep THREAD_STACKSIZE_IDLE > THREAD_EXTRA_STACKSIZE_PRINTF
49  * to avoid not printing of debug in interrupts
50  */
51 #ifndef THREAD_STACKSIZE_IDLE
52 #ifdef MODULE_XTIMER
53 /* xtimer's 64 bit arithmetic doesn't perform well on 8 bit archs. In order to
54  * prevent a stack overflow when an timer triggers while the idle thread is
55  * running, we have to increase the stack size then
56  */
57 #define THREAD_STACKSIZE_IDLE (192)
58 #else
59 #define THREAD_STACKSIZE_IDLE (128)
60 #endif
61 #endif
62 
67 #define PUF_SRAM_ATTRIBUTES __attribute__((used, section(".noinit")))
68 
72 #define HAVE_HEAP_STATS
73 
77 #define IRQ_API_INLINED (1)
78 
79 #ifdef __cplusplus
80 }
81 #endif
82 
83 
84 #endif /* CPU_CONF_H */
85 
atmega_regs_common.h
CMSIS style register definitions for the atmega family.