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:
  • pamięci jest mało,
  • często korzystamy z dodatkowych kości pamięci,
  • odwołujemy się bezpośrednio do adresów,
  • mapujemy peryferia na adresy w 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:
  • Zdebugować problemy z pamięcią
  • Zmienić konfigurację pod nowy sprzęt
  • odwołujemy się bezpośrednio do adresów,
  • mapujemy peryferia na adresy w pamięci.
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:

  • Nauczysz się świadomie zarządzać pamięcią w projektach embedded.
  • Zrozumiesz jak naprawdę działa linker i proces budowania programu.
  • Nauczysz się tworzyć i edytować konfigurację pamięci w Twoich projektach.
  • Nauczysz się analizować pliki ELF, map file i symbole debugowe.
  • Dowiesz się jak przygotować projekt pod bootloader, ochronę stosu, czy pamięć zewnętrzną
  • Nauczysz się debugować problemy związane z pamięcią i startupem programu.

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:
Ten kurs jest dla Ciebie, jeżeli

Pracujesz już w branży embedded i chcesz się rozwijać na mida lub seniora.

Znasz już techniki programowania mikrokontrolerów w komercyjnych projektach.

Sprawnie posługujesz się językiem C i typowymi narzędziami.

Chcesz bardziej wniknąć w niskopoziomowe szczegóły działania procesora.

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

Co otrzymasz dołączając do kursu?

  • 6 modułów tłumaczących kompleksowo zarówno język asemblera jak i wewnętrzne działanie procesora
  • Masę praktycznych przykładów na STM32
  • Nieograniczony czasowo dostęp do kursu
  • Dostęp do wszystkich późniejszych aktualizacji i dodatków
  • Dostęp do slajdów i linków z materiałami dodatkowymi do lekcji
  • Dostęp do zamkniętej grupy dla kursantów na Discordzie
  • Certyfikat ukończenia w formie PDF
  • 14 dni na zwrot w ramach gwarancji satysfakcji
  • Fakturę VAT na firmę (jeśli potrzebujesz)
  • Obsługę zamówienia firmowego, jeśli formalności się przedłużą

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?

  • 6 modułów tłumaczące kompleksowo zarządzanie pamięcią i skrypty linkera
  • Masę praktycznych przykładów na STM32
  • Nieograniczony czasowo dostęp do kursu
  • Dostęp do wszystkich późniejszych aktualizacji i dodatków
  • Dostęp do slajdów i linków z materiałami dodatkowymi do lekcji
  • Dostęp do zamkniętej grupy dla kursantów na Discordzie
  • Certyfikat ukończenia w formie PDF
  • 14 dni na zwrot w ramach gwarancji satysfakcji
  • Fakturę VAT na firmę (jeśli potrzebujesz)
  • Obsługę zamówienia firmowego, jeśli formalności się przedłużą

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


  • Pułapki składni języka C
  • Dobre praktyki i strategie
  • Opcje kompilatora
  • Czysty i poprawny kod
  • Projektowanie aplikacji
  • Przydatne narzędzia i techniki

Asembler w Embedded

5 modułów

15 godzin lekcji


  • Budowa i działanie procesora
  • Popularna architektura ASM Cd2
  • Składania asemblera
  • Łączenie ASM z C
  • Debugowanie na poziomie instrukcji procesora

TDD w Systemach Embedded

8 modułów

16 godzin lekcji


  • Test Driven Development od podstaw
  • Narzędzia i frameworki do testów automatycznych
  • Specyfika testowania Embedded
  • Dobre praktyki i antywzorce
  • Strategie testowania w projekcie
  • Dużo zadań praktycznych

Git w Embedded

4 moduły

13 godzin lekcji


  • Bezpieczne przechowywanie kodu i przywracanie zmian
  • Pełna ścieżka nauki od podstaw
  • Modyfikowanie historii zmian i rozwiązywanie konfliktów
  • Strategie pracy w większym zespole
  • Specyfika Embedded np. schematy elektryczne, różne wersje HW

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ł)

Pakiet: ALL IN ONE


OSZCZĘDZASZ:

2246 ZŁ!


3499 zł

zamiast 5745 zł

(Najniższa cena w ostatnich 30 dniach: 5745zł)

