FreeRTOSConfig.h File Reference
#include "sys_config.h"
#include "lpc_isr.h"
#include "fault_registers.h"
#include "trace/trcUser.h"
Include dependency graph for FreeRTOSConfig.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define configUSE_PREEMPTION   1
 One task can preempt another task (if equal or higher priority) More...
 
#define configUSE_IDLE_HOOK   1
 Using IDLE task can put CPU to low power mode. More...
 
#define configUSE_TICK_HOOK   0
 Every timer interrupt calls the tick function. More...
 
#define configUSE_MALLOC_FAILED_HOOK   1
 If memory runs out, the hook function is called. More...
 
#define configCPU_CLOCK_HZ   (SYS_CFG_DESIRED_CPU_CLK)
 
#define configTICK_RATE_HZ   ( 1000 )
 
#define configENABLE_BACKWARD_COMPATIBILITY   0
 
#define PERIODIC_SCH_PRIORITIES   (5)
 
#define configMAX_PRIORITIES   (1 + 4 + PERIODIC_SCH_PRIORITIES)
 
#define PRIORITY_LOW   1
 
#define PRIORITY_MEDIUM   2
 
#define PRIORITY_HIGH   3
 
#define PRIORITY_CRITICAL   (configMAX_PRIORITIES - PERIODIC_SCH_PRIORITIES - 1)
 
#define configMINIMAL_STACK_SIZE   ( ( unsigned short ) 128 )
 Do not change this. More...
 
#define STACK_BYTES(x)   ((x)/4)
 32-bit CPU use 4 bytes per stack unit More...
 
#define MS_PER_TICK()   ( 1000 / configTICK_RATE_HZ)
 tick to millisecond factor More...
 
#define OS_MS(x)   ( x / MS_PER_TICK() )
 Ticks to millisecond conversion. More...
 
#define vTaskDelayMs(x)   vTaskDelay(OS_MS((x)))
 Sleep for ms instead of ticks. More...
 
#define xTaskGetMsCount()   (xTaskGetTickCount() * MS_PER_TICK())
 
#define configMAX_TASK_NAME_LEN   ( 8 )
 
#define configUSE_16_BIT_TICKS   0
 Use 16-bit ticks vs. 32-bits. More...
 
#define configIDLE_SHOULD_YIELD   1
 See FreeRTOS documentation. More...
 
#define configCHECK_FOR_STACK_OVERFLOW   2
 0=OFF, 1=Simple, 2=Complex More...
 
#define configUSE_ALTERNATIVE_API   0
 No need to use deprecated API. More...
 
#define configQUEUE_REGISTRY_SIZE   0
 See FreeRTOS documentation. More...
 
#define configUSE_CO_ROUTINES   0
 No need for co-routines, just use tasks. More...
 
#define configMAX_CO_ROUTINE_PRIORITIES   ( 1 )
 No need if not using co-routines. More...
 
#define configGENERATE_RUN_TIME_STATS   1
 CPU usage utilities. More...
 
#define configUSE_TRACE_FACILITY   0
 FreeRTOS + Percepio Tracealyzer trace facility. More...
 
#define configUSE_STATS_FORMATTING_FUNCTIONS   0
 Older FreeRTOS functions. More...
 
#define INCLUDE_eTaskGetState   1
 Was needed by the "info" command-line handler. More...
 
#define configUSE_MUTEXES   1
 
#define configUSE_RECURSIVE_MUTEXES   0
 
#define configUSE_COUNTING_SEMAPHORES   1
 
#define configUSE_QUEUE_SETS   1
 
#define INCLUDE_vTaskPrioritySet   0
 
#define INCLUDE_uxTaskPriorityGet   0
 
#define INCLUDE_vTaskDelete   0
 A task should never be deleted in an RTOS (why create it only to delete it later?) More...
 
#define INCLUDE_vTaskCleanUpResources   0
 Ditto ^^. More...
 
#define INCLUDE_vTaskSuspend   1
 
#define INCLUDE_vTaskDelayUntil   1
 
#define INCLUDE_vTaskDelay   1
 
