FreeRTOS v_8.2.1 for LPC1768

Dependents:   frtos_v_8_bluetooth frtos_v_8_pololu frtos_v_8_Final

Committer:
JoaoJardim
Date:
Mon Dec 10 10:04:09 2018 +0000
Revision:
1:2f4de0d9dc8b
Parent:
0:91ad48ad5687
Same implementation as freertos_bluetooth at this time, but with FreeRTOS v_8.2.1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dflet 0:91ad48ad5687 1 /*
dflet 0:91ad48ad5687 2 FreeRTOS V8.2.1 - Copyright (C) 2015 Real Time Engineers Ltd.
dflet 0:91ad48ad5687 3 All rights reserved
dflet 0:91ad48ad5687 4
dflet 0:91ad48ad5687 5 VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
dflet 0:91ad48ad5687 6
dflet 0:91ad48ad5687 7 This file is part of the FreeRTOS distribution.
dflet 0:91ad48ad5687 8
dflet 0:91ad48ad5687 9 FreeRTOS is free software; you can redistribute it and/or modify it under
dflet 0:91ad48ad5687 10 the terms of the GNU General Public License (version 2) as published by the
dflet 0:91ad48ad5687 11 Free Software Foundation >>!AND MODIFIED BY!<< the FreeRTOS exception.
dflet 0:91ad48ad5687 12
dflet 0:91ad48ad5687 13 ***************************************************************************
dflet 0:91ad48ad5687 14 >>! NOTE: The modification to the GPL is included to allow you to !<<
dflet 0:91ad48ad5687 15 >>! distribute a combined work that includes FreeRTOS without being !<<
dflet 0:91ad48ad5687 16 >>! obliged to provide the source code for proprietary components !<<
dflet 0:91ad48ad5687 17 >>! outside of the FreeRTOS kernel. !<<
dflet 0:91ad48ad5687 18 ***************************************************************************
dflet 0:91ad48ad5687 19
dflet 0:91ad48ad5687 20 FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
dflet 0:91ad48ad5687 21 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
dflet 0:91ad48ad5687 22 FOR A PARTICULAR PURPOSE. Full license text is available on the following
dflet 0:91ad48ad5687 23 link: http://www.freertos.org/a00114.html
dflet 0:91ad48ad5687 24
dflet 0:91ad48ad5687 25 ***************************************************************************
dflet 0:91ad48ad5687 26 * *
dflet 0:91ad48ad5687 27 * FreeRTOS provides completely free yet professionally developed, *
dflet 0:91ad48ad5687 28 * robust, strictly quality controlled, supported, and cross *
dflet 0:91ad48ad5687 29 * platform software that is more than just the market leader, it *
dflet 0:91ad48ad5687 30 * is the industry's de facto standard. *
dflet 0:91ad48ad5687 31 * *
dflet 0:91ad48ad5687 32 * Help yourself get started quickly while simultaneously helping *
dflet 0:91ad48ad5687 33 * to support the FreeRTOS project by purchasing a FreeRTOS *
dflet 0:91ad48ad5687 34 * tutorial book, reference manual, or both: *
dflet 0:91ad48ad5687 35 * http://www.FreeRTOS.org/Documentation *
dflet 0:91ad48ad5687 36 * *
dflet 0:91ad48ad5687 37 ***************************************************************************
dflet 0:91ad48ad5687 38
dflet 0:91ad48ad5687 39 http://www.FreeRTOS.org/FAQHelp.html - Having a problem? Start by reading
dflet 0:91ad48ad5687 40 the FAQ page "My application does not run, what could be wrong?". Have you
dflet 0:91ad48ad5687 41 defined configASSERT()?
dflet 0:91ad48ad5687 42
dflet 0:91ad48ad5687 43 http://www.FreeRTOS.org/support - In return for receiving this top quality
dflet 0:91ad48ad5687 44 embedded software for free we request you assist our global community by
dflet 0:91ad48ad5687 45 participating in the support forum.
dflet 0:91ad48ad5687 46
dflet 0:91ad48ad5687 47 http://www.FreeRTOS.org/training - Investing in training allows your team to
dflet 0:91ad48ad5687 48 be as productive as possible as early as possible. Now you can receive
dflet 0:91ad48ad5687 49 FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers
dflet 0:91ad48ad5687 50 Ltd, and the world's leading authority on the world's leading RTOS.
dflet 0:91ad48ad5687 51
dflet 0:91ad48ad5687 52 http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
dflet 0:91ad48ad5687 53 including FreeRTOS+Trace - an indispensable productivity tool, a DOS
dflet 0:91ad48ad5687 54 compatible FAT file system, and our tiny thread aware UDP/IP stack.
dflet 0:91ad48ad5687 55
dflet 0:91ad48ad5687 56 http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.
dflet 0:91ad48ad5687 57 Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.
dflet 0:91ad48ad5687 58
dflet 0:91ad48ad5687 59 http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High
dflet 0:91ad48ad5687 60 Integrity Systems ltd. to sell under the OpenRTOS brand. Low cost OpenRTOS
dflet 0:91ad48ad5687 61 licenses offer ticketed support, indemnification and commercial middleware.
dflet 0:91ad48ad5687 62
dflet 0:91ad48ad5687 63 http://www.SafeRTOS.com - High Integrity Systems also provide a safety
dflet 0:91ad48ad5687 64 engineered and independently SIL3 certified version for use in safety and
dflet 0:91ad48ad5687 65 mission critical applications that require provable dependability.
dflet 0:91ad48ad5687 66
dflet 0:91ad48ad5687 67 1 tab == 4 spaces!
dflet 0:91ad48ad5687 68 */
dflet 0:91ad48ad5687 69
dflet 0:91ad48ad5687 70 #ifndef PROJDEFS_H
dflet 0:91ad48ad5687 71 #define PROJDEFS_H
dflet 0:91ad48ad5687 72
dflet 0:91ad48ad5687 73 /*
dflet 0:91ad48ad5687 74 * Defines the prototype to which task functions must conform. Defined in this
dflet 0:91ad48ad5687 75 * file to ensure the type is known before portable.h is included.
dflet 0:91ad48ad5687 76 */
dflet 0:91ad48ad5687 77 typedef void (*TaskFunction_t)( void * );
dflet 0:91ad48ad5687 78
dflet 0:91ad48ad5687 79 /* Converts a time in milliseconds to a time in ticks. */
dflet 0:91ad48ad5687 80 #define pdMS_TO_TICKS( xTimeInMs ) ( ( TickType_t ) ( ( ( TickType_t ) ( xTimeInMs ) * ( TickType_t ) configTICK_RATE_HZ ) / ( TickType_t ) 1000 ) )
dflet 0:91ad48ad5687 81
dflet 0:91ad48ad5687 82 #define pdFALSE ( ( BaseType_t ) 0 )
dflet 0:91ad48ad5687 83 #define pdTRUE ( ( BaseType_t ) 1 )
dflet 0:91ad48ad5687 84
dflet 0:91ad48ad5687 85 #define pdPASS ( pdTRUE )
dflet 0:91ad48ad5687 86 #define pdFAIL ( pdFALSE )
dflet 0:91ad48ad5687 87 #define errQUEUE_EMPTY ( ( BaseType_t ) 0 )
dflet 0:91ad48ad5687 88 #define errQUEUE_FULL ( ( BaseType_t ) 0 )
dflet 0:91ad48ad5687 89
dflet 0:91ad48ad5687 90 /* FreeRTOS error definitions. */
dflet 0:91ad48ad5687 91 #define errCOULD_NOT_ALLOCATE_REQUIRED_MEMORY ( -1 )
dflet 0:91ad48ad5687 92 #define errQUEUE_BLOCKED ( -4 )
dflet 0:91ad48ad5687 93 #define errQUEUE_YIELD ( -5 )
dflet 0:91ad48ad5687 94
dflet 0:91ad48ad5687 95 /* Macros used for basic data corruption checks. */
dflet 0:91ad48ad5687 96 #ifndef configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES
dflet 0:91ad48ad5687 97 #define configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES 0
dflet 0:91ad48ad5687 98 #endif
dflet 0:91ad48ad5687 99
dflet 0:91ad48ad5687 100 #if( configUSE_16_BIT_TICKS == 1 )
dflet 0:91ad48ad5687 101 #define pdINTEGRITY_CHECK_VALUE 0x5a5a
dflet 0:91ad48ad5687 102 #else
dflet 0:91ad48ad5687 103 #define pdINTEGRITY_CHECK_VALUE 0x5a5a5a5aUL
dflet 0:91ad48ad5687 104 #endif
dflet 0:91ad48ad5687 105
dflet 0:91ad48ad5687 106 /* The following endian values are used by FreeRTOS+ components, not FreeRTOS
dflet 0:91ad48ad5687 107 itself. */
dflet 0:91ad48ad5687 108 #define pdFREERTOS_LITTLE_ENDIAN 0
dflet 0:91ad48ad5687 109 #define pdFREERTOS_BIG_ENDIAN 1
dflet 0:91ad48ad5687 110
dflet 0:91ad48ad5687 111 #endif /* PROJDEFS_H */
dflet 0:91ad48ad5687 112
dflet 0:91ad48ad5687 113
dflet 0:91ad48ad5687 114
dflet 0:91ad48ad5687 115