feat: publish FreeRTOS C FC03 card
This commit is contained in:
@@ -0,0 +1,96 @@
|
||||
<?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="502.6301px" preserveAspectRatio="none" style="width:614px;height:502px;" version="1.1" viewBox="0 0 614 502" width="614.6243px" zoomAndPan="magnify"><defs/><g><!--MD5=[1b844c90688aafb95cd8c95626c3b83a]
|
||||
class Timer--><rect fill="#F5F8FA" height="73.2232" id="Timer" style="stroke: #607985; stroke-width: 1.3439306358381504;" width="170.2312" x="77.5" y="7.2483"/><text fill="#526B77" font-family="DejaVu Sans Mono" font-size="9.8555" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="62.7168" x="131.2572" y="26.2518">«hardware»</text><text fill="#1F3039" font-family="DejaVu Sans Mono" font-size="13.4393" lengthAdjust="spacingAndGlyphs" textLength="137.0809" x="94.0751" y="51.8023">01 Hazard3 timer</text><text fill="#1F3039" font-family="DejaVu Sans Mono" font-size="13.4393" lengthAdjust="spacingAndGlyphs" textLength="129.0173" x="98.1069" y="67.4465">mtime · mtimecmp</text><!--MD5=[a0bfe97ac0a38e6e74cc1c7c7b744b71]
|
||||
class Port--><rect fill="#F5F8FA" height="73.2232" id="Port" style="stroke: #607985; stroke-width: 1.3439306358381504;" width="258.0347" x="33.5983" y="144.9832"/><text fill="#526B77" font-family="DejaVu Sans Mono" font-size="9.8555" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="62.7168" x="131.2572" y="163.9868">«boundary»</text><text fill="#1F3039" font-family="DejaVu Sans Mono" font-size="13.4393" lengthAdjust="spacingAndGlyphs" textLength="185.4624" x="69.8844" y="189.5372">02 RV32I FreeRTOS port</text><text fill="#1F3039" font-family="DejaVu Sans Mono" font-size="13.4393" lengthAdjust="spacingAndGlyphs" textLength="241.9075" x="41.6618" y="205.1814">machine-timer trap · tick hook</text><!--MD5=[8523c9eb2e1b5151dfc9c2a797373c5f]
|
||||
class Scheduler--><rect fill="#F5F8FA" height="73.2232" id="Scheduler" style="stroke: #607985; stroke-width: 1.3439306358381504;" width="314.4798" x="5.3757" y="282.7182"/><text fill="#526B77" font-family="DejaVu Sans Mono" font-size="9.8555" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="50.1734" x="137.5289" y="301.7218">«kernel»</text><text fill="#1F3039" font-family="DejaVu Sans Mono" font-size="13.4393" lengthAdjust="spacingAndGlyphs" textLength="177.3988" x="73.9162" y="327.2722">03 FreeRTOS scheduler</text><text fill="#1F3039" font-family="DejaVu Sans Mono" font-size="13.4393" lengthAdjust="spacingAndGlyphs" textLength="298.3526" x="13.4393" y="342.9164">Ready lists · priorities · time slice</text><!--MD5=[0b4e4b4980470ea387cc45de9bd14b5b]
|
||||
class Application--><rect fill="#F5F8FA" height="73.2232" id="Application" style="stroke: #607985; stroke-width: 1.3439306358381504;" width="314.4798" x="5.3757" y="420.4442"/><text fill="#526B77" font-family="DejaVu Sans Mono" font-size="9.8555" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="81.5318" x="121.8497" y="439.4478">«application»</text><text fill="#1F3039" font-family="DejaVu Sans Mono" font-size="13.4393" lengthAdjust="spacingAndGlyphs" textLength="185.4624" x="69.8844" y="464.9982">04 C application tasks</text><text fill="#1F3039" font-family="DejaVu Sans Mono" font-size="13.4393" lengthAdjust="spacingAndGlyphs" textLength="298.3526" x="13.4393" y="480.6424">peerA · peerB · high probe · verifier</text><path d="M323.4393,159.2199 L323.4393,178.0081 L291.9734,181.5919 L323.4393,185.1757 L323.4393,203.9616 A0,0 0 0 0 323.4393,203.9616 L603.8728,203.9616 A0,0 0 0 0 603.8728,203.9616 L603.8728,168.1795 L594.9133,159.2199 L323.4393,159.2199 A0,0 0 0 0 323.4393,159.2199 " fill="#F7F5ED" style="stroke: #8A887C; stroke-width: 0.8959537572254336;"/><path d="M594.9133,159.2199 L594.9133,168.1795 L603.8728,168.1795 L594.9133,159.2199 " fill="#F7F5ED" style="stroke: #8A887C; stroke-width: 0.8959537572254336;"/><text fill="#3E4B50" font-family="DejaVu Sans Mono" font-size="10.7514" lengthAdjust="spacingAndGlyphs" textLength="250.8671" x="334.1908" y="179.0552">Tick hook records bounded evidence only.</text><text fill="#3E4B50" font-family="DejaVu Sans Mono" font-size="10.7514" lengthAdjust="spacingAndGlyphs" textLength="213.237" x="334.1908" y="191.5705">Application uses public task APIs.</text><!--MD5=[03ba2351f170e1f43ca8cdfe4a465b34]
|
||||
link Timer to Port--><path d="M162.6156,80.8329 C162.6156,98.7251 162.6156,120.4341 162.6156,139.0251 " fill="none" id="Timer->Port" style="stroke: #607985; stroke-width: 1.1647398843930636;"/><polygon fill="#607985" points="162.6156,143.3347,166.1994,135.2711,162.6156,138.8549,159.0318,135.2711,162.6156,143.3347" style="stroke: #607985; stroke-width: 1.1647398843930636;"/><text fill="#425B67" font-family="DejaVu Sans Mono" font-size="12.5434" lengthAdjust="spacingAndGlyphs" textLength="229.3642" x="168.8873" y="117.2043">interrupt when mtime >= mtimecmp</text><!--MD5=[2547f420d094b531404e4e613dbd9530]
|
||||
link Port to Scheduler--><path d="M162.6156,218.5679 C162.6156,236.4601 162.6156,258.1601 162.6156,276.7601 " fill="none" id="Port->Scheduler" style="stroke: #607985; stroke-width: 1.1647398843930636;"/><polygon fill="#607985" points="162.6156,281.0697,166.1994,273.0061,162.6156,276.5899,159.0318,273.0061,162.6156,281.0697" style="stroke: #607985; stroke-width: 1.1647398843930636;"/><text fill="#425B67" font-family="DejaVu Sans Mono" font-size="12.5434" lengthAdjust="spacingAndGlyphs" textLength="143.3526" x="168.8873" y="254.9393">xTaskIncrementTick()</text><!--MD5=[f41f4fa5c5c04a19c1d6c66df1ba7f13]
|
||||
link Scheduler to Application--><path d="M162.6156,356.2939 C162.6156,374.1861 162.6156,395.8951 162.6156,414.4951 " fill="none" id="Scheduler->Application" style="stroke: #607985; stroke-width: 1.1647398843930636;"/><polygon fill="#607985" points="162.6156,418.8046,166.1994,410.741,162.6156,414.3249,159.0318,410.741,162.6156,418.8046" style="stroke: #607985; stroke-width: 1.1647398843930636;"/><text fill="#425B67" font-family="DejaVu Sans Mono" font-size="12.5434" lengthAdjust="spacingAndGlyphs" textLength="243.6994" x="168.8873" y="392.6653">select highest-priority Ready task</text><!--MD5=[dcf19c44d9290853f91ec953b4b334e5]
|
||||
@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 620 width
|
||||
top to bottom direction
|
||||
|
||||
class "01 Hazard3 timer\nmtime · mtimecmp" as Timer <<hardware>>
|
||||
class "02 RV32I FreeRTOS port\nmachine-timer trap · tick hook" as Port <<boundary>>
|
||||
class "03 FreeRTOS scheduler\nReady lists · priorities · time slice" as Scheduler <<kernel>>
|
||||
class "04 C application tasks\npeerA · peerB · high probe · verifier" as Application <<application>>
|
||||
|
||||
Timer - -> Port : interrupt when mtime >= mtimecmp
|
||||
Port - -> Scheduler : xTaskIncrementTick()
|
||||
Scheduler - -> Application : select highest-priority Ready task
|
||||
|
||||
note right of Port
|
||||
Tick hook records bounded evidence only.
|
||||
Application uses public task APIs.
|
||||
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>
|
||||
|
After Width: | Height: | Size: 8.8 KiB |
Reference in New Issue
Block a user