#define INCLUDE_uxTaskGetStackHighWaterMark   1
 
#define INCLUDE_xTaskGetSchedulerState   1
 
#define INCLUDE_xTaskGetIdleTaskHandle   1
 
#define configUSE_TIMERS   0
 Enable or disable the FreeRTOS timer task. More...
 
#define configTIMER_TASK_PRIORITY   PRIORITY_HIGH
 Priority at which the timer task should run (use highest) More...
 
#define configTIMER_QUEUE_LENGTH   10
 See FreeRTOS documentation. More...
 
#define configTIMER_TASK_STACK_DEPTH   STACK_BYTES(2048)
 Stack size for the timer task. More...
 
#define INCLUDE_xTimerPendFunctionCall   0
 Uses timer daemon task, so needs configUSE_TIMERS to 1. More...
 
#define configPRIO_BITS   5 /* 32 priority levels */
 
#define configKERNEL_INTERRUPT_PRIORITY   ( IP_KERNEL << (8 - configPRIO_BITS) )
 
#define configMAX_SYSCALL_INTERRUPT_PRIORITY   ( IP_SYSCALL << (8 - configPRIO_BITS) )
 
#define configUSE_PORT_OPTIMISED_TASK_SELECTION   1
 
#define traceTASK_SWITCHED_IN()
 
#define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS()   rts_not_full_trace_init()
 
#define portGET_RUN_TIME_COUNTER_VALUE()   rts_not_full_trace_get()
 
#define portRESET_TIMER_FOR_RUN_TIME_STATS()   rts_not_full_trace_reset()
 
#define configMEM_MANG_TYPE   3
 
#define configTOTAL_HEAP_SIZE   ( ( size_t ) ( 24 * 1024 ) )
 

Functions

void rts_not_full_trace_init (void)
 
unsigned int rts_not_full_trace_get ()
 
void rts_not_full_trace_reset ()
 

Macro Definition Documentation

#define configCHECK_FOR_STACK_OVERFLOW   2

0=OFF, 1=Simple, 2=Complex

#define configCPU_CLOCK_HZ   (SYS_CFG_DESIRED_CPU_CLK)
#define configENABLE_BACKWARD_COMPATIBILITY   0
#define configGENERATE_RUN_TIME_STATS   1

CPU usage utilities.

#define configIDLE_SHOULD_YIELD   1

See FreeRTOS documentation.

#define configKERNEL_INTERRUPT_PRIORITY   ( IP_KERNEL << (8 - configPRIO_BITS) )
#define configMAX_CO_ROUTINE_PRIORITIES   ( 1 )

No need if not using co-routines.

#define configMAX_PRIORITIES   (1 + 4 + PERIODIC_SCH_PRIORITIES)
#define configMAX_SYSCALL_INTERRUPT_PRIORITY   ( IP_SYSCALL << (8 - configPRIO_BITS) )
#define configMAX_TASK_NAME_LEN   ( 8 )
#define configMEM_MANG_TYPE   3

FreeRTOS Memory configuration 1 - Get from the pool defined by configTOTAL_HEAP_SIZE. No free() 2 - Get from the pool defined by configTOTAL_HEAP_SIZE with free() 3 - Just redirect FreeRTOS memory to malloc() and free() 4 - Same as 2, but coalescencent blocks can be combined.

configTOTAL_HEAP_SIZE only matters when scheme 1, 2 or 4 is used above.

#define configMINIMAL_STACK_SIZE   ( ( unsigned short ) 128 )

Do not change this.

#define configPRIO_BITS   5 /* 32 priority levels */
#define configQUEUE_REGISTRY_SIZE   0

See FreeRTOS documentation.

#define configTICK_RATE_HZ   ( 1000 )
#define configTIMER_QUEUE_LENGTH   10

See FreeRTOS documentation.

#define configTIMER_TASK_PRIORITY   PRIORITY_HIGH

Priority at which the timer task should run (use highest)

#define configTIMER_TASK_STACK_DEPTH   STACK_BYTES(2048)

Stack size for the timer task.

