Files

20 lines
707 B
Plaintext

@startuml
!include card-uml-style.iuml
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