Dzisiaj opiszę używany przeze mnie szablon projektu STM32. Szablon poza kompilacją głównego projektu umożliwia również dodawanie unit testów i testów na docelowym sprzęcie. W artykule omawiam strukturę folderów i konfigurację za pomocą Makefile, które sprawdzają się na moje potrzeby. Kod źródłowy szablonu udostępniłem na GitHubie.
Projekt generowany w IDE kontra własny szablon
Jeśli korzystamy z jakiegoś środowiska dedykowanego do pisania kodu na STM32 np. OpenSTM32, albo CooCox, gdy utworzymy nowy projekt i wyklikamy opcje w kreatorze, magicznie utworzy nam się konfiguracja zawierająca pliki inicjalizacyje, skrypt linkera, czy reguły kompilacji. Dodatkowo dołączone zostaną biblioteki z definicjami rejestrów i obsługą peryferiów. Jest to idealna sytuacja dla początkujących, którzy nie muszą dzięki temu poznawać skomplikowanych zagadnień związanych z inicjalizacją procesora do pracy i kompilacją projektu. Po prostu dostają działający projekt i mogą uczyć się podstaw. Jednak jeśli zdobędziemy już trochę doświadczenia i chcemy zrobić jakieś bardziej zaawansowane operacje, okazuje się, że IDE mają swoje ograniczenia. Częste problemy to na przykład dodawanie projektu do repozytorium kodu tak, żeby przenieść je na inną maszynę, czy wprowadzanie zmian w kodzie przez kilka osób na raz.
Continue reading