2 FreeRTOS V8.0.0:rc2 - Copyright (C) 2014 Real Time Engineers Ltd.
5 VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
7 ***************************************************************************
9 * FreeRTOS provides completely free yet professionally developed, *
10 * robust, strictly quality controlled, supported, and cross *
11 * platform software that has become a de facto standard. *
13 * Help yourself get started quickly and support the FreeRTOS *
14 * project by purchasing a FreeRTOS tutorial book, reference *
15 * manual, or both from: http://www.FreeRTOS.org/Documentation *
19 ***************************************************************************
21 This file is part of the FreeRTOS distribution.
23 FreeRTOS is free software; you can redistribute it and/or modify it under
24 the terms of the GNU General Public License (version 2) as published by the
25 Free Software Foundation >>!AND MODIFIED BY!<< the FreeRTOS exception.
27 >>! NOTE: The modification to the GPL is included to allow you to distribute
28 >>! a combined work that includes FreeRTOS without being obliged to provide
29 >>! the source code for proprietary components outside of the FreeRTOS
32 FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
33 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
34 FOR A PARTICULAR PURPOSE. Full license text is available from the following
35 link: http://www.freertos.org/a00114.html
39 ***************************************************************************
41 * Having a problem? Start by reading the FAQ "My application does *
42 * not run, what could be wrong?" *
44 * http://www.FreeRTOS.org/FAQHelp.html *
46 ***************************************************************************
48 http://www.FreeRTOS.org - Documentation, books, training, latest versions,
49 license and Real Time Engineers Ltd. contact details.
51 http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
52 including FreeRTOS+Trace - an indispensable productivity tool, a DOS
53 compatible FAT file system, and our tiny thread aware UDP/IP stack.
55 http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High
56 Integrity Systems to sell under the OpenRTOS brand. Low cost OpenRTOS
57 licenses offer ticketed support, indemnification and middleware.
59 http://www.SafeRTOS.com - High Integrity Systems also provide a safety
60 engineered and independently SIL3 certified version for use in safety and
61 mission critical applications that require provable dependability.
66 /******************************************************************************
67 * This project provides two demo applications. A simple blinky style project,
68 * and a more comprehensive test and demo application. The
69 * mainCREATE_SIMPLE_BLINKY_DEMO_ONLY setting (defined in this file) is used to
70 * select between the two. The simply blinky demo is implemented and described
71 * in main_blinky.c. The more comprehensive test and demo application is
72 * implemented and described in main_full.c.
74 * This file implements the code that is not demo specific, including the
75 * hardware setup and FreeRTOS hook functions.
77 * ENSURE TO READ THE DOCUMENTATION PAGE FOR THIS PORT AND DEMO APPLICATION ON
78 * THE http://www.FreeRTOS.org WEB SITE FOR FULL INFORMATION ON USING THIS DEMO
79 * APPLICATION, AND ITS ASSOCIATE FreeRTOS ARCHITECTURE PORT!
83 /* Standard includes. */
86 /* Scheduler include files. */
91 /* Standard demo includes. */
93 #include "TimerDemo.h"
94 #include "QueueOverwrite.h"
96 /* Xilinx includes. */
98 #include "xparameters.h"
99 #include "xscutimer.h"
101 #include "xil_exception.h"
107 print("Hello World\n\r");
112 void vAssertCalled( const char * pcFile, unsigned long ulLine )
119 void vConfigureTickInterrupt( void )
123 static void prvSetupHardware( void )
128 * Connect the interrupt controller interrupt handler to the hardware
129 * interrupt handling logic in the ARM processor.
132 Xil_ExceptionRegisterHandler(XIL_EXCEPTION_ID_UNDEFINED_INT,
133 (Xil_ExceptionHandler)FreeRTOS_ExHandler,
136 Xil_ExceptionRegisterHandler(XIL_EXCEPTION_ID_PREFETCH_ABORT_INT,
137 (Xil_ExceptionHandler)FreeRTOS_ExHandler,
140 Xil_ExceptionRegisterHandler(XIL_EXCEPTION_ID_DATA_ABORT_INT,
141 (Xil_ExceptionHandler)FreeRTOS_ExHandler,
147 void vApplicationIdleHook( void )
151 void vApplicationStackOverflowHook( TaskHandle_t xTask, const char * pcTaskName )
155 void vApplicationTickHook( void )
159 void vApplicationIRQHandler( uint32_t ulICCIAR )
161 uint32_t ulInterruptID;
163 /* Re-enable interrupts. */
166 /* The ID of the interrupt can be obtained by bitwise anding the ICCIAR value
168 ulInterruptID = ulICCIAR & 0x3FFUL;
170 /* Call the function installed in the array of installed handler functions. */
171 // intc_func_table[ ulInterruptID ]( 0 );