cpu_conf.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: 2014 Freie Universität Berlin, Hinnerk van Bruinehsen
3  * SPDX-FileCopyrightText: 2017 RWTH Aachen, Josua Arndt
4  * SPDX-FileCopyrightText: 2018 Matthew Blue
5  * SPDX-License-Identifier: LGPL-2.1-only
6  */
7 
8 #pragma once
9 
24 #include "atmega_regs_common.h"
25 
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29 
30 #ifndef THREAD_EXTRA_STACKSIZE_PRINTF
31 #define THREAD_EXTRA_STACKSIZE_PRINTF (132)
32 #endif
33 
42 #ifndef THREAD_STACKSIZE_DEFAULT
43 #define THREAD_STACKSIZE_DEFAULT (512)
44 #endif
45 
46 /* keep THREAD_STACKSIZE_IDLE > THREAD_EXTRA_STACKSIZE_PRINTF
47  * to avoid not printing of debug in interrupts
48  */
49 #ifndef THREAD_STACKSIZE_IDLE
50 #if MODULE_XTIMER || MODULE_ZTIMER || MODULE_ZTIMER64
51 /* For AVR no ISR stack is used, hence an IRQ will victimize the stack of
52  * whatever thread happens to be running with the IRQ kicks in. If more than
53  * trivial stuff is needed to be done in ISRs (e.g. when soft timers are used),
54  * the idle stack will overflow.
55  */
56 #define THREAD_STACKSIZE_IDLE (192)
57 #else
58 #define THREAD_STACKSIZE_IDLE (128)
59 #endif
60 #endif
66 #define PUF_SRAM_ATTRIBUTES __attribute__((used, section(".noinit")))
67 
71 #define HAVE_HEAP_STATS
72 
76 #define IRQ_API_INLINED (1)
77 
78 #ifndef DOXYGEN
79 #define HAS_FLASH_UTILS_ARCH 1
80 #endif
81 
82 #ifdef __cplusplus
83 }
84 #endif
85 
CMSIS style register definitions for the atmega family.