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 
11 #pragma once
12 
27 #include "atmega_regs_common.h"
28 
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32 
33 #ifndef THREAD_EXTRA_STACKSIZE_PRINTF
34 #define THREAD_EXTRA_STACKSIZE_PRINTF (132)
35 #endif
36 
45 #ifndef THREAD_STACKSIZE_DEFAULT
46 #define THREAD_STACKSIZE_DEFAULT (512)
47 #endif
48 
49 /* keep THREAD_STACKSIZE_IDLE > THREAD_EXTRA_STACKSIZE_PRINTF
50  * to avoid not printing of debug in interrupts
51  */
52 #ifndef THREAD_STACKSIZE_IDLE
53 #if MODULE_XTIMER || MODULE_ZTIMER || MODULE_ZTIMER64
54 /* For AVR no ISR stack is used, hence an IRQ will victimize the stack of
55  * whatever thread happens to be running with the IRQ kicks in. If more than
56  * trivial stuff is needed to be done in ISRs (e.g. when soft timers are used),
57  * the idle stack will overflow.
58  */
59 #define THREAD_STACKSIZE_IDLE (192)
60 #else
61 #define THREAD_STACKSIZE_IDLE (128)
62 #endif
63 #endif
69 #define PUF_SRAM_ATTRIBUTES __attribute__((used, section(".noinit")))
70 
74 #define HAVE_HEAP_STATS
75 
79 #define IRQ_API_INLINED (1)
80 
81 #ifndef DOXYGEN
82 #define HAS_FLASH_UTILS_ARCH 1
83 #endif
84 
85 #ifdef __cplusplus
86 }
87 #endif
88 
CMSIS style register definitions for the atmega family.