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