Loading...
Searching...
No Matches
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
23
24#include "atmega_regs_common.h"
25
26#ifdef __cplusplus
27extern "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
62
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.