chore: preserve current FreeRTOS and C card updates
This commit is contained in:
+13
-13
@@ -8,22 +8,22 @@ skinparam defaultFontSize 9
|
||||
skinparam rectangleBorderColor #2c7794
|
||||
skinparam rectangleBackgroundColor #edf6fa
|
||||
skinparam ArrowColor #8095a1
|
||||
title A5 FLOW — allocate, fragment, coalesce, verify
|
||||
title A5 FLOW — eight deterministic Hazard3 replay states
|
||||
|
||||
rectangle "01 RESET\ninitial free = 4080" as S1
|
||||
rectangle "02 ALLOC A\n24 byte payload\nfirst-fit + split" as S2
|
||||
rectangle "03 ALLOC B / C\n40 + 16 byte payload\nafter = 3952" as S3
|
||||
rectangle "04 FREE A / C\nB remains allocated" as S4
|
||||
rectangle "05 E01 FRAGMENTED\n2 free blocks\ncurrent > largest" as S5
|
||||
rectangle "06 FREE B\ninsert by address\njoin right + left" as S6
|
||||
rectangle "07 E02 COALESCED\n1 free block\nfinal = initial" as S7
|
||||
rectangle "08 OOM CHECK\nNULL · hook=1\nasserts=0 · PASS=1" as S8
|
||||
rectangle "01 E01 RESET\n1 block · free=4080\nraw header=8 · aligned=16" as S1
|
||||
rectangle "02 E02 ALLOC A(24)\nconsumed=48\nfree=4032" as S2
|
||||
rectangle "03 E03 ALLOC B(40)\nconsumed=64\nfree=3968" as S3
|
||||
rectangle "04 E04 ALLOC C(16)\nconsumed=32\nfree=3936" as S4
|
||||
rectangle "05 E05 FREE A\n2 free blocks\nfree=3984" as S5
|
||||
rectangle "06 E06 FREE C\n2 blocks · fragmented\nfree=4016" as S6
|
||||
rectangle "07 E07 FREE B\nmerge left + right\n1 block · free=4080" as S7
|
||||
rectangle "08 E08 OOM / VERIFY\nNULL · hook=1\nasserts=0 · PASS=1" as S8
|
||||
|
||||
S1 -right-> S2 : pvPortMalloc
|
||||
S2 -right-> S3 : split remainder
|
||||
S3 -right-> S4 : vPortFree
|
||||
S4 -down-> S5 : heap stats
|
||||
S5 -left-> S6 : continue
|
||||
S6 -left-> S7 : coalesce
|
||||
S3 -right-> S4 : split remainder
|
||||
S4 -down-> S5 : vPortFree(A)
|
||||
S5 -left-> S6 : vPortFree(C)
|
||||
S6 -left-> S7 : vPortFree(B)
|
||||
S7 -left-> S8 : oversized request
|
||||
@enduml
|
||||
|
||||
Reference in New Issue
Block a user