feat: publish FreeRTOS C FC03 card
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
@startuml
|
||||
!include card-uml-style.iuml
|
||||
scale 900 width
|
||||
left to right direction
|
||||
|
||||
class "01 timer CSRs" as Timer <<runtime>> {
|
||||
mtime
|
||||
mtimecmp
|
||||
mcause = 0x80000007
|
||||
mepc = interrupted task PC
|
||||
}
|
||||
|
||||
class "02 ISR evidence" as ISR <<runtime>> {
|
||||
first_tick_count
|
||||
ISR sp
|
||||
one-shot tick checkpoint
|
||||
}
|
||||
|
||||
class "03 scheduler evidence" as Kernel <<debugger only>> {
|
||||
Ready lists by priority
|
||||
selected TCB
|
||||
tick count
|
||||
}
|
||||
|
||||
class "04 peer runtime" as Peer <<runtime>> {
|
||||
context address
|
||||
handle / TCB
|
||||
task stack range
|
||||
PC · SP · priority 2
|
||||
}
|
||||
|
||||
class "05 high runtime" as High <<runtime>> {
|
||||
handle / TCB
|
||||
priority 0 → 3
|
||||
PC · SP · run_tick
|
||||
}
|
||||
|
||||
class "06 committed evidence" as Evidence <<application>> {
|
||||
switch trace A · B · A
|
||||
markers before · HIGH · after
|
||||
source blob · ELF hash
|
||||
PASS
|
||||
}
|
||||
|
||||
Timer --> ISR : machine-timer trap
|
||||
ISR --> Kernel : scheduling opportunity
|
||||
Kernel --> Peer : equal-priority rotation
|
||||
Kernel --> High : select after priority raise
|
||||
Peer --> Evidence
|
||||
High --> Evidence
|
||||
|
||||
note bottom of Kernel
|
||||
Kernel internals are debugger observations only.
|
||||
Program assertions use public API and application records.
|
||||
end note
|
||||
@enduml
|
||||
Reference in New Issue
Block a user