#define configTOTAL_HEAP_SIZE   ( ( size_t ) ( 24 * 1024 ) )
#define configUSE_16_BIT_TICKS   0

Use 16-bit ticks vs. 32-bits.

#define configUSE_ALTERNATIVE_API   0

No need to use deprecated API.

#define configUSE_CO_ROUTINES   0

No need for co-routines, just use tasks.

#define configUSE_COUNTING_SEMAPHORES   1
#define configUSE_IDLE_HOOK   1

Using IDLE task can put CPU to low power mode.

#define configUSE_MALLOC_FAILED_HOOK   1

If memory runs out, the hook function is called.

#define configUSE_MUTEXES   1
#define configUSE_PORT_OPTIMISED_TASK_SELECTION   1
#define configUSE_PREEMPTION   1

One task can preempt another task (if equal or higher priority)

#define configUSE_QUEUE_SETS   1
#define configUSE_RECURSIVE_MUTEXES   0
#define configUSE_STATS_FORMATTING_FUNCTIONS   0

Older FreeRTOS functions.

#define configUSE_TICK_HOOK   0

Every timer interrupt calls the tick function.

#define configUSE_TIMERS   0

Enable or disable the FreeRTOS timer task.

#define configUSE_TRACE_FACILITY   0

FreeRTOS + Percepio Tracealyzer trace facility.

#define INCLUDE_eTaskGetState   1

Was needed by the "info" command-line handler.

#define INCLUDE_uxTaskGetStackHighWaterMark   1
#define INCLUDE_uxTaskPriorityGet   0
#define INCLUDE_vTaskCleanUpResources   0

Ditto ^^.

#define INCLUDE_vTaskDelay   1
#define INCLUDE_vTaskDelayUntil   1
#define INCLUDE_vTaskDelete   0

A task should never be deleted in an RTOS (why create it only to delete it later?)

#define INCLUDE_vTaskPrioritySet   0
#define INCLUDE_vTaskSuspend   1
#define INCLUDE_xTaskGetIdleTaskHandle   1
#define INCLUDE_xTaskGetSchedulerState   1
#define INCLUDE_xTimerPendFunctionCall   0

Uses timer daemon task, so needs configUSE_TIMERS to 1.

#define MS_PER_TICK ( )    ( 1000 / configTICK_RATE_HZ)

tick to millisecond factor

#define OS_MS (   x)    ( x / MS_PER_TICK() )

Ticks to millisecond conversion.

#define PERIODIC_SCH_PRIORITIES   (5)
#define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS ( )    rts_not_full_trace_init()
#define portGET_RUN_TIME_COUNTER_VALUE ( )    rts_not_full_trace_get()
#define portRESET_TIMER_FOR_RUN_TIME_STATS ( )    rts_not_full_trace_reset()
#define PRIORITY_CRITICAL   (configMAX_PRIORITIES - PERIODIC_SCH_PRIORITIES - 1)
#define PRIORITY_HIGH   3
#define PRIORITY_LOW   1
#define PRIORITY_MEDIUM   2
#define STACK_BYTES (   x)    ((x)/4)

32-bit CPU use 4 bytes per stack unit

#define traceTASK_SWITCHED_IN ( )
Value:
do { \
uint32_t *pTaskName = (uint32_t*)(pxCurrentTCB->pcTaskName); \
} while (0)
PRIVILEGED_DATA TCB_t *volatile pxCurrentTCB
Definition: tasks.c:372
#define FAULT_LAST_RUNNING_TASK_NAME
FreeRTOS crash info register.
Definition: fault_registers.h:34
char pcTaskName[configMAX_TASK_NAME_LEN]
Definition: tasks.c:305
#define vTaskDelayMs (   x)    vTaskDelay(OS_MS((x)))

Sleep for ms instead of ticks.

#define xTaskGetMsCount ( )    (xTaskGetTickCount() * MS_PER_TICK())

Function Documentation

unsigned int rts_not_full_trace_get ( )
void rts_not_full_trace_init ( void  )
void rts_not_full_trace_reset ( )