Clarify heap buffer placement
This commit is contained in:
@@ -94,6 +94,14 @@ kopią pliku upstream FreeRTOS. Na RV32I wyniki są zapisywane w globalnych
|
|||||||
zmiennych \texttt{volatile}; \texttt{printf} jest dostępny wyłącznie w wariancie
|
zmiennych \texttt{volatile}; \texttt{printf} jest dostępny wyłącznie w wariancie
|
||||||
hostowym przez flagę \texttt{-DHOST\_PRINTF=1}.
|
hostowym przez flagę \texttt{-DHOST\_PRINTF=1}.
|
||||||
|
|
||||||
|
W tej karcie słowo „sterta” oznacza obszar pamięci, którym zarządza alokator.
|
||||||
|
W \texttt{heap\_4} taki obszar jest zwykle statyczną tablicą bajtów, więc linker
|
||||||
|
może umieścić go w sekcji \texttt{.bss}. Sama sekcja \texttt{.bss} nie jest jednak
|
||||||
|
alokacją dynamiczną: dopiero kod \texttt{pvPortMalloc}/\texttt{vPortFree} albo
|
||||||
|
model z tej karty dzieli bajty tego bufora na bloki, prowadzi listę wolnych
|
||||||
|
bloków i wykonuje scalanie. W Task 03 widać ten moment przejścia od zwykłego
|
||||||
|
statycznego bufora do sterty zarządzanej przez algorytm.
|
||||||
|
|
||||||
Listingi C i ASM mają numerowane linie. Opisy w sekcjach tasków odnoszą się
|
Listingi C i ASM mają numerowane linie. Opisy w sekcjach tasków odnoszą się
|
||||||
do numerów widocznych po lewej stronie listingów C.
|
do numerów widocznych po lewej stronie listingów C.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user