Document FreeRTOS Book v1.1.0 mapping
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# rv32i-freertos / heap4
|
||||
|
||||
Karta pracy 1/? z serii `rv32i-freertos`.
|
||||
Karta pracy `01/14` z serii `rv32i-freertos`; jest opcjonalnym fundamentem L1.
|
||||
|
||||
Temat: mechanika alokatora `heap_4.c` z FreeRTOS-a na małych przykładach
|
||||
uruchamianych w środowisku RV32I.
|
||||
@@ -38,6 +38,24 @@ kod pomocniczy i pliki danego zadania.
|
||||
Uczeń nie commituje bezpośrednio do `tasks/*`. W repozytorium klasy tworzy
|
||||
gałąź pochodną, na przykład `students/u01/tasks/05-malloc-first-fit`.
|
||||
|
||||
## Powiązanie z FreeRTOS Book v1.1.0
|
||||
|
||||
To jest opcjonalna karta `K01` z
|
||||
[mapy serii](../README.md). Jej źródłem pojęciowym jest rozdział 3 książki
|
||||
*Mastering the FreeRTOS Real Time Kernel*, przede wszystkim sekcja 3.2.4 o
|
||||
`heap_4` oraz rysunki 3.1–3.4. Rozdział o heapie nie ma numerowanego programu
|
||||
z zestawu `Example001`–`Example025`, dlatego karta rozkłada mechanikę
|
||||
alokatora na własne, krótsze eksperymenty:
|
||||
|
||||
- Taski 01–03 odtwarzają mapę bloku, wolną listę i inicjalizację heapu;
|
||||
- Taski 04–08 izolują wyrównanie, first-fit, podział, wstawianie i scalanie;
|
||||
- Task 09 łączy konfigurację z sekcjami 3.1.3–3.1.5;
|
||||
- Task 10 składa te elementy w jeden model zachowania `heap_4`.
|
||||
|
||||
Karta nie jest kopią upstreamowego `heap_4.c` ani listingów książki. Jest
|
||||
modelem dydaktycznym, po którym karta `K02` przechodzi na prawdziwy plik
|
||||
`portable/MemMang/heap_4.c` z FreeRTOS V11.3.0.
|
||||
|
||||
## Budowanie
|
||||
|
||||
```bash
|
||||
|
||||
+16
-2
@@ -23,7 +23,7 @@
|
||||
\newcommand{\CardArea}{inf}
|
||||
\newcommand{\CardSeries}{rv32i-freertos}
|
||||
\newcommand{\CardNumber}{01}
|
||||
\newcommand{\CardCount}{??}
|
||||
\newcommand{\CardCount}{14}
|
||||
\newcommand{\CardSlug}{heap4}
|
||||
\newcommand{\CardVersion}{v0.1}
|
||||
\newcommand{\DocumentKey}{\PublisherDomain/\CardArea/\CardSeries/\CardNumber/\CardSlug/\CardVersion}
|
||||
@@ -53,7 +53,7 @@ Project: & FreeRTOS: \texttt{heap\_4} \\
|
||||
Subject: & Informatyka \\
|
||||
Level: & 1, Zakres Podstawowy, PP \\
|
||||
Topic: & dynamiczna alokacja pamięci, lista wolnych bloków, scalanie bloków \\
|
||||
Revision date: & 02.05.2026 \\
|
||||
Revision date: & 14.07.2026 \\
|
||||
Status: & Draft \\
|
||||
Card in series: & \small\texttt{\CardNumber/\CardCount} \\
|
||||
Card version: & \small\texttt{\CardVersion} \\
|
||||
@@ -105,6 +105,20 @@ 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.
|
||||
|
||||
\subsection{Powiązanie z FreeRTOS Book v1.1.0}
|
||||
|
||||
Karta K01 odpowiada rozdziałowi 3 książki \emph{Mastering the FreeRTOS Real
|
||||
Time Kernel}, przede wszystkim sekcji 3.2.4 o \texttt{heap\_4} oraz rysunkom
|
||||
3.1--3.4. Ten rozdział nie ma programu z numerowanego zestawu
|
||||
\texttt{Example001}--\texttt{Example025}. Dlatego Taski 01--08 są krótkimi,
|
||||
własnymi eksperymentami izolującymi kolejne elementy algorytmu, a Task 10
|
||||
składa je w jeden model.
|
||||
|
||||
Nie kopiujemy listingu upstream ani projektu Win32/MSVC. Ta karta służy do
|
||||
zrozumienia mechaniki; karta K02 przechodzi na niezmodyfikowany
|
||||
\texttt{portable/MemMang/heap\_4.c} z FreeRTOS V11.3.0. Pełna mapa książki,
|
||||
lekcji i kart znajduje się w pliku \texttt{series/inf/README.md}.
|
||||
|
||||
\lstinputlisting[language=C,caption={Wspólny nagłówek dla karty \texttt{heap\_4}},label={lst:common-h}]{../src/tasks/heap4_common.h}
|
||||
|
||||
\subsection{\texttt{static inline} w nagłówku}
|
||||
|
||||
Reference in New Issue
Block a user