| /* | |
| * Copyright (c) 2026 Raspberry Pi (Trading) Ltd. | |
| * | |
| * SPDX-License-Identifier: BSD-3-Clause | |
| * | |
| * Minimal FreeRTOS config for freertos_sync_interop_test, derived from the | |
| * pico-examples FreeRTOSConfig_examples_common.h. | |
| * | |
| * The settings that matter to this test: | |
| * configSUPPORT_PICO_SYNC_INTEROP 1 - installs the lock_internal_* overrides under test | |
| * configUSE_TIMERS 1 - xEventGroupSetBitsFromISR() defers to the daemon | |
| * configUSE_16_BIT_TICKS 0 - selects the "% 24" event bit mapping | |
| * configNUMBER_OF_CORES - set to 1 by the CMakeLists for determinism | |
| */ | |
| #ifndef FREERTOS_CONFIG_H | |
| #define FREERTOS_CONFIG_H | |
| /* Scheduler */ | |
| #define configUSE_PREEMPTION 1 | |
| #define configUSE_TICKLESS_IDLE 0 | |
| #define configUSE_IDLE_HOOK 0 | |
| #define configUSE_TICK_HOOK 0 | |
| #define configTICK_RATE_HZ ( ( TickType_t ) 1000 ) | |
| #define configMAX_PRIORITIES 32 | |
| #define configMINIMAL_STACK_SIZE ( configSTACK_DEPTH_TYPE ) 512 | |
| #define configUSE_16_BIT_TICKS 0 | |
| #define configIDLE_SHOULD_YIELD 1 | |
| #define configUSE_TIME_SLICING 1 | |
| /* Synchronization */ | |
| #define configUSE_MUTEXES 1 | |
| #define configUSE_RECURSIVE_MUTEXES 1 | |
| #define configUSE_COUNTING_SEMAPHORES 1 | |
| #define configQUEUE_REGISTRY_SIZE 8 | |
| /* System */ | |
| #define configSTACK_DEPTH_TYPE uint32_t | |
| #define configMESSAGE_BUFFER_LENGTH_TYPE size_t | |
| #define configSUPPORT_STATIC_ALLOCATION 0 | |
| #define configSUPPORT_DYNAMIC_ALLOCATION 1 | |
| #define configTOTAL_HEAP_SIZE (64*1024) | |
| #define configAPPLICATION_ALLOCATED_HEAP 0 | |
| /* Hooks / stats */ | |
| #define configCHECK_FOR_STACK_OVERFLOW 0 | |
| #define configUSE_MALLOC_FAILED_HOOK 0 | |
| #define configGENERATE_RUN_TIME_STATS 0 | |
| #define configUSE_TRACE_FACILITY 1 | |
| #define configUSE_STATS_FORMATTING_FUNCTIONS 0 | |
| #define configUSE_CO_ROUTINES 0 | |
| /* Software timers - required, since xEventGroupSetBitsFromISR() pends to the daemon */ | |
| #define configUSE_TIMERS 1 | |
| #define configTIMER_TASK_PRIORITY ( configMAX_PRIORITIES - 1 ) | |
| #define configTIMER_QUEUE_LENGTH 10 | |
| #define configTIMER_TASK_STACK_DEPTH 1024 | |
| #if FREE_RTOS_KERNEL_SMP /* set by the RP2xxx SMP port */ | |
| #ifndef configNUMBER_OF_CORES | |
| #define configNUMBER_OF_CORES 1 | |
| #endif | |
| #define configNUM_CORES configNUMBER_OF_CORES | |
| #define configTICK_CORE 0 | |
| #define configRUN_MULTIPLE_PRIORITIES 1 | |
| #if configNUMBER_OF_CORES > 1 | |
| #define configUSE_CORE_AFFINITY 1 | |
| #endif | |
| #define configUSE_PASSIVE_IDLE_HOOK 0 | |
| #endif | |
| /* This is the whole point of the test */ | |
| #define configSUPPORT_PICO_SYNC_INTEROP 1 | |
| #define configSUPPORT_PICO_TIME_INTEROP 1 | |
| #include <assert.h> | |
| #define configASSERT(x) assert(x) | |
| #define INCLUDE_vTaskPrioritySet 1 | |
| #define INCLUDE_uxTaskPriorityGet 1 | |
| #define INCLUDE_vTaskDelete 1 | |
| #define INCLUDE_vTaskSuspend 1 | |
| #define INCLUDE_vTaskDelayUntil 1 | |
| #define INCLUDE_vTaskDelay 1 | |
| #define INCLUDE_xTaskGetSchedulerState 1 | |
| #define INCLUDE_xTaskGetCurrentTaskHandle 1 | |
| #define INCLUDE_eTaskGetState 1 | |
| #define INCLUDE_xTimerPendFunctionCall 1 | |
| #if PICO_RP2350 | |
| #define configENABLE_MPU 0 | |
| #define configENABLE_TRUSTZONE 0 | |
| #define configRUN_FREERTOS_SECURE_ONLY 1 | |
| #define configENABLE_FPU 1 | |
| #define configMAX_SYSCALL_INTERRUPT_PRIORITY 16 | |
| #endif | |
| #endif /* FREERTOS_CONFIG_H */ |