From f4973842adf8ceda3c00caeea84d24bdcc3ff2c7 Mon Sep 17 00:00:00 2001 From: mpabi Date: Sat, 2 May 2026 01:09:38 +0200 Subject: [PATCH] Clarify heap buffer placement --- doc/main.tex | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/doc/main.tex b/doc/main.tex index cfbf93d..820faf3 100644 --- a/doc/main.tex +++ b/doc/main.tex @@ -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 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ę do numerów widocznych po lewej stronie listingów C.