X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=Demo%2FMB91460_Softune%2FSRC%2Fmain.c;h=86ebc7dcbd5cdf5b81722cdc65f7ee242c313c79;hb=3ffe89d18ef2c06d06203b1b1091e65a98a395d2;hp=9ec92d97c9754c078e7243e7716b5a455e2110c2;hpb=bf17c194bd7bbf96261769033b6db918fca19b8a;p=freertos diff --git a/Demo/MB91460_Softune/SRC/main.c b/Demo/MB91460_Softune/SRC/main.c index 9ec92d97c..86ebc7dcb 100644 --- a/Demo/MB91460_Softune/SRC/main.c +++ b/Demo/MB91460_Softune/SRC/main.c @@ -1,43 +1,67 @@ /* - FreeRTOS.org V4.7.1 - Copyright (C) 2003-2008 Richard Barry. - - This file is part of the FreeRTOS.org distribution. - - FreeRTOS.org is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - FreeRTOS.org is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with FreeRTOS.org; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - A special exception to the GPL can be applied should you wish to distribute - a combined work that includes FreeRTOS.org, without being obliged to provide - the source code for any proprietary components. See the licensing section - of http://www.FreeRTOS.org for full details of how and when the exception - can be applied. - - *************************************************************************** - - Please ensure to read the configuration and relevant port sections of the - online documentation. - - +++ http://www.FreeRTOS.org +++ - Documentation, latest information, license and contact details. - - +++ http://www.SafeRTOS.com +++ - A version that is certified for use in safety critical systems. - - +++ http://www.OpenRTOS.com +++ - Commercial support, development, porting, licensing and training services. + FreeRTOS V7.1.1 - Copyright (C) 2012 Real Time Engineers Ltd. + - *************************************************************************** + *************************************************************************** + * * + * FreeRTOS tutorial books are available in pdf and paperback. * + * Complete, revised, and edited pdf reference manuals are also * + * available. * + * * + * Purchasing FreeRTOS documentation will not only help you, by * + * ensuring you get running as quickly as possible and with an * + * in-depth knowledge of how to use FreeRTOS, it will also help * + * the FreeRTOS project to continue with its mission of providing * + * professional grade, cross platform, de facto standard solutions * + * for microcontrollers - completely free of charge! * + * * + * >>> See http://www.FreeRTOS.org/Documentation for details. <<< * + * * + * Thank you for using FreeRTOS, and thank you for your support! * + * * + *************************************************************************** + + + This file is part of the FreeRTOS distribution. + + FreeRTOS is free software; you can redistribute it and/or modify it under + the terms of the GNU General Public License (version 2) as published by the + Free Software Foundation AND MODIFIED BY the FreeRTOS exception. + >>>NOTE<<< The modification to the GPL is included to allow you to + distribute a combined work that includes FreeRTOS without being obliged to + provide the source code for proprietary components outside of the FreeRTOS + kernel. FreeRTOS is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + more details. You should have received a copy of the GNU General Public + License and the FreeRTOS license exception along with FreeRTOS; if not it + can be viewed here: http://www.freertos.org/a00114.html and also obtained + by writing to Richard Barry, contact details for whom are available on the + FreeRTOS WEB site. + + 1 tab == 4 spaces! + + *************************************************************************** + * * + * Having a problem? Start by reading the FAQ "My application does * + * not run, what could be wrong? * + * * + * http://www.FreeRTOS.org/FAQHelp.html * + * * + *************************************************************************** + + + http://www.FreeRTOS.org - Documentation, training, latest information, + license and contact details. + + http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products, + including FreeRTOS+Trace - an indispensable productivity tool. + + Real Time Engineers ltd license FreeRTOS to High Integrity Systems, who sell + the code with commercial support, indemnification, and middleware, under + the OpenRTOS brand: http://www.OpenRTOS.com. High Integrity Systems also + provide a safety engineered and independently SIL3 certified version under + the SafeRTOS brand: http://www.SafeRTOS.com. */ @@ -83,25 +107,24 @@ #include "flash.h" #include "integer.h" #include "comtest2.h" -#include "PollQ.h" #include "semtest.h" #include "BlockQ.h" #include "dynamic.h" #include "flop.h" #include "GenQTest.h" #include "QPeek.h" -#include "BlockTim.h" +#include "blocktim.h" #include "death.h" #include "taskutility.h" #include "partest.h" +#include "crflash.h" /* Demo task priorities. */ #define mainWATCHDOG_TASK_PRIORITY ( tskIDLE_PRIORITY + 5 ) #define mainCHECK_TASK_PRIORITY ( tskIDLE_PRIORITY + 4 ) -#define mainUTILITY_TASK_PRIORITY ( tskIDLE_PRIORITY + 3 ) +#define mainUTILITY_TASK_PRIORITY ( tskIDLE_PRIORITY ) #define mainSEM_TEST_PRIORITY ( tskIDLE_PRIORITY + 3 ) #define mainCOM_TEST_PRIORITY ( tskIDLE_PRIORITY + 2 ) -#define mainQUEUE_POLL_PRIORITY ( tskIDLE_PRIORITY + 2 ) #define mainQUEUE_BLOCK_PRIORITY ( tskIDLE_PRIORITY + 2 ) #define mainDEATH_PRIORITY ( tskIDLE_PRIORITY + 1 ) #define mainLED_TASK_PRIORITY ( tskIDLE_PRIORITY + 1 ) @@ -130,6 +153,9 @@ LCD represent LEDs]*/ /* The number of interrupt levels to use. */ #define mainINTERRUPT_LEVELS ( 31 ) +/* The number of 'flash' co-routines to create - each toggles a different LED. */ +#define mainNUM_FLASH_CO_ROUTINES ( 8 ) + /*---------------------------------------------------------------------------*/ /* @@ -176,7 +202,6 @@ void main(void) vStartLEDFlashTasks( mainLED_TASK_PRIORITY ); vStartIntegerMathTasks( tskIDLE_PRIORITY ); vAltStartComTestTasks( mainCOM_TEST_PRIORITY, mainCOM_TEST_BAUD_RATE, mainCOM_TEST_LED - 1 ); - vStartPolledQueueTasks( mainQUEUE_POLL_PRIORITY ); vStartSemaphoreTasks( mainSEM_TEST_PRIORITY ); vStartBlockingQueueTasks ( mainQUEUE_BLOCK_PRIORITY ); vStartDynamicPriorityTasks(); @@ -184,6 +209,7 @@ void main(void) vStartGenericQueueTasks( mainGENERIC_QUEUE_PRIORITY ); vStartQueuePeekTasks(); vCreateBlockTimeTasks(); + vStartFlashCoRoutines( mainNUM_FLASH_CO_ROUTINES ); /* Start the 'Check' task which is defined in this file. */ xTaskCreate( prvErrorChecks, ( signed portCHAR * ) "Check", configMINIMAL_STACK_SIZE, NULL, mainCHECK_TASK_PRIORITY, NULL ); @@ -264,11 +290,6 @@ portBASE_TYPE lReturn = pdPASS; lReturn = pdFAIL; } - if( xArePollingQueuesStillRunning() != pdTRUE ) - { - lReturn = pdFAIL; - } - if( xAreComTestTasksStillRunning() != pdTRUE ) { lReturn = pdFAIL; @@ -353,6 +374,8 @@ static void prvSetupHardware( void ) #if WATCHDOG == WTC_IN_IDLE Kick_Watchdog(); #endif + + vCoRoutineSchedule(); } #else #if WATCHDOG == WTC_IN_IDLE