
Naucz się asemblera
i zrozum jak mikrokontrolery działają od środka!
Asembler?
A komu to potrzebne?
Trudno się go nauczyć, nie napiszemy w nim większych programów, w dzisiejszych czasach obejdziemy się bez asemblera.
Czy aby na pewno?
Na początku może tak. Ale na dłuższą metę już nie bardzo.
W każdym projekcie embedded jest chociaż fragment napisany w asemblerze.
I to bardzo ważny fragment, od którego zależy działanie całej aplikacji! Poza tym niektórych błędów nie da się naprawić bez wiedzy jak procesor działa od środka.
Nie znasz asemblera – musisz zawsze liczyć na innych! Albo modlić się, że kod z internetu zadziała. Brak niskopoziomowej wiedzy będzie stopować Twoją karierę w branży embedded.
Bez tego nie zostaniesz seniorem!
Bo co to za senior, który omija szerokim łukiem ważną część projektu.
Chcesz zrozumieć asemblera?
Jesteś w dobrym miejscu!
To właśnie dla Ciebie stworzyłem kurs:
„Asembler w Embedded”

Po ukończeniu kursu:
Po prostu asembler nie będzie już dla Ciebie straszny!
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”, „Linker w embedded”

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

Dokładne omówienie architektury ARM Cortex-M wraz ze wszystkimi elementami wykorzystywanymi w mikrokontrolerach. Oraz porównanie z architekturą AVR oraz x86.

Omówienie asemblera od podstaw. Dowiesz się jak wyklikać projekt na STM, jak podglądać rejestry sprzętowe, jak w asemblerze robić pętle, ify i inne konstrukcje znane z C.

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 połączyć asemblera i C? Jak wywoływać w C funkcje z asemblera i vice versa? Jak tworzyć wstawki asemblerowe? Od prostych przypadków do bardziej zaawansowanych.
Agenda

1.1 Dla kogo jest ten kurs? [2:10]
1.2 Co znajdziesz w kursie? [3:33]
1.3 Jak najlepiej przerabiać kurs? [0:49] 1.4 Do czego potrzebujemy Asemblera? [2:52]
1.5 Efekt końcowy [0:48]
1.6 Twój instruktor [1:12]
1.7 Potrzebne narzędzia [3:03]
1.8 Grupa Discord [6:13]

2.1 Intro [1:08]
2.2 Co wchodzi w skład mikrokontrolera? [6:44]
2.3 Sygnał Zegarowy [4:46]
2.4 Control Unit [7:16]
2.5 Flagi statusowe [11:27]
2.6 Rejestry CPU [14:37]
2.7 Pamięci w mikrokontrolerze [11:41]
2.8 Przestrzenie adresowe [7:28] 2.9 Mapa pamięci [10:06]
2.10 Kontrolery szyn danych, adresów i instrukcji [9:39]
2.11 Cache i prefetching [6:44] 2.12 Przetwarzanie potokowe [5:07]
2.13 Peryferia [7:47]
2.14 Obsługa przerwań [12:40]
2.15 Zgłaszanie przerwań [17:18]
2.16 Wektory przerwań [14:02]
2.17 Fault Management [5:06]

3.1 Intro [0:55]
3.2 Kod Maszynowy [8:12]
3.3 Asembler vs Język asemblera [8:28]
3.4 Dialekty asemblera [5:25]
3.5 Instrukcje Thumb vs ARM [10:50]
3.6 Rodzaje instrukcji [7:46]
3.7 Budowa instrukcji [10:04]
3.8 Jak robić ify, pętle i funkcje? [9:38]
3.9 Jak zadeklarować zmienną w pamięci? [9:11]
3.10 Sekcje [2:37] 3.11 Pozostała składnia [6:21]
3.12 Tryby adresowania [12:18] 3.13 Tryby adresowania – część 2 [5:21]
3.14 Skoki i warunki [13:12]
3.15 Jak wpisać do rejestru dużą wartość? [6:49]
3.16 Jak działa stos? [10:09]

