feat: publish FreeRTOS C FC03 card
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
@startuml
|
||||
!include card-uml-style.iuml
|
||||
scale 900 width
|
||||
left to right direction
|
||||
|
||||
class "01 PeerContext [2]" as Peers <<C struct>> {
|
||||
id : uint32_t
|
||||
configured_priority : UBaseType_t = 2
|
||||
handle : TaskHandle_t
|
||||
iterations · checksum
|
||||
first_tick · last_tick
|
||||
entry_sp · stack range
|
||||
}
|
||||
|
||||
class "02 HighProbeContext" as Probe <<C struct>> {
|
||||
initial_priority = 0
|
||||
target_priority = 3
|
||||
handle : TaskHandle_t
|
||||
run_tick
|
||||
ran_before_caller_returned
|
||||
}
|
||||
|
||||
class "03 VerifierContext" as Verify <<C struct>> {
|
||||
configured_priority = 1
|
||||
handle : TaskHandle_t
|
||||
pass
|
||||
}
|
||||
|
||||
class "04 switch trace" as SwitchTrace <<bounded record>> {
|
||||
task[16]
|
||||
tick[16]
|
||||
count · changes
|
||||
captured A · B · A
|
||||
}
|
||||
|
||||
class "05 preemption markers" as OrderTrace <<bounded record>> {
|
||||
1 = before_raise
|
||||
2 = high_probe
|
||||
3 = after_raise
|
||||
}
|
||||
|
||||
Peers --> SwitchTrace : one entry per observed task change
|
||||
Peers --> Probe : vTaskPrioritySet(handle, 3)
|
||||
Probe --> OrderTrace : marker 2
|
||||
Peers --> OrderTrace : markers 1 and 3
|
||||
Verify --> Peers : checks both
|
||||
Verify --> Probe : checks preemption proof
|
||||
|
||||
note bottom of SwitchTrace
|
||||
A→B→A is a committed subsequence.
|
||||
Repeated loop iterations are not logged.
|
||||
end note
|
||||
@enduml
|
||||
Reference in New Issue
Block a user