1 /*This file is prepared for Doxygen automatic documentation generation.*/
2 /*! \file *********************************************************************
4 * \brief FreeRTOS demonstration for AVR32 UC3.
6 * - Compiler: IAR EWAVR32 and GNU GCC for AVR32
7 * - Supported devices: All AVR32 devices can be used.
10 * \author Atmel Corporation: http://www.atmel.com \n
11 * Support and FAQ: http://support.atmel.no/
13 ******************************************************************************/
15 /* Copyright (c) 2007, Atmel Corporation All rights reserved.
17 * Redistribution and use in source and binary forms, with or without
18 * modification, are permitted provided that the following conditions are met:
20 * 1. Redistributions of source code must retain the above copyright notice,
21 * this list of conditions and the following disclaimer.
23 * 2. Redistributions in binary form must reproduce the above copyright notice,
24 * this list of conditions and the following disclaimer in the documentation
25 * and/or other materials provided with the distribution.
27 * 3. The name of ATMEL may not be used to endorse or promote products derived
28 * from this software without specific prior written permission.
30 * THIS SOFTWARE IS PROVIDED BY ATMEL ``AS IS'' AND ANY EXPRESS OR IMPLIED
31 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
32 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND
33 * SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT,
34 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
35 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
36 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
37 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
38 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
39 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
43 #ifndef FREERTOS_CONFIG_H
44 #define FREERTOS_CONFIG_H
49 /*-----------------------------------------------------------
50 * Application specific definitions.
52 * These definitions should be adjusted for your particular hardware and
53 * application requirements.
55 * THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE
56 * FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE.
58 * See http://www.freertos.org/a00110.html.
59 *----------------------------------------------------------*/
61 #define configUSE_PREEMPTION 1
62 #define configUSE_IDLE_HOOK 0
63 #define configUSE_TICK_HOOK 0
64 #define configCPU_CLOCK_HZ ( FOSC0 ) /* Hz clk gen */
65 #define configPBA_CLOCK_HZ ( FOSC0 )
66 #define configTICK_RATE_HZ ( ( TickType_t ) 1000 )
67 #define configMAX_PRIORITIES ( 8 )
68 #define configMINIMAL_STACK_SIZE ( ( unsigned short ) 128 )
69 /* configTOTAL_HEAP_SIZE is not used when heap_3.c is used. */
70 #define configTOTAL_HEAP_SIZE ( ( size_t ) ( 1024*25 ) )
71 #define configMAX_TASK_NAME_LEN ( 16 )
72 #define configUSE_TRACE_FACILITY 0
73 #define configUSE_16_BIT_TICKS 0
74 #define configIDLE_SHOULD_YIELD 1
76 /* Co-routine definitions. */
77 #define configUSE_CO_ROUTINES 0
78 #define configMAX_CO_ROUTINE_PRIORITIES ( 0 )
80 /* Set the following definitions to 1 to include the API function, or zero
81 to exclude the API function. */
83 #define INCLUDE_vTaskPrioritySet 1
84 #define INCLUDE_uxTaskPriorityGet 1
85 #define INCLUDE_vTaskDelete 1
86 #define INCLUDE_vTaskCleanUpResources 0
87 #define INCLUDE_vTaskSuspend 1
88 #define INCLUDE_vTaskDelayUntil 1
89 #define INCLUDE_vTaskDelay 1
90 #define INCLUDE_xTaskGetCurrentTaskHandle 0
91 #define INCLUDE_xTaskGetSchedulerState 1
93 /* configTICK_USE_TC is a boolean indicating whether to use a Timer Counter
94 for the tick generation. Timer Counter will generate an accurate Tick;
95 otherwise the CPU will generate a tick but with time drift.
96 configTICK_TC_CHANNEL is the TC channel. */
97 #define configTICK_USE_TC 1
98 #define configTICK_TC_CHANNEL 2
100 /* configHEAP_INIT is a boolean indicating whether to initialize the heap with
101 0xA5 in order to be able to determine the maximal heap consumption. */
102 #define configHEAP_INIT 0
104 /* Debug trace configuration.
105 configDBG is a boolean indicating whether to activate the debug trace. */
108 #define configDBG_USART (&AVR32_USART1)
109 #define configDBG_USART_RX_PIN AVR32_USART1_RXD_0_PIN
110 #define configDBG_USART_RX_FUNCTION AVR32_USART1_RXD_0_FUNCTION
111 #define configDBG_USART_TX_PIN AVR32_USART1_TXD_0_PIN
112 #define configDBG_USART_TX_FUNCTION AVR32_USART1_TXD_0_FUNCTION
113 #define configDBG_USART_BAUDRATE 57600
114 #define serialPORT_USART (&AVR32_USART0)
115 #define serialPORT_USART_RX_PIN AVR32_USART0_RXD_0_PIN
116 #define serialPORT_USART_RX_FUNCTION AVR32_USART0_RXD_0_FUNCTION
117 #define serialPORT_USART_TX_PIN AVR32_USART0_TXD_0_PIN
118 #define serialPORT_USART_TX_FUNCTION AVR32_USART0_TXD_0_FUNCTION
119 #define serialPORT_USART_IRQ AVR32_USART0_IRQ
120 #define serialPORT_USART_BAUDRATE 57600
121 #elif BOARD == EVK1101
123 #define configDBG_USART (&AVR32_USART1)
124 #define configDBG_USART_RX_PIN AVR32_USART1_RXD_0_0_PIN
125 #define configDBG_USART_RX_FUNCTION AVR32_USART1_RXD_0_0_FUNCTION
126 #define configDBG_USART_TX_PIN AVR32_USART1_TXD_0_0_PIN
127 #define configDBG_USART_TX_FUNCTION AVR32_USART1_TXD_0_0_FUNCTION
128 #define configDBG_USART_BAUDRATE 57600
129 #define serialPORT_USART (&AVR32_USART1)
130 #define serialPORT_USART_RX_PIN AVR32_USART1_RXD_0_0_PIN
131 #define serialPORT_USART_RX_FUNCTION AVR32_USART1_RXD_0_0_FUNCTION
132 #define serialPORT_USART_TX_PIN AVR32_USART1_TXD_0_0_PIN
133 #define serialPORT_USART_TX_FUNCTION AVR32_USART1_TXD_0_0_FUNCTION
134 #define serialPORT_USART_IRQ AVR32_USART1_IRQ
135 #define serialPORT_USART_BAUDRATE 57600
139 #endif /* FREERTOS_CONFIG_H */