Remove coroutines (#874)

* Remove co-routine centric CORTEX_LM3S102_Rowley demos.

Remove CORTEX_LM3S102_Rowley Demo2 and Demo3.
Update Demo1 to no longer use coroutines.

* Remove co-routines from MB91460_Softune demo

* FreeRTOS_96348hs_SK16FX100PMC: Remove co-routine usage.

Remove co-routine usage from FreeRTOS_96348hs_SK16FX100PMC demo.

* MB96350_Softune_Dice_Kit: Remove co-routine usage

Remove co-routines usage from MB96350_Softune_Dice_Kit demo

* AVR_Dx_IAR: Remove co-routine usage

* AVR_Dx_Atmel_Studio: Remove co-routine usage

* PIC24_MPLAB: Remove autogenerated files and add to .gitignore

* PIC24_MPLAB: Remove co-routine usage from demo

* AVR_ATMega323_IAR: Remove co-routine usage

* ColdFire_MCF52221_CodeWarrior: Remove coroutine usage

* AVR_ATMega4809_MPLAB.X: Remove co-routine usage

* AVR_ATMega4809_IAR: Remove co-routine usage

* AVR_ATMega4809_Atmel_Studio: Remove coroutine usage

* AVR_ATMega323_WinAVR: Remove coroutine usage

* AVR_Dx_MPLAB.X: Remove coroutine usage

* dsPIC_MPLAB: Remove coroutine usage

* CORTEX_LM3S102_GCC: Remove coroutines and coroutine centric demos

* CORTEX_LM3S102_GCC: Update makefile to discard unused symbols

Allows fitting in the limited ram/flash for this part.

* CORTEX_LM3S316_IAR: Remove coroutines

* Demos: Remove references to crflash.c, crhook.c, crflash.h, crhook.h

* Remove coroutine options from FreeRTOSConfig.h files

* Xilinx: Remove backup file generated by revup utility

* Demos: Remove Coroutine related config items and references

* Format CBMC FreeRTOSConfig.h

* Update URL from aws.amazon.com/freertos to github.com/FreeRTOS

* Fix copyright year and license text

* Fix license text in demo files

* Update header check excluded path list

* Add configBENCHMARK to lexicon
This commit is contained in:
Paul Bartell 2022-11-21 20:59:53 -08:00 committed by GitHub
parent eb7fd55a49
commit 569c78fd8c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
1153 changed files with 4875 additions and 12450 deletions

View file

@ -20,24 +20,24 @@
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* https://www.FreeRTOS.org
* https://aws.amazon.com/freertos
* https://github.com/FreeRTOS
*
*/
/*
* Creates the demo application tasks, then starts the scheduler. The WEB
* documentation provides more details of the demo application tasks.
*
*
* Main. c also creates four other tasks:
*
*
* 1) vErrorChecks()
* This only executes every few seconds but has the highest priority so is
* guaranteed to get processor time. Its main function is to check that all
* This only executes every few seconds but has the highest priority so is
* guaranteed to get processor time. Its main function is to check that all
* the standard demo application tasks are still operational and have not
* experienced any errors. vErrorChecks() will toggle the on board LED
* every mainNO_ERROR_FLASH_PERIOD milliseconds if none of the demo application
* tasks have reported an error. Should any task report an error at any time
* the rate at which the on board LED is toggled is increased to
* the rate at which the on board LED is toggled is increased to
* mainERROR_FLASH_PERIOD - providing visual feedback that something has gone
* wrong.
*
@ -129,7 +129,7 @@ values to check for in the DPH, DPL and B registers. */
/* Macro that lets vErrorChecks() know that one of the tasks defined in
main. c has detected an error. A critical region is used around xLatchError
as it is accessed from vErrorChecks(), which has a higher priority. */
as it is accessed from vErrorChecks(), which has a higher priority. */
#define mainLATCH_ERROR() \
{ \
portENTER_CRITICAL(); \
@ -138,37 +138,37 @@ as it is accessed from vErrorChecks(), which has a higher priority. */
}
/*
* Setup the Cygnal microcontroller for its fastest operation.
* Setup the Cygnal microcontroller for its fastest operation.
*/
static void prvSetupSystemClock( void );
/*
* Setup the peripherals, including the on board LED.
* Setup the peripherals, including the on board LED.
*/
static void prvSetupHardware( void );
/*
* Toggle the state of the on board LED.
* Toggle the state of the on board LED.
*/
static void prvToggleOnBoardLED( void );
/*
* See comments at the top of the file for details.
* See comments at the top of the file for details.
*/
static void vErrorChecks( void *pvParameters );
/*
* See comments at the top of the file for details.
* See comments at the top of the file for details.
*/
static void vRegisterCheck( void *pvParameters );
/*
* See comments at the top of the file for details.
* See comments at the top of the file for details.
*/
static void vFLOPCheck1( void *pvParameters );
/*
* See comments at the top of the file for details.
* See comments at the top of the file for details.
*/
static void vFLOPCheck2( void *pvParameters );
@ -179,7 +179,7 @@ static portBASE_TYPE xLatchedError = pdFALSE;
/*-----------------------------------------------------------*/
/*
* Starts all the other tasks, then starts the scheduler.
* Starts all the other tasks, then starts the scheduler.
*/
void main( void )
{
@ -206,7 +206,7 @@ void main( void )
xTaskCreate( vFLOPCheck1, "FLOP", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, ( TaskHandle_t * ) NULL );
xTaskCreate( vFLOPCheck2, "FLOP", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, ( TaskHandle_t * ) NULL );
}
#endif
#endif
xTaskCreate( vErrorChecks, "Check", configMINIMAL_STACK_SIZE, NULL, mainCHECK_TASK_PRIORITY, ( TaskHandle_t * ) NULL );
@ -245,7 +245,7 @@ unsigned char ucOriginalSFRPage;
/* Set the on board LED to push pull. */
P1MDOUT |= mainPORT_1_BIT_6;
/* Setup the cross bar to enable serial comms here as it is not part of the
/* Setup the cross bar to enable serial comms here as it is not part of the
standard 8051 setup and therefore is not in the driver code. */
XBR0 |= mainENABLE_COMS;
P0MDOUT |= mainCOMS_LINES_TO_PUSH_PULL;
@ -331,22 +331,22 @@ static void prvToggleOnBoardLED( void )
/*-----------------------------------------------------------*/
/*
* See the documentation at the top of this file.
* See the documentation at the top of this file.
*/
static void vErrorChecks( void *pvParameters )
{
portBASE_TYPE xErrorHasOccurred = pdFALSE;
/* Just to prevent compiler warnings. */
( void ) pvParameters;
/* Cycle for ever, delaying then checking all the other tasks are still
operating without error. The delay period depends on whether an error
has ever been detected. */
for( ;; )
{
if( xLatchedError == pdFALSE )
{
{
/* No errors have been detected so delay for a longer period. The
on board LED will get toggled every mainNO_ERROR_FLASH_PERIOD ms. */
vTaskDelay( mainNO_ERROR_FLASH_PERIOD );
@ -359,8 +359,8 @@ portBASE_TYPE xErrorHasOccurred = pdFALSE;
vTaskDelay( mainERROR_FLASH_PERIOD );
}
/* Check the demo application tasks for errors. */
if( xAreIntegerMathsTaskStillRunning() != pdTRUE )
@ -383,7 +383,7 @@ portBASE_TYPE xErrorHasOccurred = pdFALSE;
xErrorHasOccurred = pdTRUE;
}
/* If an error has occurred, latch it to cause the LED flash rate to
/* If an error has occurred, latch it to cause the LED flash rate to
increase. */
if( xErrorHasOccurred == pdTRUE )
{
@ -391,7 +391,7 @@ portBASE_TYPE xErrorHasOccurred = pdFALSE;
}
/* Toggle the LED to indicate the completion of a check cycle. The
frequency of check cycles is dependent on whether or not we have
frequency of check cycles is dependent on whether or not we have
latched an error. */
prvToggleOnBoardLED();
}
@ -458,7 +458,7 @@ volatile portFLOAT fVal1, fVal2, fResult;
/*-----------------------------------------------------------*/
/*
* See the documentation at the top of this file.
* See the documentation at the top of this file.
*/
static void vRegisterCheck( void *pvParameters )
{
@ -550,7 +550,7 @@ static void vRegisterCheck( void *pvParameters )
if( B != 0x01 )
{
mainLATCH_ERROR();
}
}
}
}