blob: ad289190a2da95e607dbe627e1de939a097d8d69 [file] [log] [blame]
// Copyright 2023 The Pigweed Authors
//
// 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
//
// https://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.
#pragma once
#include <stdint.h>
// Disable formatting to make it easier to compare with other config files.
// clang-format off
// Externally defined variables that must be forward-declared for FreeRTOS to
// use them.
extern uint32_t SystemCoreClock;
extern void configureTimerForRunTimeStats(void);
extern unsigned long getRunTimeCounterValue(void);
#define configUSE_16_BIT_TICKS 0
#define configUSE_CO_ROUTINES 0
#define configUSE_IDLE_HOOK 0
#define configUSE_MALLOC_FAILED_HOOK 0
#define configUSE_MUTEXES 1
#define configUSE_PORT_OPTIMISED_TASK_SELECTION 1
#define configUSE_PREEMPTION 1
#define configUSE_TICK_HOOK 0
#define configUSE_TIMERS 1
#define configUSE_TRACE_FACILITY 1
#define configGENERATE_RUN_TIME_STATS 1
#define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS configureTimerForRunTimeStats
#define portGET_RUN_TIME_COUNTER_VALUE getRunTimeCounterValue
#define configCHECK_FOR_STACK_OVERFLOW 2
#define configCPU_CLOCK_HZ (SystemCoreClock)
#define configENABLE_BACKWARD_COMPATIBILITY 0
#define configMAX_CO_ROUTINE_PRIORITIES (2)
#define configMAX_PRIORITIES (7)
#define configMAX_TASK_NAME_LEN (16)
#define configMESSAGE_BUFFER_LENGTH_TYPE size_t
#define configMINIMAL_STACK_SIZE ((uint16_t)(128))
#define configQUEUE_REGISTRY_SIZE 8
#define configRECORD_STACK_HIGH_ADDRESS 1
#define configTICK_RATE_HZ ((TickType_t)1000)
#define configTIMER_QUEUE_LENGTH 10
#define configTIMER_TASK_PRIORITY (6)
#define configTIMER_TASK_STACK_DEPTH 512
/* Memory allocation related definitions. */
#define configSUPPORT_STATIC_ALLOCATION 1
#define configSUPPORT_DYNAMIC_ALLOCATION 0
#define configTOTAL_HEAP_SIZE ((size_t)(1 * 1024))
#define configAPPLICATION_ALLOCATED_HEAP 0
/* __NVIC_PRIO_BITS in CMSIS */
#define configPRIO_BITS 4
#define configLIBRARY_LOWEST_INTERRUPT_PRIORITY 15
#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))
#define INCLUDE_uxTaskPriorityGet 1
#define INCLUDE_vTaskCleanUpResources 0
#define INCLUDE_vTaskDelay 1
#define INCLUDE_vTaskDelayUntil 0
#define INCLUDE_vTaskDelete 1
#define INCLUDE_vTaskPrioritySet 1
#define INCLUDE_vTaskSuspend 1
#define INCLUDE_xTaskGetSchedulerState 1
#define INCLUDE_uxTaskGetStackHighWaterMark 1
// Instead of defining configASSERT(), include a header that provides a
// definition that redirects to pw_assert.
#include "pw_third_party/freertos/config_assert.h"
#define vPortSVCHandler SVC_Handler
#define xPortPendSVHandler PendSV_Handler
#define xPortSysTickHandler SysTick_Handler