git-svn-id: https://svn.vbchaos.nl/svn/hsb/trunk@239 05563f52-14a8-4384-a975-3d1654cca0fa
134 lines
5.2 KiB
C
134 lines
5.2 KiB
C
// -----------------------------------------------------------------------------
|
|
/// @file FreeRTOSConfig.h
|
|
/// @brief File description
|
|
// -----------------------------------------------------------------------------
|
|
// Micro-Key bv
|
|
// Industrieweg 28, 9804 TG Noordhorn
|
|
// Postbus 92, 9800 AB Zuidhorn
|
|
// The Netherlands
|
|
// Tel: +31 594 503020
|
|
// Fax: +31 594 505825
|
|
// Email: support@microkey.nl
|
|
// Web: www.microkey.nl
|
|
// -----------------------------------------------------------------------------
|
|
/// $Revision$
|
|
/// $Author$
|
|
/// $Date$
|
|
// (c) 2017 Micro-Key bv
|
|
// -----------------------------------------------------------------------------
|
|
|
|
/// @defgroup {group_name} {group_description}
|
|
/// Description
|
|
|
|
/// @file FreeRTOSConfig.h
|
|
/// @ingroup {group_name}
|
|
|
|
|
|
#ifndef FREERTOSCONFIG_H_
|
|
#define FREERTOSCONFIG_H_
|
|
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// Include files
|
|
// -----------------------------------------------------------------------------
|
|
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// Constant and macro definitions
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#define configUSE_PREEMPTION 1
|
|
#define configUSE_IDLE_HOOK 0
|
|
#define configUSE_TICK_HOOK 1
|
|
#define configCPU_CLOCK_HZ ( ( unsigned long ) 8000000 )
|
|
#define configTICK_RATE_HZ ( ( TickType_t ) 1000 )
|
|
#define configMAX_PRIORITIES ( 5 )
|
|
#define configMINIMAL_STACK_SIZE ( ( unsigned short ) 256 )
|
|
#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 0x8000 ) )
|
|
#define configMAX_TASK_NAME_LEN ( 16 )
|
|
#define configUSE_TRACE_FACILITY 1
|
|
#define configUSE_16_BIT_TICKS 0
|
|
#define configIDLE_SHOULD_YIELD 1
|
|
|
|
/* Co-routine definitions. */
|
|
#define configUSE_CO_ROUTINES 0
|
|
#define configMAX_CO_ROUTINE_PRIORITIES ( 2 )
|
|
|
|
#define configUSE_MUTEXES 1
|
|
#define configUSE_COUNTING_SEMAPHORES 0
|
|
#define configUSE_ALTERNATIVE_API 0
|
|
#define configCHECK_FOR_STACK_OVERFLOW 2
|
|
#define configUSE_RECURSIVE_MUTEXES 1
|
|
#define configQUEUE_REGISTRY_SIZE (10)
|
|
#define configGENERATE_RUN_TIME_STATS 1
|
|
|
|
|
|
/* Set the following definitions to 1 to include the API function, or zero
|
|
to exclude the API function. */
|
|
|
|
#define INCLUDE_vTaskPrioritySet 1
|
|
#define INCLUDE_uxTaskPriorityGet 1
|
|
#define INCLUDE_vTaskDelete 1
|
|
#define INCLUDE_vTaskCleanUpResources 0
|
|
#define INCLUDE_vTaskSuspend 1
|
|
#define INCLUDE_vTaskDelayUntil 1
|
|
#define INCLUDE_vTaskDelay 1
|
|
#define INCLUDE_uxTaskGetStackHighWaterMark 1
|
|
|
|
|
|
/* Software timer related definitions. */
|
|
#define configUSE_TIMERS 1
|
|
#define configTIMER_TASK_PRIORITY (4)
|
|
#define configTIMER_QUEUE_LENGTH (10)
|
|
#define configTIMER_TASK_STACK_DEPTH configMINIMAL_STACK_SIZE
|
|
|
|
/* Define to trap errors during development. */
|
|
#define configASSERT( x ) if( ( x ) == 0 ) for(;;)
|
|
|
|
#define vPortSVCHandler SVC_Handler
|
|
#define xPortPendSVHandler PendSV_Handler
|
|
#define xPortSysTickHandler SysTick_Handler
|
|
|
|
/* This demo makes use of one or more example stats formatting functions. These
|
|
format the raw data provided by the uxTaskGetSystemState() function in to human
|
|
readable ASCII form. See the notes in the implementation of vTaskList() within
|
|
FreeRTOS/Source/tasks.c for limitations. */
|
|
#define configUSE_STATS_FORMATTING_FUNCTIONS 1
|
|
|
|
/* This is the raw value as per the Cortex-M3 NVIC. Values can be 255
|
|
(lowest) to 0 (1?) (highest). */
|
|
#define configKERNEL_INTERRUPT_PRIORITY 255
|
|
/* !!!! configMAX_SYSCALL_INTERRUPT_PRIORITY must not be set to zero !!!!
|
|
See http://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html. */
|
|
#define configMAX_SYSCALL_INTERRUPT_PRIORITY 191 /* equivalent to 0xb0, or priority 11. */
|
|
|
|
|
|
/* This is the value being used as per the ST library which permits 16
|
|
priority values, 0 to 15. This must correspond to the
|
|
configKERNEL_INTERRUPT_PRIORITY setting. Here 15 corresponds to the lowest
|
|
NVIC value of 255. */
|
|
#define configLIBRARY_KERNEL_INTERRUPT_PRIORITY 15
|
|
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// Type definitions.
|
|
// -----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// Function declarations
|
|
// -----------------------------------------------------------------------------
|
|
|
|
/*-----------------------------------------------------------
|
|
* Macros required to setup the timer for the run time stats.
|
|
*-----------------------------------------------------------*/
|
|
/* The run time stats time base just uses the existing high frequency timer
|
|
test clock. All these macros do is clear and return the high frequency
|
|
interrupt count respectively. */
|
|
extern unsigned long ulRunTimeStatsClock;
|
|
#define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() ulRunTimeStatsClock = 0
|
|
#define portGET_RUN_TIME_COUNTER_VALUE() ulRunTimeStatsClock
|
|
|
|
#endif /* FREERTOSCONFIG_H_ */
|