Pytania i odpowiedzi

Masz dostęp do całego kursu poza modułem nr 5, który jest jeszcze w trakcie tworzenia i powinien pojawić się w grudniu. Od tego momentu będziesz mieć już nieograniczony dostęp do wszystkich modułów i późniejszych aktualizacji.
Nie. Możesz przechodzić kurs w swoim tempie. Po publikacji danego modułu masz już do niego dostęp cały czas. Nie musisz się bać, że jak szybko nie przerobisz, to zniknie. Możesz więc przerabiać je później, odtwarzać ponownie, czy wrócić do nich za rok jak zechcesz sobie coś przypomnieć. Pytania do lekcji możesz publikować na grupie dla kursantów również w swoim tempie.
Nie. Kurs był robiony głównie z myślą o programistach embedded i to oni najbardziej na nim skorzystają. Ale kurs przyda się również innym programistom, którzy chcą nauczyć się zarządzania pamięcią i skryptów linkera. Duża część kursu może być przydatna również dla programistów niskopoziomowych piszących w C na inne platformy. Na przykład na Linuxie.
Od strony softu potrzebujesz kompilator arm-none-eabi-gcc oraz edytora kodu. W kursie wykorzystuję STM32 Cube IDE oraz Visual Studio Code. Przykłady najlepiej wykonywać na płytce ewaluacyjnej STM32 Nucleo. W module 4 wykorzystuję NUCLEO-F411RE, a w module 5 NUCLEO-U575ZI
Najlepiej jeżeli umiesz już programować w C na mikrokontrolery i masz za sobą pierwsze projekty na STM32. Mogą również się przydać podstawy asemblera oraz budowy procesora. Idealnie, jeżeli pracujesz już w zawodzie i chcesz przeskoczyć z poziomu juniora albo mida w kierunku seniora. Czyli potrafisz już sobie poradzić w projekcie bez grzebania w skryptach linkera i chcesz załatać luki i mieć lepszą kontrolę nad całym projektem.
Na jednym nagraniu przedstawiam treść zadania, a na kolejnym moje przykładowe rozwiązanie. Możesz rozwiązywać zadanie samodzielnie i sprawdzić rozwiązanie w przypadku problemów, lub w celu porównania. Bardziej rozbudowane zadania są poprzedzone lekcją teoretyczną opisujacą dokładniej zagadnienie będące treścią zadania np. ochronę stosu czy bootloadery.
Nie. Jeżeli masz już któryś z kursów dostępnych w pakietach, nie musisz kupować go drugi raz. Sprawdź dostępne rabaty dla dotychczasowych kursantów. Jeżeli żaden z nich nie odpowiada Twojej sytuacji, napisz do mnie na kontakt@ucgosu.pl, a przygotuję indywidualną ofertę uwzględniającą posiadane przez Ciebie kursy.
Nie. Nagrania są dostępne tylko na platformie kursowej i nie można ich kopiować. Ale dostęp do platformy masz na stałe, więc nie musisz się obawiać, że znikną.
Tak, faktura jest wysyłana na maila w formacie PDF parę minut po dokonaniu płatności.
Tak. Napisz na kontakt@ucgosu.pl ile sztuk kursu chcesz zamówić i jakie mają być dane do faktury. Wyślę Ci fakturę proforma na podane dane, a po opłaceniu otrzymasz fakturę VAT. Dostęp do platformy kursowej otrzymasz za pomocą specjalnego kodu podawanego przy rejestracji.
Wystarczy, że napiszesz o tym w mailu na kontakt@ucgosu.pl. Wtedy zaklepiesz sobie promocyjną cenę, i na spokojnie dopniemy wszystkie procedury.
Tak, najlepiej napisz w tej sprawie na kontakt@ucgosu.pl
Tak. Po dokonaniu zamówienia w sklepie otrzymujesz na maila link do płatności i możesz opłacić go później. Masz na to 14 dni. Dzięki temu płatność możesz wykonać również po zamknięciu sprzedaży. Jeżeli link do płatności wygaśnie wcześniej, albo masz jakiś inny problem z płatnością – napisz do mnie na kontakt@ucgosu.pl i znajdziemy rozwiązanie.

Masz pytania?

pisz na: kontakt@ucgosu.pl