Skip to content

Commit d3c289f

Browse files
Add back croutines by reverting PR#590 (#685)
* Add croutines to the code base * Add croutine changes to cmake, lexicon and readme * Add croutine file to portable cmake file * Add back more references from PR 591
1 parent d436801 commit d3c289f

File tree

11 files changed

+1497
-15
lines changed

11 files changed

+1497
-15
lines changed

.github/lexicon.txt

Lines changed: 44 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
GNU nano 5.9 .github/lexicon.txt Modified
12
aa
23
aaaa
34
aarch
@@ -317,6 +318,7 @@ coproc
317318
coprocessor
318319
coprocessors
319320
coreid
321+
coroutinehandle
320322
covfs
321323
cp
322324
cpacr
@@ -338,15 +340,32 @@ cprivilegedonlyaccessarray
338340
cpsid
339341
cpsie
340342
cpsr
343+
cpsr
344+
cpstored
341345
cpstored
342346
cpu
347+
cpu
343348
cr
349+
cr
350+
crc
344351
crc
345352
crcb
353+
crcoroutine
354+
crcoroutine
355+
crdelay
356+
crdelay
346357
creadonlyarray
347358
creadwritearray
348359
createevent
360+
crend
361+
crend
349362
crgint
363+
croutine
364+
croutine
365+
crqueue
366+
crqueue
367+
crstart
368+
crstart
350369
crt
351370
crtv
352371
crxedchar
@@ -1523,11 +1542,17 @@ prvaddcurrenttasktodelayedlist
15231542
prvcheckinterfaces
15241543
prvchecktaskswaitingtermination
15251544
prvcopydatatoqueue
1545+
prvcoroutineflashtask
1546+
prvcoroutineflashtask
1547+
prvcoroutineflashworktask
1548+
prvcoroutineflashworktask
15261549
prvdeletetcb
15271550
prvexitfunction
15281551
prvgettimens
15291552
prvheapinit
15301553
prvidletask
1554+
prvinitialisecoroutinelists
1555+
prvinitialisecoroutinelists
15311556
prvinitialisemutex
15321557
prvinitialisenewstreambuffer
15331558
prvinitialisenewtimer
@@ -1642,11 +1667,18 @@ pxblocktoinsert
16421667
pxcallbackfunction
16431668
pxcode
16441669
pxcontainer
1670+
pxcoroutinecode
1671+
pxcoroutinecode
1672+
pxcoroutinewoken
1673+
pxcoroutinewoken
16451674
pxcrcb
16461675
pxcreatedtask
1676+
pxcurrentcoroutine
1677+
pxcurrentcoroutine
16471678
pxcurrenttcb
16481679
pxcurrenttcbconst
16491680
pxcurrenttimerlist
1681+
pxdelayedcoroutinelist
16501682
pxdelayedtasklist
16511683
pxend
16521684
pxendofstack
@@ -1681,6 +1713,7 @@ pxnextfreeblock
16811713
pxnexttcb
16821714
pxoriginalsp
16831715
pxoriginaltos
1716+
pxoverflowdelayedcoroutinelist
16841717
pxoverflowdelayedtasklist
16851718
pxowner
16861719
pxportinitialisestack
@@ -1690,6 +1723,7 @@ pxqueue
16901723
pxqueuebuffer
16911724
pxqueuesetcontainer
16921725
pxramstack
1726+
pxreadycoroutinelists
16931727
pxreadytaskslists
16941728
pxreceivecompletedcallback
16951729
pxregions
@@ -2463,6 +2497,7 @@ uxtopreadypriority
24632497
uxtopusedpriority
24642498
uxvariabletoincrement
24652499
uxwantedbytes
2500+
vacoroutine
24662501
vadifferenttask
24672502
vafunction
24682503
val
@@ -2492,6 +2527,7 @@ vbr
24922527
vbufferisr
24932528
vcallbackfunction
24942529
vclearinterruptmask
2530+
vcoroutineschedule
24952531
vddcore
24962532
vec
24972533
vectactive
@@ -2501,6 +2537,7 @@ ver
25012537
veventgroupclearbitscallback
25022538
veventgroupdelete
25032539
veventgroupsetbitscallback
2540+
vflashcoroutine
25042541
vfp
25052542
vfunction
25062543
vic
@@ -2563,12 +2600,14 @@ vqueuedelete
25632600
vqueueunregisterqueue
25642601
vr
25652602
vraiseprivilege
2603+
vreceivingcoroutine
25662604
vreg
25672605
vresetprivilege
25682606
vrestorecontextoffirsttask
25692607
vrpm
25702608
vsemaphorecreatebinary
25712609
vsemaphoredelete
2610+
vsendingcoroutine
25722611
vsetbacklightstate
25732612
vsoftwareinterruptentry
25742613
vstartfirsttask
@@ -2702,6 +2741,9 @@ xcommandtime
27022741
xcommsrxqueue
27032742
xconsttickcount
27042743
xcopyposition
2744+
xcoroutinecreate
2745+
xcoroutinepreviouslywoken
2746+
xcoroutinequeue
27052747
xcount
27062748
xcreatedeventgroup
27072749
xcrwokenbypost
@@ -2711,6 +2753,7 @@ xdd
27112753
xdddd
27122754
xdeadbeef
27132755
xdelay
2756+
xdelayedcoroutinelist
27142757
xdelayedtasklist
27152758
xdelaytime
27162759
xe
@@ -2859,6 +2902,7 @@ xpar
28592902
xparameters
28602903
xpendedcounts
28612904
xpendedticks
2905+
xpendingreadycoroutinelist
28622906
xpendingreadylist
28632907
xperiod
28642908
xportgetcoreid
@@ -3100,4 +3144,3 @@ xwritevalue
31003144
xxr
31013145
xyieldpending
31023146
xzr
3103-

CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -267,6 +267,7 @@ add_compile_options(
267267
add_subdirectory(portable)
268268

269269
add_library(freertos_kernel STATIC
270+
croutine.c
270271
event_groups.c
271272
list.c
272273
queue.c

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,8 @@ git clone [email protected]:FreeRTOS/FreeRTOS-Kernel.git
7070
## Repository structure
7171
- The root of this repository contains the three files that are common to
7272
every port - list.c, queue.c and tasks.c. The kernel is contained within these
73-
three files.
73+
three files. croutine.c implements the optional co-routine functionality - which
74+
is normally only used on very memory limited systems.
7475

7576
- The ```./portable``` directory contains the files that are specific to a particular microcontroller and/or compiler.
7677
See the readme file in the ```./portable``` directory for more information.

0 commit comments

Comments
 (0)