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 
21 #ifdef __cplusplus
22 extern "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
54 #ifndef ISR_STACKSIZE
55 #define ISR_STACKSIZE (512U)
56 #endif
63 #ifdef __ARM_FEATURE_CLZ
64 #define BITARITHM_LSB_BUILTIN
65 #define BITARITHM_HAS_CLZ
66 #else
67 #define BITARITHM_LSB_LOOKUP
68 #endif
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
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