4.1 Intro [1:36]
4.2 Konfiguracja STM32 Cube do pracy z Asemblerem [8:59]
4.3 Mój pierwszy program w asemblerze [10:12]
4.4 Kalkulator – zadanie [1:26]
4.5 Kalkulator – rozwiązanie [15:09]
4.6 Memcopy #1 – zadanie [1:11]
4.7 Memcopy #1 – rozwiązanie [15:17]
4.8 Memcopy #2 – zadanie [1:12]
4.9 Memcopy #2 – rozwiązanie [20:42]
4.10 Blink LED – zadanie [2:54]
4.11 Blink LED – rozwiązanie [15:55]
4.12 Test rejestrów CPU – zadanie [2:53]
4.13 Test rejestrów CPU – rozwiązanie [22:07]
4.14 Timer + Przerwania – zadanie [1:14]
4.15 Timer + Przerwania – rozwiązanie [28:45]
4.16 Choinka UART [1:59]

5.1 Intro [0:58]
5.2 Symbole globalne [3:53]
5.3 Calling Conventions [21:44]
5.4 Jak wywołać funkcję Asemblerową w C? (i vice versa) [4:05]
5.5 Przekazywanie danych między C a Asemblerem [2:16]
5.6 Stack Frame [8:46]
5.7 Inline asembler – część 1 [6:47]
5.8 Inline asembler – część 2 [6:27]
5.9 Inline asembler – część 3 [4:32]
5.10 Wstawki asemblerowe w praktyce – Biblioteka CMSIS GCC [7:14]
5.11 Co się dzieje przed funkcją main [10:22]

6.1 Intro [3:41]
6.2 Projekt z wieloma plikami – zadanie [0:59]
6.3 Projekt z wieloma plikami – rozwiązanie [14:52]
6.4 Memcopy – wywołanie funkcji asemblerowej w C – zadanie [0:54]
6.5 Memcopy – wywołanie funkcji asemblerowej w C – rozwiązanie [11:55]
6.6 Funkcje specjalne – zadanie [1:14]
6.7 Funkcje specjalne – rozwiązanie [9:59]
6.8 Globalne przerwania w C – zadanie [0:39]
6.9 Drivery C wywoływane w asemblerze – zadanie [0:53]
6.10 Drivery C wywoływane w asemblerze – rozwiązanie [19:01]
6.11 Memcopy z biblioteki standardowej – zadanie [0:59]
6.12 Zmienne C w asemblerze – zadanie [1:03]
6.13 Memcopy jako wstawka asemblerowa – zadanie [0:53]
6.14 Memcopy jako wstawka asemblerowa – rozwiązanie [8:57]
6.15 Funkcje specjalne jako wstawki – zadanie [0:37]
6.16 Funkcje specjalne jako wstawki – rozwiązanie [8:59]
6.17 Przerwania globalne jako wstawki – zadanie [1:50]
6.18 Obsługa Hard Faulta – zadanie [0:58]
6.19 Obsługa Hard Faulta – rozwiązanie [35:06]

7.1 Certyfikat ukończenia [1:53]
Co otrzymasz dołączając do kursu?
Ale ile to wszystko kosztuje?
Cena kursu to:
899 zł
Ale do środy 26 sierpnia do godziny 21:00 możesz dołączyć za:
649 zł (528zł netto)
Najniższa cena w ostatnich 30 dniach: 899zł
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
Obejrzyj przykładowe lekcje:
Zobacz jak wygląda platforma kursowa:
Dostęp do platformy i wszystkich materiałów otrzymasz NATYCHMIAST po zakupie!
Dostęp do kursu nie ma ograniczeń czasowych!
Dodatkowo mam dla Ciebie niesamowity BONUS:
Dostęp do zamkniętej społeczności programistów embedded



Co mówią uczestnicy?
Do tej pory w kursie wzięło udział ponad 300 osób!
Oto kilka z ich opinii:
Podsumowując co otrzymasz?
Gwarancja satysfakcji






