
Zrozum działanie linkera
i przejmij pełną kontrolę nad pamięcią w swoim projekcie!
Przedsprzedaż została zakończona.
Jeśli chcesz otrzymać informację o kolejnej możliwości zakupu, zapisz się na listę oczekujących.
Wyślemy Ci powiadomienie mailowe przed startem następnej sprzedaży.
Co wyróżnia programistów embedded?
Interakcje ze sprzętem i zarządzanie pamięcią!
Nasze projekty mają specjalne wymagania dotyczące pamięci:
Celowo używamy języków takich jak C, czy nawet asembler aby mieć lepszą kontrolę nad pamięcią. Mamy jej tak mało na procesorze, dlatego musimy potrafić wyciągnąć z niej maksimum.
okej… ale czy TY naprawdę kontrolujesz pamięć w swoich projektach?
W końcu wygenerowana w IDE konfiguracja często działa od ręki.
Czy umiesz ją dostosować do zmian sprzętowych?
Czy prosisz o pomoc bardziej doświadczonych kolegów, albo czata GPT?
To dobrze, że w dzisiejszych czasach możemy często ukryć pamięć za abstrakcją. Nawet w embedded. Nowoczesne narzędzia przyspieszają naszą pracę. Ale nie mogą w pełni zastąpić zrozumienia, co się dzieje pod maską.
W końcu przyjdzie moment, gdy musimy:
Dlatego doświadczony programista embedded po prostu musi być ekspertem od zarządzania pamięcią.
Chcesz mieć pełną kontrolę nad pamięcią w swoim projekcie?
Jesteś w dobrym miejscu!
To właśnie dla Ciebie stworzyłem kurs:
„Linker w Embedded”

Po ukończeniu kursu:
Po prostu linker nie będzie już
dla Ciebie czarną magią!
Twój prowadzący:
Nazywam się Maciek Gajdzica i jestem programistą embedded od 2012 roku. Przez ten czas poznałem na własnej skórze skutki zbyt sprytnego kodu, czy nadmiernego uzależnienia od narzędzi, których działania do końca nie rozumiałem.
Nauczyłem się wspomagać różnymi narzędziami i technikami zmniejszającymi ilość błędów, czy automatyzującymi żmudne czynności. Miałem również trudności ze znalezieniem materiałów do nauki na bardziej zaawansowanym poziomie.
Dlatego teraz sam takie materiały tworzę i dzięki temu Ty nie musisz popełniać moich błędów.
W ciągu ostatnich kilku lat powstało:
- Około 200 artykułów na blogu ucgosu.pl
- Ponad 40 live’ów na moim kanale YouTube
- Kursy online „C dla Zaawansowanych”, „TDD w systemach embedded”, „Git w embedded”, „Asembler w embedded”

|
Ten kurs jest dla Ciebie, jeżeli
|
Co znajdziesz w kursie?

Dokładne omówienie procesu linkowania i filozofii zarządzania pamięcią na przykładzie toolchaina GCC dla ARM.

Analizę plików obiektowych z wykorzystaniem narzędzi toolchaina. Pozwoli Ci to na sprawdzanie zawartości plików wynikowych kompilacji i debugowanie problemów z pamięcią.

Omówienie struktury i składni skryptów linkera oraz powiązanie elementów skryptu z fizyczną mapą pamięci i zmiennymi w kodzie.

Praktyczne zadania zarówno do samodzielnej pracy jak i z pokazanym rozwiązaniem. Od podstaw do bardziej zaawansowanych przykładów. Wraz z typowymi przypadkami użycia i różnymi pułapkami.

Przykłady z życia wzięte. Jak dodać CRC na końcu FLASHa? Jak dodać sekcję bootloadera? Jak dodać ochronę stosu? Jak skonfigurować zewnętrzną pamięć? Realne scenariusze, na które trafisz w swoich projektach.
Agenda

1.1 Dla kogo jest ten kurs
1.2 Co znajdziesz w kursie
1.3 Jak przerabiać ten kurs
1.4 Narzędzia
1.5 Efekt końcowy
1.6 Twój instruktor
1.7 Grupa discord

2.1 Intro
2.2 Od kodu w edytorze do uruchomienia na sprzęcie
2.3 Typy pamięci
2.4 Przestrzenie adresowe i mapy pamięci
2.5 LMA vs VMA
2.6 Co właściwie robi linker?
2.7 Domyślne skrypty linkera
2.8 Co daje nam kontrola nad procesem linkowania?
2.9 Pliki obiektowe
2.10 Format pliku ELF
2.11 Modyfikacje ELF zależne od architektury – analizujemy dokumentację
2.12 Efekt działania linkera – podglądamy objdump i pliki map

3.1 Dialekty linkera
3.2 Sekcje wejściowe i wyjściowe
3.3 Operator kropki
3.4 Load
3.5 Entry point
3.6 Eksportowanie symboli
3.7 Symbole generowane przez kompilator
3.8 Flagi gc section, wpływ flag kompilatora
3.9 Dodatkowe funkcje

4.1 objdump – znajdź rozmiar i adresy funkcji i zmiennych
4.2 Podstawowy skrypt dla STM32
4.3 Dodatkowa pamięć CCM, BKP
4.4 Zewnętrzne pamięci – FSMC
4.5 Eksport symboli do kodu – stack start, heap start
4.6 Stack Guard
4.7 CRC FLASH
4.8 Wypełnienie pamięci patternem
4.9 Sekcje redundantne zgodne z Class B
4.10 EEPROM Emulation
4.11 Bootloader
4.12 Wektor Przerwań STM
4.13 Funkcje uruchamiane przed mainem
4.14 Dane persistent – obszar RAM wyłączony z inicjalizacji
Co otrzymasz dołączając do kursu?
Ale ile to wszystko kosztuje?
Cena kursu w przedsprzedaży to:
399 zł (324 zł netto)
Najniższa cena w ostatnich 30 dniach: 399 zł
To najlepsza możliwa oferta. NIGDY nie będzie taniej.
Co to znaczy, że w przedsprzedaży?
Jeszcze nie ma wszystkich materiałów. Będą się ukazywać do końca wakacji.
Ale jeżeli wiesz, że i tak chcesz przerobić ten kurs – możesz kupić teraz i oszczędzić.
Możesz również kupić kurs po wakacjach. Będziesz mieć wtedy dostęp od razu do całości, ale już w wyższej cenie.
Przedsprzedaż została zakończona.
Jeśli chcesz otrzymać informację o kolejnej możliwości zakupu, zapisz się na listę oczekujących.
Wyślemy Ci powiadomienie mailowe przed startem następnej sprzedaży.
Kurs od środka
Poznaj platformę kursową:
Dostęp do platformy otrzymasz NATYCHMIAST i bez ograniczeń czasowych!
Kursy ucgosu.pl przerabia już ponad 1000 osób
Przeczytaj opinie:
Przedsprzedaż została zakończona.
Jeśli chcesz otrzymać informację o kolejnej możliwości zakupu, zapisz się na listę oczekujących.
Wyślemy Ci powiadomienie mailowe przed startem następnej sprzedaży.
Co otrzymasz dołączając do kursu?
Gwarancja satysfakcji








