• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2022 The Pigweed Authors
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License"); you may not
4 // use this file except in compliance with the License. You may obtain a copy of
5 // the License at
6 //
7 //     https://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11 // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12 // License for the specific language governing permissions and limitations under
13 // the License.
14 #pragma once
15 
16 #include <stdint.h>
17 
18 // Disable formatting to make it easier to compare with other config files.
19 // clang-format off
20 
21 #define vPortSVCHandler         isr_svcall
22 #define xPortPendSVHandler      isr_pendsv
23 #define xPortSysTickHandler     isr_systick
24 
25 #define configUSE_PREEMPTION                    1
26 #define configUSE_PORT_OPTIMISED_TASK_SELECTION 0
27 #define configUSE_TICKLESS_IDLE                 0
28 #define configCPU_CLOCK_HZ                      133000000
29 #define configTICK_RATE_HZ                      100
30 #define configMAX_PRIORITIES                    5
31 #define configMINIMAL_STACK_SIZE                ((uint32_t)(256))
32 #define configMAX_TASK_NAME_LEN                 16
33 #define configUSE_16_BIT_TICKS                  0
34 #define configIDLE_SHOULD_YIELD                 1
35 #define configUSE_TASK_NOTIFICATIONS            1
36 #define configTASK_NOTIFICATION_ARRAY_ENTRIES   3
37 #define configUSE_MUTEXES                       1
38 #define configUSE_RECURSIVE_MUTEXES             0
39 #define configUSE_COUNTING_SEMAPHORES           1
40 #define configQUEUE_REGISTRY_SIZE               10
41 #define configUSE_QUEUE_SETS                    0
42 #define configUSE_TIME_SLICING                  1
43 #define configUSE_NEWLIB_REENTRANT              0
44 #define configENABLE_BACKWARD_COMPATIBILITY     0
45 #define configNUM_THREAD_LOCAL_STORAGE_POINTERS 5
46 #define configSTACK_DEPTH_TYPE                  uint32_t
47 #define configMESSAGE_BUFFER_LENGTH_TYPE        size_t
48 
49 #define configSUPPORT_STATIC_ALLOCATION         1
50 #define configSUPPORT_DYNAMIC_ALLOCATION        0
51 #define configTOTAL_HEAP_SIZE                   ((size_t)(1 * 1024))
52 #define configAPPLICATION_ALLOCATED_HEAP        1
53 
54 #define configUSE_IDLE_HOOK                     0
55 #define configUSE_TICK_HOOK                     0
56 #define configCHECK_FOR_STACK_OVERFLOW          0
57 #define configUSE_MALLOC_FAILED_HOOK            0
58 #define configUSE_DAEMON_TASK_STARTUP_HOOK      0
59 
60 #define configGENERATE_RUN_TIME_STATS           0
61 // #define portGET_RUN_TIME_COUNTER_VALUE          getRunTimeCounterValue
62 #define configUSE_TRACE_FACILITY                0
63 #define configUSE_STATS_FORMATTING_FUNCTIONS    0
64 
65 #define configUSE_CO_ROUTINES                   0
66 #define configMAX_CO_ROUTINE_PRIORITIES         1
67 
68 #define configUSE_TIMERS                        1
69 #define configTIMER_TASK_PRIORITY               3
70 #define configTIMER_QUEUE_LENGTH                10
71 #define configTIMER_TASK_STACK_DEPTH            configMINIMAL_STACK_SIZE
72 
73 #define configRECORD_STACK_HIGH_ADDRESS         1
74 
75 // Instead of defining configASSERT(), include a header that provides a
76 // definition that redirects to pw_assert.
77 #include "pw_third_party/freertos/config_assert.h"
78 
79 #define INCLUDE_vTaskPrioritySet                1
80 #define INCLUDE_uxTaskPriorityGet               1
81 #define INCLUDE_vTaskDelete                     1
82 #define INCLUDE_vTaskSuspend                    1
83 #define INCLUDE_xResumeFromISR                  1
84 #define INCLUDE_vTaskDelayUntil                 1
85 #define INCLUDE_vTaskDelay                      1
86 #define INCLUDE_xTaskGetSchedulerState          1
87 #define INCLUDE_xTaskGetCurrentTaskHandle       1
88 #define INCLUDE_uxTaskGetStackHighWaterMark     1
89 #define INCLUDE_xTaskGetIdleTaskHandle          0
90 #define INCLUDE_eTaskGetState                   0
91 #define INCLUDE_xEventGroupSetBitFromISR        1
92 #define INCLUDE_xTimerPendFunctionCall          0
93 #define INCLUDE_xTaskAbortDelay                 0
94 #define INCLUDE_xTaskGetHandle                  0
95 #define INCLUDE_xTaskResumeFromISR              1
96