Cześć,
ostatnio obejrzałem serię darmowych tutoriali dotyczącą budowania aplikacji dla systemów embedded z użyciem kompilatora GCC (na przykładzie architektury ARM Cortex).
Cykl omawia cały proces budowy aplikacji za pomocą GCC (kompilacja i linkowanie plików obiektowych). Poruszone zostały zagadnienia:
1) Instalacja toolchan'a (kompilatora skrośnego) GCC
2) Przedstawienie poszczególnych faz kompilacji i linkowania aplikacji
3) Automatyzacja kompilacji - tworzenie własnego Makefile "od zera"
4) Pisanie pliku startup (w j. C) i tworzenie wektora przerwań dla danego MCU
5) Pisanie skryptu linkera
6) Tworzenie i analiza "map-file"
7) Ładowanie pliku aplikacji (.elf) za pomocą "openocd" do mikrokontrolera
8 ) Debugowanie aplikacji za pomocą "openocd" i GDB
9) Integracja w aplikacji biblioteki standardowej C (newlib lub newlib-nano)
Cały cykl jest bardzo dobrze przygotowany i prosty (widzałem już kilka tutoriali na te tematy, które były przesadnie skomplikowane). Jedynym problemem dla niektórych osób może być język angielski.
Tutaj linki do całej serii:
Dzięki temu cyklowi tutoriali będziemy w stanie napisać własny Makefile, startup file(kod uruchamiający funkcję main), skrypt linkera dla aplikacji "bare-metal" np. dla polpularnej rodziny MCU STM32, lub po prostu będziemy wiedzieć co dzieje się pod maską np. "Arduino IDE" (tak ono także korzysta z kompilatora GCC).
Tutaj jeszcze link do bloga firmy będącej autorem kursów (więcej darmowej treści):
https://fastbitlab.com/category/blog/
Firma ta oferuje także płatne kursy z tematyki programowania embedded (proszę nie traktować tego jako reklamy) w cenach po kilkanaście dolarów:
https://fastbitlab.com/course1/
Kupiłem kurs dot. systemu RTOS i jestem z niego zadowolony.
Pozdrawiam i życzę chętnym udanej nauki 🙂