feat: add interactive FC01 heap4 card
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
@startuml
|
||||
scale 600 height
|
||||
top to bottom direction
|
||||
skinparam backgroundColor transparent
|
||||
skinparam shadowing false
|
||||
skinparam defaultFontName Monospace
|
||||
skinparam defaultFontSize 10
|
||||
skinparam rectangleBorderColor #2c7794
|
||||
skinparam rectangleBackgroundColor #edf6fa
|
||||
skinparam ArrowColor #8095a1
|
||||
title A1 CONTEXT — from linear cursor to reusable heap
|
||||
|
||||
rectangle "<<application>>\n01 A / B / C experiment\nrequests payload bytes" as APP
|
||||
rectangle "<<public API>>\n02 pvPortMalloc / vPortFree\nheap statistics" as API
|
||||
rectangle "<<allocator>>\n03 heap_4\nfirst-fit · split · coalesce" as H4
|
||||
rectangle "<<arena>>\n04 ucHeap[4096]\nheaders + payload" as ARENA
|
||||
rectangle "<<target>>\n05 Hazard3 / RV32I\nGDB · registers · memory" as TARGET
|
||||
|
||||
APP -down-> API : request / release
|
||||
API -down-> H4 : direct C call
|
||||
H4 -down-> ARENA : manages
|
||||
ARENA -down-> TARGET : stored in RAM
|
||||
|
||||
note right of H4
|
||||
heap_1: allocate only
|
||||
heap_2: free, no coalesce
|
||||
heap_3: libc wrapper
|
||||
heap_4: free + coalesce
|
||||
heap_5: multiple regions
|
||||
end note
|
||||
@enduml
|
||||
Reference in New Issue
Block a user