Files
lab-rv32i-freertos-c-first-…/web/figures/a5-flow-a.svg
T

100 lines
9.3 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="282px" preserveAspectRatio="none" style="width:904px;height:282px;" version="1.1" viewBox="0 0 904 282" width="904.2px" zoomAndPan="magnify"><defs/><g><rect fill="#FFFFFF" height="45.7781" style="stroke: #A80036; stroke-width: 0.6;" width="6" x="673.8" y="145.2141"/><rect fill="#FFFFFF" height="32.9812" style="stroke: #A80036; stroke-width: 0.6;" width="6" x="673.8" y="236.7703"/><line style="stroke: #A80036; stroke-width: 0.6; stroke-dasharray: 5.0,5.0;" x1="76.8" x2="76.8" y1="27.0797" y2="275.1516"/><line style="stroke: #A80036; stroke-width: 0.6; stroke-dasharray: 5.0,5.0;" x1="226.8" x2="226.8" y1="27.0797" y2="275.1516"/><line style="stroke: #A80036; stroke-width: 0.6; stroke-dasharray: 5.0,5.0;" x1="376.8" x2="376.8" y1="27.0797" y2="275.1516"/><line style="stroke: #A80036; stroke-width: 0.6; stroke-dasharray: 5.0,5.0;" x1="526.8" x2="526.8" y1="27.0797" y2="275.1516"/><line style="stroke: #A80036; stroke-width: 0.6; stroke-dasharray: 5.0,5.0;" x1="676.8" x2="676.8" y1="27.0797" y2="275.1516"/><line style="stroke: #A80036; stroke-width: 0.6; stroke-dasharray: 5.0,5.0;" x1="826.8" x2="826.8" y1="27.0797" y2="275.1516"/><rect fill="#F5F8FA" height="24.6797" style="stroke: #607985; stroke-width: 0.8999999999999999;" width="122.4" x="15.6" y="1.8"/><text fill="#1F3039" font-family="DejaVu Sans Mono" font-size="7.8" lengthAdjust="spacingAndGlyphs" textLength="19.2" x="67.2" y="16.8401">main</text><rect fill="#F5F8FA" height="24.6797" style="stroke: #607985; stroke-width: 0.8999999999999999;" width="122.4" x="165.6" y="1.8"/><text fill="#1F3039" font-family="DejaVu Sans Mono" font-size="7.8" lengthAdjust="spacingAndGlyphs" textLength="52.8" x="200.4" y="16.8401">workerA ctx</text><rect fill="#F5F8FA" height="24.6797" style="stroke: #607985; stroke-width: 0.8999999999999999;" width="122.4" x="315.6" y="1.8"/><text fill="#1F3039" font-family="DejaVu Sans Mono" font-size="7.8" lengthAdjust="spacingAndGlyphs" textLength="52.8" x="350.4" y="16.8401">workerB ctx</text><rect fill="#F5F8FA" height="24.6797" style="stroke: #607985; stroke-width: 0.8999999999999999;" width="122.4" x="465.6" y="1.8"/><text fill="#1F3039" font-family="DejaVu Sans Mono" font-size="7.8" lengthAdjust="spacingAndGlyphs" textLength="67.2" x="493.2" y="16.8401">sum_task_entry</text><rect fill="#F5F8FA" height="24.6797" style="stroke: #607985; stroke-width: 0.8999999999999999;" width="122.4" x="615.6" y="1.8"/><text fill="#1F3039" font-family="DejaVu Sans Mono" font-size="7.8" lengthAdjust="spacingAndGlyphs" textLength="38.4" x="657.6" y="16.8401">FreeRTOS</text><rect fill="#F5F8FA" height="24.6797" style="stroke: #607985; stroke-width: 0.8999999999999999;" width="122.4" x="765.6" y="1.8"/><text fill="#1F3039" font-family="DejaVu Sans Mono" font-size="7.8" lengthAdjust="spacingAndGlyphs" textLength="48" x="802.8" y="16.8401">supervisor</text><rect fill="#FFFFFF" height="45.7781" style="stroke: #A80036; stroke-width: 0.6;" width="6" x="673.8" y="145.2141"/><rect fill="#FFFFFF" height="32.9812" style="stroke: #A80036; stroke-width: 0.6;" width="6" x="673.8" y="236.7703"/><polygon fill="#607985" points="219.6,51.2578,225.6,53.6578,219.6,56.0578,222,53.6578" style="stroke: #607985; stroke-width: 0.6;"/><line style="stroke: #607985; stroke-width: 0.78;" x1="76.8" x2="223.2" y1="53.6578" y2="53.6578"/><text fill="#425B67" font-family="DejaVu Sans Mono" font-size="8.4" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="9.6" x="89.4" y="46.8768">01</text><text fill="#425B67" font-family="DejaVu Sans Mono" font-size="8.4" lengthAdjust="spacingAndGlyphs" textLength="110.4" x="103.8" y="46.8768">static context prepared</text><polygon fill="#607985" points="219.6,97.0359,225.6,99.4359,219.6,101.8359,222,99.4359" style="stroke: #607985; stroke-width: 0.6;"/><line style="stroke: #607985; stroke-width: 0.78;" x1="76.8" x2="223.2" y1="99.4359" y2="99.4359"/><text fill="#425B67" font-family="DejaVu Sans Mono" font-size="8.4" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="9.6" x="89.4" y="92.6549">02</text><text fill="#425B67" font-family="DejaVu Sans Mono" font-size="8.4" lengthAdjust="spacingAndGlyphs" textLength="110.4" x="103.8" y="92.6549">create_worker(&amp;workerA)</text><polygon fill="#607985" points="666.6,142.8141,672.6,145.2141,666.6,147.6141,669,145.2141" style="stroke: #607985; stroke-width: 0.6;"/><line style="stroke: #607985; stroke-width: 0.78;" x1="76.8" x2="670.2" y1="145.2141" y2="145.2141"/><text fill="#425B67" font-family="DejaVu Sans Mono" font-size="8.4" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="9.6" x="300.9" y="138.433">03</text><text fill="#425B67" font-family="DejaVu Sans Mono" font-size="8.4" lengthAdjust="spacingAndGlyphs" textLength="134.4" x="315.3" y="138.433">xTaskCreate(entry, &amp;workerA)</text><polygon fill="#607985" points="233.4,188.5922,227.4,190.9922,233.4,193.3922,231,190.9922" style="stroke: #607985; stroke-width: 0.6;"/><line style="stroke: #607985; stroke-width: 0.78; stroke-dasharray: 2.0,2.0;" x1="229.8" x2="676.2" y1="190.9922" y2="190.9922"/><text fill="#425B67" font-family="DejaVu Sans Mono" font-size="8.4" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="9.6" x="394.2" y="184.2111">04</text><text fill="#425B67" font-family="DejaVu Sans Mono" font-size="8.4" lengthAdjust="spacingAndGlyphs" textLength="100.8" x="408.6" y="184.2111">handle != NULL; READY</text><polygon fill="#607985" points="666.6,234.3703,672.6,236.7703,666.6,239.1703,669,236.7703" style="stroke: #607985; stroke-width: 0.6;"/><line style="stroke: #607985; stroke-width: 0.78;" x1="76.8" x2="670.2" y1="236.7703" y2="236.7703"/><text fill="#425B67" font-family="DejaVu Sans Mono" font-size="8.4" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="9.6" x="317.7" y="229.9893">05</text><text fill="#425B67" font-family="DejaVu Sans Mono" font-size="8.4" lengthAdjust="spacingAndGlyphs" textLength="100.8" x="332.1" y="229.9893">vTaskStartScheduler()</text><path d="M6,244.5703 L6,265.5703 L897,265.5703 L897,250.5703 L891,244.5703 L6,244.5703 " fill="#F7F5ED" style="stroke: #8A887C; stroke-width: 0.6;"/><path d="M891,244.5703 L891,250.5703 L897,250.5703 L891,244.5703 " fill="#F7F5ED" style="stroke: #8A887C; stroke-width: 0.6;"/><text fill="#3E4B50" font-family="DejaVu Sans Mono" font-size="7.2" lengthAdjust="spacingAndGlyphs" textLength="294" x="301.8" y="257.8535">Continue on part 2/2 with the same participants and the same contexts.</text><!--MD5=[125d82a84cea49c071d12303c397e041]
@startuml
skinparam backgroundColor white
skinparam shadowing false
skinparam monochrome false
skinparam defaultFontName "DejaVu Sans Mono"
skinparam defaultFontSize 14
skinparam defaultFontColor #24343D
skinparam titleFontName "DejaVu Sans Mono"
skinparam titleFontSize 13
skinparam titleFontColor #536B78
skinparam titleFontStyle plain
skinparam ArrowColor #607985
skinparam ArrowFontColor #425B67
skinparam ArrowThickness 1.3
skinparam LineThickness 1.3
skinparam nodesep 36
skinparam ranksep 42
skinparam Padding 6
skinparam classBackgroundColor #F5F8FA
skinparam classBorderColor #607985
skinparam classBorderThickness 1.5
skinparam classFontColor #1F3039
skinparam classFontSize 15
skinparam classAttributeFontColor #2E424D
skinparam classAttributeFontSize 13
skinparam classStereotypeFontColor #526B77
skinparam classStereotypeFontSize 11
skinparam minClassWidth 190
skinparam ClassAttributeIconSize 0
skinparam stateBackgroundColor #F5F8FA
skinparam stateBorderColor #607985
skinparam stateBorderThickness 1.5
skinparam stateFontColor #1F3039
skinparam stateFontSize 14
skinparam stateAttributeFontSize 13
skinparam noteBackgroundColor #F7F5ED
skinparam noteBorderColor #8A887C
skinparam noteFontColor #3E4B50
skinparam noteFontSize 12
skinparam ParticipantBackgroundColor #F5F8FA
skinparam ParticipantBorderColor #607985
skinparam ParticipantBorderThickness 1.5
skinparam ParticipantFontColor #1F3039
skinparam ParticipantFontSize 13
skinparam ActorBorderColor #607985
skinparam ActorFontColor #1F3039
skinparam LifeLineBorderColor #8297A1
skinparam LifeLineBackgroundColor #F9FBFC
skinparam SequenceArrowColor #607985
skinparam SequenceMessageAlign center
skinparam ParticipantPadding 18
skinparam BoxPadding 8
hide circle
hide empty members
scale 900 width
hide footbox
skinparam ParticipantPadding 18
participant "main" as Main
participant "workerA ctx" as A
participant "workerB ctx" as B
participant "sum_task_entry" as Entry
participant "FreeRTOS" as Kernel
participant "supervisor" as Supervisor
Main -> A : <b>01</b> static context prepared
||34||
Main -> A : <b>02</b> create_worker(&workerA)
||34||
Main -> Kernel : <b>03</b> xTaskCreate(entry, &workerA)
activate Kernel
||34||
Kernel - -> A : <b>04</b> handle != NULL; READY
deactivate Kernel
||34||
Main -> Kernel : <b>05</b> vTaskStartScheduler()
activate Kernel
note over Main,Supervisor
Continue on part 2/2 with the same participants and the same contexts.
end note
@enduml
PlantUML version 1.2020.02(Sun Mar 01 11:22:07 CET 2020)
(GPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Java Version: 25.0.4-ea+4-1-Debian
Operating System: Linux
Default Encoding: UTF-8
Language: en
Country: null
--></g></svg>