feat: publish FreeRTOS C FC07 card
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
<?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="520.0237px" preserveAspectRatio="none" style="width:344px;height:520px;" version="1.1" viewBox="0 0 344 520" width="344.9137px" zoomAndPan="magnify"><defs/><g><text fill="#000000" font-family="DejaVu Sans Mono" font-size="9.0966" lengthAdjust="spacingAndGlyphs" textLength="334.3009" x="1.5161" y="8.4437">A3 DISPATCH — external vector, saved context and FromISR switch</text><!--MD5=[aabf3b499c2cf719265b7c3ac778f6cd]
|
||||
entity Vector--><rect fill="#EDF6FA" height="25.7501" style="stroke: #2B6F8E; stroke-width: 1.137078037447041;" width="115.982" x="106.1273" y="16.9112"/><text fill="#000000" font-family="DejaVu Sans Mono" font-size="9.0966" lengthAdjust="spacingAndGlyphs" textLength="100.8209" x="113.7078" y="32.9354">01 isr_external_irq</text><!--MD5=[8fb8d31695e54a435865fdf9a8b62965]
|
||||
entity Trap--><rect fill="#EDF6FA" height="36.3391" style="stroke: #2B6F8E; stroke-width: 1.137078037447041;" width="179.6583" x="74.2891" y="88.1453"/><text fill="#000000" font-family="DejaVu Sans Mono" font-size="9.0966" lengthAdjust="spacingAndGlyphs" textLength="164.4973" x="81.8696" y="104.1696">02 freertos_risc_v_trap_handler</text><text fill="#000000" font-family="DejaVu Sans Mono" font-size="9.0966" lengthAdjust="spacingAndGlyphs" textLength="116.74" x="81.8696" y="114.7586">save full task context</text><!--MD5=[ec069bc136e2ed19ea7849b563e95cbb]
|
||||
entity Stack--><rect fill="#EDF6FA" height="36.3391" style="stroke: #2B6F8E; stroke-width: 1.137078037447041;" width="115.982" x="106.1273" y="169.9695"/><text fill="#000000" font-family="DejaVu Sans Mono" font-size="9.0966" lengthAdjust="spacingAndGlyphs" textLength="63.6764" x="113.7078" y="185.9937">03 xISRStack</text><text fill="#000000" font-family="DejaVu Sans Mono" font-size="9.0966" lengthAdjust="spacingAndGlyphs" textLength="100.8209" x="113.7078" y="196.5827">mcause = 0x8000000b</text><!--MD5=[6e8f311b0aa23032184ffba0ef926f91]
|
||||
entity App--><rect fill="#EDF6FA" height="25.7501" style="stroke: #2B6F8E; stroke-width: 1.137078037447041;" width="184.9647" x="71.6359" y="251.7936"/><text fill="#000000" font-family="DejaVu Sans Mono" font-size="9.0966" lengthAdjust="spacingAndGlyphs" textLength="169.8037" x="79.2164" y="267.8178">04 application_interrupt_handler</text><!--MD5=[5b1bd6a7e81d56a128126ca894b4dea0]
|
||||
entity Give--><rect fill="#EDF6FA" height="36.3391" style="stroke: #2B6F8E; stroke-width: 1.137078037447041;" width="142.5138" x="92.8614" y="323.0278"/><text fill="#000000" font-family="DejaVu Sans Mono" font-size="9.0966" lengthAdjust="spacingAndGlyphs" textLength="127.3527" x="100.4419" y="339.052">05 xSemaphoreGiveFromISR</text><text fill="#000000" font-family="DejaVu Sans Mono" font-size="9.0966" lengthAdjust="spacingAndGlyphs" textLength="68.9827" x="100.4419" y="349.641">xHPW = pdTRUE</text><!--MD5=[89b6b9f582cb55b01c677c38f03b5a6e]
|
||||
entity Yield--><rect fill="#EDF6FA" height="36.3391" style="stroke: #2B6F8E; stroke-width: 1.137078037447041;" width="126.5947" x="100.8209" y="404.8443"/><text fill="#000000" font-family="DejaVu Sans Mono" font-size="9.0966" lengthAdjust="spacingAndGlyphs" textLength="111.4336" x="108.4014" y="420.8685">06 portYIELD_FROM_ISR</text><text fill="#000000" font-family="DejaVu Sans Mono" font-size="9.0966" lengthAdjust="spacingAndGlyphs" textLength="95.5146" x="108.4014" y="431.4576">vTaskSwitchContext</text><!--MD5=[2999f9717112c470f2aa05529e02a51b]
|
||||
entity Restore--><rect fill="#EDF6FA" height="25.7501" style="stroke: #2B6F8E; stroke-width: 1.137078037447041;" width="184.9647" x="71.6359" y="486.6685"/><text fill="#000000" font-family="DejaVu Sans Mono" font-size="9.0966" lengthAdjust="spacingAndGlyphs" textLength="169.8037" x="79.2164" y="502.6927">07 restore selected task context</text><!--MD5=[6cbf32367f714346f3b133b410d79dad]
|
||||
link Vector to Trap--><path d="M164.1183,42.9351 C164.1183,53.8283 164.1183,69.9597 164.1183,83.1195 " fill="none" id="Vector->Trap" style="stroke: #8295A0; stroke-width: 0.758052024964694;"/><polygon fill="#8295A0" points="164.1183,86.6747,167.1505,79.8523,164.1183,82.8845,161.0861,79.8523,164.1183,86.6747" style="stroke: #8295A0; stroke-width: 0.758052024964694;"/><!--MD5=[b0767bc8531d10a9b766350c06937c90]
|
||||
link Trap to Stack--><path d="M164.1183,124.6986 C164.1183,136.5166 164.1183,152.1932 164.1183,164.9057 " fill="none" id="Trap->Stack" style="stroke: #8295A0; stroke-width: 0.758052024964694;"/><polygon fill="#8295A0" points="164.1183,168.6505,167.1505,161.828,164.1183,164.8602,161.0861,161.828,164.1183,168.6505" style="stroke: #8295A0; stroke-width: 0.758052024964694;"/><!--MD5=[e4dab99c883f7bd47772c670c9868b5c]
|
||||
link Stack to App--><path d="M164.1183,206.6744 C164.1183,218.7274 164.1183,234.5858 164.1183,246.5479 " fill="none" id="Stack->App" style="stroke: #8295A0; stroke-width: 0.758052024964694;"/><polygon fill="#8295A0" points="164.1183,250.2699,167.1505,243.4475,164.1183,246.4797,161.0861,243.4475,164.1183,250.2699" style="stroke: #8295A0; stroke-width: 0.758052024964694;"/><!--MD5=[1be6bdf4fccaffb580315b926a55fdeb]
|
||||
link App to Give--><path d="M164.1183,277.81 C164.1183,288.7107 164.1183,304.8345 164.1183,318.0019 " fill="none" id="App->Give" style="stroke: #8295A0; stroke-width: 0.758052024964694;"/><polygon fill="#8295A0" points="164.1183,321.5496,167.1505,314.7271,164.1183,317.7593,161.0861,314.7271,164.1183,321.5496" style="stroke: #8295A0; stroke-width: 0.758052024964694;"/><!--MD5=[26e107217348d7820e3534419db97115]
|
||||
link Give to Yield--><path d="M164.1183,359.5734 C164.1183,371.3991 164.1183,387.068 164.1183,399.7881 " fill="none" id="Give->Yield" style="stroke: #8295A0; stroke-width: 0.758052024964694;"/><polygon fill="#8295A0" points="164.1183,403.5253,167.1505,396.7028,164.1183,399.735,161.0861,396.7028,164.1183,403.5253" style="stroke: #8295A0; stroke-width: 0.758052024964694;"/><!--MD5=[3fcff4eda15420d09f3f572de4dd84c6]
|
||||
link Yield to Restore--><path d="M164.1183,441.5492 C164.1183,453.6098 164.1183,469.4607 164.1183,481.4303 " fill="none" id="Yield->Restore" style="stroke: #8295A0; stroke-width: 0.758052024964694;"/><polygon fill="#8295A0" points="164.1183,485.1448,167.1505,478.3223,164.1183,481.3545,161.0861,478.3223,164.1183,485.1448" style="stroke: #8295A0; stroke-width: 0.758052024964694;"/><!--MD5=[d2de30118125ffc21081098f887fa52b]
|
||||
@startuml
|
||||
scale max 900*520
|
||||
skinparam backgroundColor transparent
|
||||
skinparam shadowing false
|
||||
skinparam defaultFontName "DejaVu Sans Mono"
|
||||
skinparam defaultFontSize 12
|
||||
skinparam rectangleBorderColor #2b6f8e
|
||||
skinparam rectangleBackgroundColor #edf6fa
|
||||
skinparam ArrowColor #8295a0
|
||||
top to bottom direction
|
||||
title A3 DISPATCH — external vector, saved context and FromISR switch
|
||||
rectangle "01 isr_external_irq" as Vector
|
||||
rectangle "02 freertos_risc_v_trap_handler\nsave full task context" as Trap
|
||||
rectangle "03 xISRStack\nmcause = 0x8000000b" as Stack
|
||||
rectangle "04 application_interrupt_handler" as App
|
||||
rectangle "05 xSemaphoreGiveFromISR\nxHPW = pdTRUE" as Give
|
||||
rectangle "06 portYIELD_FROM_ISR\nvTaskSwitchContext" as Yield
|
||||
rectangle "07 restore selected task context" as Restore
|
||||
Vector - -> Trap
|
||||
Trap - -> Stack
|
||||
Stack - -> App
|
||||
App - -> Give
|
||||
Give - -> Yield
|
||||
Yield - -> Restore
|
||||
@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: 7.5 KiB |
Reference in New Issue
Block a user