
Zrozum działanie linkera
i przejmij pełną kontrolę nad pamięcią
w swoim projekcie!
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 Efekt końcowy
1.5 Twój instruktor
1.6 Narzędzia
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 Intro
3.2 Dialekty linkera
3.3 Regiony pamięci
3.4 Sekcje wejściowe
3.5 Sekcje wyjściowe
3.6 Jak linker przydziela adresy?
3.7 Obsługa LMA i VMA w skrypcie
3.8 FEksportowanie symboli
3.9 Używanie symboli linkera w C
3.10 Entry point
3.11 Dodatkowe funkcje i składnia
3.12 Symbole i sekcje generowane przez linker/kompilator/toolchain
3.13 Własne sekcje
3.14 Kompletny skrypt linkera
3.15 Plik .map od deski do deski
3.16 Czy rozpoznasz, co się dzieje w tych skryptach?

4.1 Intro
4.2 Konfiguracja środowiska
4.3 FLASH CRC Zadanie
4.4 FLASH CRC Rozwiązanie
4.5 Własna sekcja w pamięci Zadanie
4.6 Własna sekcja w pamięci Rozwiązanie
4.7 Sekcja Persistent Teoria
4.8 Sekcja Persistent Zadanie
4.9 Sekcja Persistent Rozwiązanie
4.10 Sekcje redundantne class B Teoria
4.11 Sekcje redundantne class B Zadanie
4.12 Sekcje redundantne class B Rozwiązanie
4.13 Stack guard Teoria
4.14 Stack guard Zadanie
4.15 Stack guard Rozwiązanie
4.16 EEPROM Emulation Teoria
4.17 EEPROM Emulation Zadanie
4.18 EEPROM Emulation Rozwiązanie
4.19 Sekcja RAMFUNC Teoria
4.20 Sekcja RAMFUNC Zadanie
4.21 Sekcja RAMFUNC Rozwiązanie
4.22 Prosty Bootloader Teoria
4.23 Prosty Bootloader Zadanie
4.24 Visual Studio Code – konfiguracja
4.25 Prosty Bootloader Rozwiązanie

5.1 Intro
5.2 Sektor BKP
5.2 Sektor EEC
5.4 Sektor Lowpower
5.5 Wyświetlacz FSMC
5.6 External Flash
5.7 OctoSPI
5.8 Dual Bank Flash
5.8 Trust Zone

6.1 Certyfikat ukończenia
Co otrzymasz dołączając do kursu?
Ale ile to wszystko kosztuje?
Cena kursu to:
899 zł
Ale do wtorku 17 listopada do godziny 21:00 możesz dołączyć za:
649 zł (528 zł netto)
Najniższa cena w ostatnich 30 dniach: 899 zł
Po tym czasie kończy się promocja i wracamy do regularnych cen.
Kolejna promocja dopiero za kilka miesięcy, ale cena nigdy nie będzie niższa niż teraz.
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:
Co otrzymasz dołączając do kursu?
Gwarancja satysfakcji

Przygotowałem szkolenie najlepiej jak potrafię. Zawarłem tam wiedzę, do której dochodziłem wiele lat. Umieściłem treści, które sam chciałbym otrzymać i które pomogłyby mi w różnych sytuacjach jakie napotykałem na swojej ścieżce zawodowej.
Jeżeli jednak z jakiegokolwiek powodu uznasz, że to szkolenie nie jest dla Ciebie – wystarczy, że napiszesz na kontakt@ucgosu.pl.
Ale ile to wszystko kosztuje?
Cena kursu to:
899 zł
Ale do wtorku 17 listopada do godziny 21:00 możesz dołączyć za:
649 zł (528 zł netto)
Najniższa cena w ostatnich 30 dniach: 899 zł
Po tym czasie kończy się promocja i wracamy do regularnych cen.
Kolejna promocja dopiero za kilka miesięcy, ale cena nigdy nie będzie niższa niż teraz.
Zostań programistą, którego każdy chce w swoim projekcie
Zrozum działanie programu od środka

C dla Zaawansowanych
Język i kompilator

Asembler w Embedded
Instrukcje i procesor

Linker w Embedded
Zarządzanie pamięcią
Usprawnij proces wytwarzania oprogramowania

TDD w Systemach Embedded
testy, automatyzacja, kontrola jakości

Git w Embedded
Kontrola wersji, praca w zespole
Pięć kursów, dzięki którym rozwiniesz ekspercką wiedzę z programowania niskopoziomowego, a jednocześnie nauczysz się dbać o cały proces wytwarzania oprogramowania, wykorzystując sprawdzone narzędzia, techniki i dobre praktyki.

C dla Zaawansowanych
13 modułów
30 godzin lekcji

Asembler w Embedded
5 modułów
15 godzin lekcji

TDD w Systemach Embedded
8 modułów
16 godzin lekcji

Git w Embedded
4 moduły
13 godzin lekcji
Sprawdź ofertę!

Linker w Embedded
OSZCZĘDZASZ:
250 ZŁ!
649 zł
zamiast 899 zł
(Najniższa cena w ostatnich 30 dniach: 899zł)

Pakiet: Linker + Asembler
OSZCZĘDZASZ:
649 ZŁ!
1149 zł
zamiast 1798 zł
(Najniższa cena w ostatnich 30 dniach: 1798zł)

Pakiet: Linker + Asembler + CdZ
OSZCZĘDZASZ:
1298 ZŁ!
2499 zł
zamiast 3797 zł
(Najniższa cena w ostatnich 30 dniach: 3797zł)








