mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-12-15 16:15:08 -05:00
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:
parent
eb7fd55a49
commit
569c78fd8c
1153 changed files with 4875 additions and 12450 deletions
|
|
@ -20,7 +20,7 @@
|
|||
* 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
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
@ -29,32 +29,32 @@
|
|||
|
||||
#include <msp430x44x.h>
|
||||
|
||||
/*
|
||||
Two interrupt examples are provided -
|
||||
/*
|
||||
Two interrupt examples are provided -
|
||||
|
||||
+ Method 1 does everything in C code.
|
||||
+ Method 2 uses an assembly file wrapper.
|
||||
|
||||
Code size:
|
||||
Method 1 uses assembly macros to save and restore the task context, whereas
|
||||
method 2 uses functions. This means method 1 will be faster, but method 2 will
|
||||
use less code space.
|
||||
Method 1 uses assembly macros to save and restore the task context, whereas
|
||||
method 2 uses functions. This means method 1 will be faster, but method 2 will
|
||||
use less code space.
|
||||
|
||||
Simplicity:
|
||||
Method 1 is very simplistic, whereas method 2 is more elaborate. This
|
||||
elaboration results in the code space saving, but also requires a slightly more
|
||||
complex procedure to define interrupt service routines.
|
||||
Method 1 is very simplistic, whereas method 2 is more elaborate. This
|
||||
elaboration results in the code space saving, but also requires a slightly more
|
||||
complex procedure to define interrupt service routines.
|
||||
|
||||
Interrupt efficiency:
|
||||
Method 1 uses the compiler generated function prologue and epilogue code to save
|
||||
and restore the necessary registers within an interrupt service routine (other
|
||||
than the RTOS tick ISR). Should a context switch be required from within the ISR
|
||||
the entire processor context is saved. This can result in some registers being saved
|
||||
Method 1 uses the compiler generated function prologue and epilogue code to save
|
||||
and restore the necessary registers within an interrupt service routine (other
|
||||
than the RTOS tick ISR). Should a context switch be required from within the ISR
|
||||
the entire processor context is saved. This can result in some registers being saved
|
||||
twice - once by the compiler generated code, and then again by the FreeRTOS code.
|
||||
Method 2 saves and restores all the processor registers within each interrupt service
|
||||
routine, whether or not a context switch actually occurs. This means no registers
|
||||
ever get saved twice, but imposes an overhead on the occasions that no context switch
|
||||
occurs.
|
||||
Method 2 saves and restores all the processor registers within each interrupt service
|
||||
routine, whether or not a context switch actually occurs. This means no registers
|
||||
ever get saved twice, but imposes an overhead on the occasions that no context switch
|
||||
occurs.
|
||||
*/
|
||||
|
||||
#define configINTERRUPT_EXAMPLE_METHOD 1
|
||||
|
|
@ -66,7 +66,7 @@ occurs.
|
|||
* application requirements.
|
||||
*
|
||||
* THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE
|
||||
* FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE.
|
||||
* FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE.
|
||||
*
|
||||
* See http://www.freertos.org/a00110.html
|
||||
*----------------------------------------------------------*/
|
||||
|
|
@ -84,9 +84,6 @@ occurs.
|
|||
#define configUSE_16_BIT_TICKS 1
|
||||
#define configIDLE_SHOULD_YIELD 1
|
||||
|
||||
/* Co-routine definitions. */
|
||||
#define configUSE_CO_ROUTINES 0
|
||||
#define configMAX_CO_ROUTINE_PRIORITIES ( 2 )
|
||||
|
||||
/* Set the following definitions to 1 to include the API function, or zero
|
||||
to exclude the API function. */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue