Przeszukaj forum
Pokazywanie wyników dla tagów 'GCC'.
Znaleziono 2 wyniki
-
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 🙂
- 5 odpowiedzi
-
- 8
-
-
- GCC
- startup_file
-
(i 3 więcej)
Tagi:
-
gcc: warning: missing braces around initializer [-Wmissing-braces]
_LM_ opublikował temat w Programowanie
Niby już taki początkujący nie jestem, ale czasem życie ostro to weryfikuje 😉 dostaję warning taki jak w temacie wątku, szukałem troszkę jak to rozwiązać i okazuje się że jest to jakiś błąd kompilatora. Kod - mocno uproszczony - który mi go generuje: .c xx_t x[] = { {.id = 1,.p = (void*)NULL}, {.id = 2,.p = (void*)NULL}, }; prop_t props = {.idx = 0,.val = x}; // <---- w tej linii jest warning nie wiem o którą klamerkę się rzuca. .h typedef struct{ uint8_t id; void * p; }xx_t; typedef struct{ uint8_t idx; xx_t * val[]; }prop_t; Drażni mnie ten warning, może ktoś mi wytłumaczyć jak się go pozbyć?