2 * FreeRTOS Kernel V10.2.1
3 * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
5 * Permission is hereby granted, free of charge, to any person obtaining a copy of
6 * this software and associated documentation files (the "Software"), to deal in
7 * the Software without restriction, including without limitation the rights to
8 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9 * the Software, and to permit persons to whom the Software is furnished to do so,
10 * subject to the following conditions:
12 * The above copyright notice and this permission notice shall be included in all
13 * copies or substantial portions of the Software.
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
17 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 * http://www.FreeRTOS.org
23 * http://aws.amazon.com/freertos
28 #ifndef FREERTOS_CONFIG_H
29 #define FREERTOS_CONFIG_H
31 /*-----------------------------------------------------------
32 * Application specific definitions.
34 * These definitions should be adjusted for your particular hardware and
35 * application requirements.
37 * THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE
38 * FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE.
40 * See http://www.freertos.org/a00110.html.
41 *----------------------------------------------------------*/
43 #define configUSE_PREEMPTION 1
44 #define configUSE_IDLE_HOOK 0
45 #define configUSE_TICK_HOOK 0
46 #define configCPU_CLOCK_HZ ( ( unsigned long ) 24000000 )
47 #define configTICK_RATE_HZ ( ( portTickType ) 1000 )
48 #define configMINIMAL_STACK_SIZE ( ( unsigned short ) (256) )
49 #define configTOTAL_HEAP_SIZE ( ( size_t ) 16384 )
50 #define configMAX_TASK_NAME_LEN ( 12 )
51 #define configUSE_TRACE_FACILITY 0
52 #define configUSE_16_BIT_TICKS 0
53 #define configIDLE_SHOULD_YIELD 1
54 #define configUSE_CO_ROUTINES 0
55 #define configUSE_MUTEXES 1
56 #define configCHECK_FOR_STACK_OVERFLOW 1
57 #define configUSE_RECURSIVE_MUTEXES 0
58 #define configQUEUE_REGISTRY_SIZE 10
59 #define configUSE_MALLOC_FAILED_HOOK 1
60 #define configUSE_STATS_FORMATTING_FUNCTIONS 1
61 #define configUSE_TIMERS 1
62 #define configTIMER_TASK_PRIORITY 1
63 #define configTIMER_QUEUE_LENGTH 36
64 #define configTIMER_TASK_STACK_DEPTH 1024
65 #define configUSE_TIME_SLICING 1
66 #define configUSE_COUNTING_SEMAPHORES 1
68 #define portCRITICAL_NESTING_IN_TCB 0
73 /*#define configGENERATE_RUN_TIME_STATS 1*/
75 #define configMAX_PRIORITIES ( 200 )
76 #define configMAX_CO_ROUTINE_PRIORITIES ( 2 )
78 /* Set the following definitions to 1 to include the API function, or zero
79 to exclude the API function. */
81 #define INCLUDE_vTaskPrioritySet 1
82 #define INCLUDE_uxTaskPriorityGet 1
83 #define INCLUDE_vTaskDelete 1
84 #define INCLUDE_vTaskCleanUpResources 0
85 #define INCLUDE_vTaskSuspend 1
86 #define INCLUDE_vTaskDelayUntil 1
87 #define INCLUDE_vTaskDelay 1
89 #define configASSERT( a ) do {if ((a)==0){printf("Assert : %s %d\r\n", __FILE__, __LINE__);while(1);}}while(0)
91 #define configKERNEL_INTERRUPT_PRIORITY ( ( unsigned char ) 7 << ( unsigned char ) 5 ) /* Priority 7, or 255 as only the top three bits are implemented. This is the lowest priority. */
92 #define configMAX_SYSCALL_INTERRUPT_PRIORITY ( ( unsigned char ) 5 << ( unsigned char ) 5 ) /* Priority 5, or 160 as only the top three bits are implemented. */
94 extern volatile unsigned long ulHighFrequencyTimerTicks;
95 /* There is already a high frequency timer running - just reset its count back
98 #define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() ( ulHighFrequencyTimerTicks = 0UL )
99 #define portGET_RUN_TIME_COUNTER_VALUE() ulHighFrequencyTimerTicks
101 #endif /* FREERTOS_CONFIG_H */