Loading...
Searching...
No Matches
cpu_conf_common.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2016 Kaspar Schleiser <kaspar@schleiser.de>
3 *
4 * This file is subject to the terms and conditions of the GNU Lesser
5 * General Public License v2.1. See the file LICENSE in the top level
6 * directory for more details.
7 */
8
9#pragma once
10
20
21#ifdef __cplusplus
22extern "C" {
23#endif
24
39#ifndef THREAD_EXTRA_STACKSIZE_PRINTF
40#define THREAD_EXTRA_STACKSIZE_PRINTF (512)
41#endif
42#ifndef THREAD_STACKSIZE_DEFAULT
43#define THREAD_STACKSIZE_DEFAULT (1024)
44#endif
45#ifndef THREAD_STACKSIZE_IDLE
46#define THREAD_STACKSIZE_IDLE (256)
47#endif
49
54#ifndef ISR_STACKSIZE
55#define ISR_STACKSIZE (512U)
56#endif
58
63#ifdef __ARM_FEATURE_CLZ
64#define BITARITHM_LSB_BUILTIN
65#define BITARITHM_HAS_CLZ
66#else
67#define BITARITHM_LSB_LOOKUP
68#endif
70
75
109#ifndef CPU_CORTEXM_PRIORITY_GROUPING
110#define CPU_CORTEXM_PRIORITY_GROUPING (0)
111#endif
112
143#ifndef CPU_CORTEXM_PENDSV_IRQ_PRIO
144#define CPU_CORTEXM_PENDSV_IRQ_PRIO (UINT8_MAX)
145#endif
147
151#define PUF_SRAM_ATTRIBUTES __attribute__((used, section(".puf")))
152
153#if CPU_HAS_BACKUP_RAM || DOXYGEN
158#define BACKUP_RAM __attribute__((section(".backup.bss")))
159
164#define BACKUP_RAM_DATA __attribute__((section(".backup.data")))
165
170#define BACKUP_RAM_NOINIT __attribute__((section(".backup.noinit")))
171#endif /* CPU_HAS_BACKUP_RAM */
172
176#define IRQ_API_INLINED (1)
177
178#if defined(CPU_CORE_CORTEX_M0) || defined(CPU_CORE_CORTEX_M0PLUS) \
179 || defined(CPU_CORE_CORTEX_M23)
183#define CPU_CYCLES_PER_LOOP (4)
184#endif
185
186#ifdef __cplusplus
187}
188#endif
189