aboutsummaryrefslogtreecommitdiff
path: root/rtos/freertos_config/FreeRTOSConfig.h.in
blob: 58e13a7b9afd8722cd6774777fc9e0f47f707478 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
/*
 * Copyright (c) 2020 Arm Limited. All rights reserved.
 *
 * SPDX-License-Identifier: Apache-2.0
 *
 * Licensed under the Apache License, Version 2.0 (the License); you may
 * not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an AS IS BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
/* Please refer to http://www.freertos.org/a00110.html for refernce. */
#ifndef FREERTOS_CONFIG_H
#define FREERTOS_CONFIG_H
/******************************************************************************
 * Defines
 ******************************************************************************/
/* Hardware features */
#define configENABLE_MPU                                0
#define configENABLE_FPU                                0
#define configENABLE_TRUSTZONE                          0
/* Scheduling */
#define configCPU_CLOCK_HZ                              @SYSTEM_CORE_CLOCK@
#define configUSE_PORT_OPTIMISED_TASK_SELECTION         0
#define configUSE_PREEMPTION                            1
#define configUSE_TIME_SLICING                          1
#define configMAX_PRIORITIES                            5
#define configIDLE_SHOULD_YIELD                         1
#define configUSE_16_BIT_TICKS                          0
#define configRUN_FREERTOS_SECURE_ONLY                  1
/* Stack and heap */
#define configMINIMAL_STACK_SIZE                        (uint16_t)128
#define configMINIMAL_SECURE_STACK_SIZE                 1024
#define configTOTAL_HEAP_SIZE                           (size_t)(50 * 1024)
#define configMAX_TASK_NAME_LEN                         12
/* OS features */
#define configUSE_MUTEXES                               1
#define configUSE_TICKLESS_IDLE                         1
#define configUSE_APPLICATION_TASK_TAG                  0
#define configUSE_NEWLIB_REENTRANT                      0
#define configUSE_CO_ROUTINES                           0
#define configUSE_COUNTING_SEMAPHORES                   1
#define configUSE_RECURSIVE_MUTEXES                     1
#define configUSE_QUEUE_SETS                            0
#define configUSE_TASK_NOTIFICATIONS                    1
#define configUSE_TRACE_FACILITY                        1
/* Hooks */
#define configUSE_IDLE_HOOK                             0
#define configUSE_TICK_HOOK                             0
#define configUSE_MALLOC_FAILED_HOOK                    0
/* Debug features */
#define configCHECK_FOR_STACK_OVERFLOW                  0
#define configASSERT(x)                                 if ((x) == 0) { taskDISABLE_INTERRUPTS(); for( ;; ); }
#define configQUEUE_REGISTRY_SIZE                       0
/* Timers and queues */
#define configUSE_TIMERS                                0
#define configTIMER_TASK_PRIORITY                       3
#define configTIMER_TASK_STACK_DEPTH                    configMINIMAL_STACK_SIZE
#define configTIMER_QUEUE_LENGTH                        5
/* Task settings */
#define INCLUDE_vTaskPrioritySet                        1
#define INCLUDE_uxTaskPriorityGet                       1
#define INCLUDE_vTaskDelete                             1
#define INCLUDE_vTaskCleanUpResources                   0
#define INCLUDE_vTaskSuspend                            1
#define INCLUDE_vTaskDelayUntil                         1
#define INCLUDE_vTaskDelay                              1
#define INCLUDE_uxTaskGetStackHighWaterMark             0
#define INCLUDE_xTaskGetIdleTaskHandle                  0
#define INCLUDE_eTaskGetState                           1
#define INCLUDE_xTaskResumeFromISR                      0
#define INCLUDE_xTaskGetCurrentTaskHandle               1
#define INCLUDE_xTaskGetSchedulerState                  0
#define INCLUDE_xSemaphoreGetMutexHolder                0
#define INCLUDE_xTimerPendFunctionCall                  1
#define configUSE_STATS_FORMATTING_FUNCTIONS            1
#define configCOMMAND_INT_MAX_OUTPUT_SIZE               2048
#ifdef __NVIC_PRIO_BITS
#define configPRIO_BITS                                 __NVIC_PRIO_BITS
#else
#define configPRIO_BITS                                 3
#endif
/* Interrupt settings */
#define configLIBRARY_LOWEST_INTERRUPT_PRIORITY         0x07
#define configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY    5
#define configKERNEL_INTERRUPT_PRIORITY                 (configLIBRARY_LOWEST_INTERRUPT_PRIORITY << (8 - configPRIO_BITS))
#define configMAX_SYSCALL_INTERRUPT_PRIORITY            (configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY << (8 - configPRIO_BITS))
#ifndef __IASMARM__
    #define configGENERATE_RUN_TIME_STATS               0
    #define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS()
    #define portGET_RUN_TIME_COUNTER_VALUE()            0
    #define configTICK_RATE_HZ                          (TickType_t)10000
#endif /* __IASMARM__ */
#if defined(CPU_CORTEX_M3) || defined(CPU_CORTEX_M4) || defined(CPU_CORTEX_M7)
#define xPortPendSVHandler                              PendSV_Handler
#define vPortSVCHandler                                 SVC_Handler
#define xPortSysTickHandler                             SysTick_Handler
#endif
#endif /* FREERTOS_CONFIG_H */