feat: publish FreeRTOS C FC02 card
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
@startuml
|
||||
!include card-uml-style.iuml
|
||||
scale 620 width
|
||||
top to bottom direction
|
||||
|
||||
state "01 WorkerContext lifetime\nstatic initialization → program end" as ObjectLifetime
|
||||
|
||||
state "PREPARED" as Constructed
|
||||
state "02 STARTING" as Starting
|
||||
state "READY" as ReadyWrapper
|
||||
state "03 RUNNING" as RunningWrapper
|
||||
state "COMPLETED" as CompletedWrapper
|
||||
|
||||
state "Ready" as ReadyKernel
|
||||
state "04 Running" as RunningKernel
|
||||
state "05 time sliced\nA ↔ B" as TimeSlice
|
||||
state "06 Deleted\ncontext remains static" as DeletedKernel
|
||||
|
||||
Constructed --> Starting : create_worker()
|
||||
Starting --> ReadyWrapper : xTaskCreate = pdPASS
|
||||
ReadyWrapper --> RunningWrapper : callback entry
|
||||
RunningWrapper --> CompletedWrapper : result published
|
||||
|
||||
ReadyKernel --> RunningKernel : scheduler
|
||||
RunningKernel --> ReadyKernel : preemption
|
||||
RunningKernel --> TimeSlice : equal priority
|
||||
TimeSlice --> RunningKernel : resume
|
||||
RunningKernel --> DeletedKernel : vTaskDelete(NULL)
|
||||
|
||||
ObjectLifetime -[hidden]down-> Constructed
|
||||
CompletedWrapper -[hidden]down-> DeletedKernel
|
||||
|
||||
note right of RunningWrapper
|
||||
trace_state is diagnostic application data.
|
||||
It is not eTaskState.
|
||||
end note
|
||||
@enduml
|
||||
Reference in New Issue
Block a user