mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-12-08 12:45:22 -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
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
@ -36,7 +36,7 @@
|
|||
* 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
|
||||
*----------------------------------------------------------*/
|
||||
|
|
@ -55,10 +55,6 @@
|
|||
#define configIDLE_SHOULD_YIELD 1
|
||||
#define configQUEUE_REGISTRY_SIZE 0
|
||||
|
||||
/* Co-routine definitions. */
|
||||
#define configUSE_CO_ROUTINES 1
|
||||
#define configMAX_CO_ROUTINE_PRIORITIES ( 2 )
|
||||
|
||||
/* Set the following definitions to 1 to include the API function, or zero
|
||||
to exclude the API function. */
|
||||
|
||||
|
|
|
|||
|
|
@ -20,11 +20,11 @@
|
|||
* 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
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
/*
|
||||
Changes from V2.0.0
|
||||
|
||||
+ Use scheduler suspends in place of critical sections.
|
||||
|
|
@ -39,6 +39,7 @@ Changes from V2.6.0
|
|||
#include "FreeRTOS.h"
|
||||
#include "task.h"
|
||||
#include "partest.h"
|
||||
#include <avr/io.h>
|
||||
|
||||
/*-----------------------------------------------------------
|
||||
* Simple parallel port IO routines.
|
||||
|
|
@ -68,7 +69,7 @@ unsigned char ucBit = ( unsigned char ) 1;
|
|||
|
||||
if( uxLED <= partstMAX_OUTPUT_LED )
|
||||
{
|
||||
ucBit <<= uxLED;
|
||||
ucBit <<= uxLED;
|
||||
|
||||
vTaskSuspendAll();
|
||||
{
|
||||
|
|
@ -110,7 +111,7 @@ unsigned char ucBit;
|
|||
|
||||
PORTB = ucCurrentOutputValue;
|
||||
}
|
||||
xTaskResumeAll();
|
||||
xTaskResumeAll();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
@ -68,10 +68,6 @@ Changes from V2.6.1
|
|||
|
||||
+ The IAR and WinAVR AVR ports are now maintained separately.
|
||||
|
||||
Changes from V4.0.5
|
||||
|
||||
+ Modified to demonstrate the use of co-routines.
|
||||
|
||||
*/
|
||||
|
||||
#include <stdlib.h>
|
||||
|
|
@ -85,14 +81,12 @@ Changes from V4.0.5
|
|||
/* Scheduler include files. */
|
||||
#include "FreeRTOS.h"
|
||||
#include "task.h"
|
||||
#include "croutine.h"
|
||||
|
||||
/* Demo file headers. */
|
||||
#include "PollQ.h"
|
||||
#include "integer.h"
|
||||
#include "serial.h"
|
||||
#include "comtest.h"
|
||||
#include "crflash.h"
|
||||
#include "print.h"
|
||||
#include "partest.h"
|
||||
#include "regtest.h"
|
||||
|
|
@ -124,9 +118,6 @@ again. */
|
|||
the demo application is not unexpectedly resetting. */
|
||||
#define mainRESET_COUNT_ADDRESS ( ( void * ) 0x50 )
|
||||
|
||||
/* The number of coroutines to create. */
|
||||
#define mainNUM_FLASH_COROUTINES ( 3 )
|
||||
|
||||
/*
|
||||
* The task function for the "Check" task.
|
||||
*/
|
||||
|
|
@ -145,7 +136,7 @@ static void prvCheckOtherTasksAreStillRunning( void );
|
|||
static void prvIncrementResetCount( void );
|
||||
|
||||
/*
|
||||
* The idle hook is used to scheduler co-routines.
|
||||
* The idle hook is unused.
|
||||
*/
|
||||
void vApplicationIdleHook( void );
|
||||
|
||||
|
|
@ -167,9 +158,6 @@ short main( void )
|
|||
/* Create the tasks defined within this file. */
|
||||
xTaskCreate( vErrorChecks, "Check", configMINIMAL_STACK_SIZE, NULL, mainCHECK_TASK_PRIORITY, NULL );
|
||||
|
||||
/* Create the co-routines that flash the LED's. */
|
||||
vStartFlashCoRoutines( mainNUM_FLASH_COROUTINES );
|
||||
|
||||
/* In this port, to use preemptive scheduler define configUSE_PREEMPTION
|
||||
as 1 in portmacro.h. To use the cooperative scheduler define
|
||||
configUSE_PREEMPTION as 0. */
|
||||
|
|
@ -247,6 +235,5 @@ unsigned char ucCount;
|
|||
|
||||
void vApplicationIdleHook( void )
|
||||
{
|
||||
vCoRoutineSchedule();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# WinAVR Sample makefile written by Eric B. Weddington, Jörg Wunsch, et al.
|
||||
# WinAVR Sample makefile written by Eric B. Weddington, J<EFBFBD>rg Wunsch, et al.
|
||||
# Released to the Public Domain
|
||||
# Please read the make user manual!
|
||||
#
|
||||
|
|
@ -57,10 +57,8 @@ regtest.c \
|
|||
$(SOURCE_DIR)/tasks.c \
|
||||
$(SOURCE_DIR)/queue.c \
|
||||
$(SOURCE_DIR)/list.c \
|
||||
$(SOURCE_DIR)/croutine.c \
|
||||
$(SOURCE_DIR)/portable/MemMang/heap_1.c \
|
||||
$(PORT_DIR)/port.c \
|
||||
$(DEMO_DIR)/crflash.c \
|
||||
$(DEMO_DIR)/integer.c \
|
||||
$(DEMO_DIR)/PollQ.c \
|
||||
$(DEMO_DIR)/comtest.c
|
||||
|
|
@ -83,12 +81,12 @@ $(DEMO_DIR)/comtest.c
|
|||
# Even though the DOS/Win* filesystem matches both .s and .S the same,
|
||||
# it will preserve the spelling of the filenames, and gcc itself does
|
||||
# care about how the name is spelled on its command-line.
|
||||
ASRC =
|
||||
ASRC =
|
||||
|
||||
|
||||
# List any extra directories to look for include files here.
|
||||
# Each directory must be seperated by a space.
|
||||
EXTRAINCDIRS =
|
||||
EXTRAINCDIRS =
|
||||
|
||||
|
||||
# Optional compiler flags.
|
||||
|
|
@ -128,7 +126,7 @@ CFLAGS += -std=gnu99
|
|||
# for use in COFF files, additional information about filenames
|
||||
# and function names needs to be present in the assembler source
|
||||
# files -- see avr-libc docs [FIXME: not yet described there]
|
||||
ASFLAGS = -Wa,-adhlns=$(<:.S=.lst),-gstabs
|
||||
ASFLAGS = -Wa,-adhlns=$(<:.S=.lst),-gstabs
|
||||
|
||||
|
||||
|
||||
|
|
@ -156,7 +154,7 @@ LDFLAGS += -lm
|
|||
|
||||
# Programming support using avrdude. Settings and variables.
|
||||
|
||||
# Programming hardware: alf avr910 avrisp bascom bsd
|
||||
# Programming hardware: alf avr910 avrisp bascom bsd
|
||||
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
|
||||
#
|
||||
# Type: avrdude -c ?
|
||||
|
|
@ -183,7 +181,7 @@ AVRDUDE_FLAGS = -p $(MCU) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER)
|
|||
#AVRDUDE_FLAGS += -V
|
||||
|
||||
# Increase verbosity level. Please use this when submitting bug
|
||||
# reports about avrdude. See <http://savannah.nongnu.org/projects/avrdude>
|
||||
# reports about avrdude. See <http://savannah.nongnu.org/projects/avrdude>
|
||||
# to submit bug reports.
|
||||
#AVRDUDE_FLAGS += -v -v
|
||||
|
||||
|
|
@ -227,7 +225,7 @@ ELFSIZE = $(SIZE) -A $(TARGET).elf
|
|||
MSG_ERRORS_NONE = Errors: none
|
||||
MSG_BEGIN = -------- begin --------
|
||||
MSG_END = -------- end --------
|
||||
MSG_SIZE_BEFORE = Size before:
|
||||
MSG_SIZE_BEFORE = Size before:
|
||||
MSG_SIZE_AFTER = Size after:
|
||||
MSG_COFF = Converting to AVR COFF:
|
||||
MSG_EXTENDED_COFF = Converting to AVR Extended COFF:
|
||||
|
|
@ -244,7 +242,7 @@ MSG_CLEANING = Cleaning project:
|
|||
|
||||
|
||||
# Define all object files.
|
||||
OBJ = $(SRC:.c=.o) $(ASRC:.S=.o)
|
||||
OBJ = $(SRC:.c=.o) $(ASRC:.S=.o)
|
||||
|
||||
# Define all listing files.
|
||||
LST = $(ASRC:.S=.lst) $(SRC:.c=.lst)
|
||||
|
|
@ -286,7 +284,7 @@ sizeafter:
|
|||
|
||||
|
||||
# Display compiler version information.
|
||||
gccversion :
|
||||
gccversion :
|
||||
@$(CC) --version
|
||||
|
||||
|
||||
|
|
@ -298,7 +296,7 @@ COFFCONVERT=$(OBJCOPY) --debugging \
|
|||
--change-section-address .data-0x800000 \
|
||||
--change-section-address .bss-0x800000 \
|
||||
--change-section-address .noinit-0x800000 \
|
||||
--change-section-address .eeprom-0x810000
|
||||
--change-section-address .eeprom-0x810000
|
||||
|
||||
|
||||
coff: $(TARGET).elf
|
||||
|
|
@ -315,7 +313,7 @@ extcoff: $(TARGET).elf
|
|||
|
||||
|
||||
|
||||
# Program the device.
|
||||
# Program the device.
|
||||
program: $(TARGET).hex $(TARGET).eep
|
||||
$(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH) $(AVRDUDE_WRITE_EEPROM)
|
||||
|
||||
|
|
@ -324,26 +322,26 @@ program: $(TARGET).hex $(TARGET).eep
|
|||
|
||||
# Create final output files (.hex, .eep) from ELF output file.
|
||||
%.hex: %.elf
|
||||
@echo
|
||||
@echo $(MSG_FLASH) $@
|
||||
@echo
|
||||
@echo $(MSG_FLASH) $@
|
||||
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@
|
||||
|
||||
%.eep: %.elf
|
||||
@echo
|
||||
@echo $(MSG_EEPROM) $@
|
||||
@echo
|
||||
@echo $(MSG_EEPROM) $@
|
||||
-$(OBJCOPY) -j .eeprom --set-section-flags=.eeprom="alloc,load" \
|
||||
--change-section-lma .eeprom=0 -O $(FORMAT) $< $@
|
||||
|
||||
# Create extended listing file from ELF output file.
|
||||
%.lss: %.elf
|
||||
@echo
|
||||
@echo $(MSG_EXTENDED_LISTING) $@
|
||||
@echo
|
||||
@echo $(MSG_EXTENDED_LISTING) $@
|
||||
$(OBJDUMP) -h -S $< > $@
|
||||
|
||||
# Create a symbol table from ELF output file.
|
||||
%.sym: %.elf
|
||||
@echo
|
||||
@echo $(MSG_SYMBOL_TABLE) $@
|
||||
# Create a symbol table from ELF output file.
|
||||
%.sym: %.elf
|
||||
@echo
|
||||
@echo $(MSG_SYMBOL_TABLE) $@
|
||||
avr-nm -n $< > $@
|
||||
|
||||
|
||||
|
|
@ -384,8 +382,8 @@ program: $(TARGET).hex $(TARGET).eep
|
|||
clean: begin clean_list finished end
|
||||
|
||||
clean_list :
|
||||
@echo
|
||||
@echo $(MSG_CLEANING)
|
||||
@echo
|
||||
@echo $(MSG_CLEANING)
|
||||
$(REMOVE) $(TARGET).hex
|
||||
$(REMOVE) $(TARGET).eep
|
||||
$(REMOVE) $(TARGET).obj
|
||||
|
|
@ -403,8 +401,8 @@ clean_list :
|
|||
$(REMOVE) $(SRC:.c=.d)
|
||||
|
||||
|
||||
# Automatically generate C source code dependencies.
|
||||
# (Code originally taken from the GNU make user manual and modified
|
||||
# Automatically generate C source code dependencies.
|
||||
# (Code originally taken from the GNU make user manual and modified
|
||||
# (See README.txt Credits).)
|
||||
#
|
||||
# Note that this will work with sh (bash) and sed that is shipped with WinAVR
|
||||
|
|
|
|||
|
|
@ -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
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -20,14 +20,14 @@
|
|||
* 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
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
Changes from V1.2.3
|
||||
|
||||
+ The function xPortInitMinimal() has been renamed to
|
||||
+ The function xPortInitMinimal() has been renamed to
|
||||
xSerialPortInitMinimal() and the function xPortInit() has been renamed
|
||||
to xSerialPortInit().
|
||||
|
||||
|
|
@ -66,8 +66,8 @@ Changes from V2.6.0
|
|||
#define serUCSRC_SELECT ( ( unsigned char ) 0x80 )
|
||||
#define serEIGHT_DATA_BITS ( ( unsigned char ) 0x06 )
|
||||
|
||||
static QueueHandle_t xRxedChars;
|
||||
static QueueHandle_t xCharsForTx;
|
||||
static QueueHandle_t xRxedChars;
|
||||
static QueueHandle_t xCharsForTx;
|
||||
|
||||
#define vInterruptOn() \
|
||||
{ \
|
||||
|
|
@ -76,7 +76,7 @@ static QueueHandle_t xCharsForTx;
|
|||
ucByte = UCSRB; \
|
||||
ucByte |= serTX_INT_ENABLE; \
|
||||
UCSRB = ucByte; \
|
||||
}
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
#define vInterruptOff() \
|
||||
|
|
@ -104,12 +104,12 @@ unsigned char ucByte;
|
|||
data sheet. */
|
||||
ulBaudRateCounter = ( configCPU_CLOCK_HZ / ( serBAUD_DIV_CONSTANT * ulWantedBaud ) ) - ( unsigned long ) 1;
|
||||
|
||||
/* Set the baud rate. */
|
||||
ucByte = ( unsigned char ) ( ulBaudRateCounter & ( unsigned long ) 0xff );
|
||||
/* Set the baud rate. */
|
||||
ucByte = ( unsigned char ) ( ulBaudRateCounter & ( unsigned long ) 0xff );
|
||||
UBRRL = ucByte;
|
||||
|
||||
ulBaudRateCounter >>= ( unsigned long ) 8;
|
||||
ucByte = ( unsigned char ) ( ulBaudRateCounter & ( unsigned long ) 0xff );
|
||||
ucByte = ( unsigned char ) ( ulBaudRateCounter & ( unsigned long ) 0xff );
|
||||
UBRRH = ucByte;
|
||||
|
||||
/* Enable the Rx interrupt. The Tx interrupt will get enabled
|
||||
|
|
@ -120,7 +120,7 @@ unsigned char ucByte;
|
|||
UCSRC = ( serUCSRC_SELECT | serEIGHT_DATA_BITS );
|
||||
}
|
||||
portEXIT_CRITICAL();
|
||||
|
||||
|
||||
/* Unlike other ports, this serial code does not allow for more than one
|
||||
com port. We therefore don't return a pointer to a port structure and can
|
||||
instead just return NULL. */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue