| /* |
| * 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 */ |