23-06-2016, 19:12
Pierwszy, prosty program do obsługi wyświetlacza LCD 2x16 znaków napisałem w oparciu o SPL i środowisko EM Blocks. Środowisko jest ok aczkolwiek uruchomienie i konfiguracja ST-linka wymagała pomocy Piotra SP9FKP.
Zaletą bibliotek SPL jest to, że większość kursów i przykładów w sieci opiera się właśnie na nich. Również kilka projektów z kręgu naszych zainteresowań HM bazuje na SPL-u. Programy są proste, czytelne i wymagają minimalnej wiedzy na temat rejestrów procesora co spodoba się każdemu początkującemu programiście. Wykorzystanie SPL-a do inicjowania zasobów procesora jest proste i wygodne ale pochłania sporo kodu i czasu pracy procesora. Niestety po zapoznaniu się z kodem poszczególnych funkcji SPL fascynacja gotowymi funkcjami słabnie i zaczynamy się zastanawiać czy nie da się tego zrobić prościej. W sieci znajdziemy wiele postów krytycznych na temat SPL-a oraz przykładów jak pisać programy opierając się wyłącznie o rejestry procesora i funkcje CMSIS. Efekty (kod+czas) są zdecydowanie lepsze ale pisanie programów jest trudniejsze i wymaga to większej wiedzy o rejestrach procesora.
Biblioteka libopencm3 to przykład ominięcia "balastu" ciążącego na dotychczasowych standardach typu SPL, HAL czy nawet CMSIS. Podoba mi się bardzo oszczędne i optymalne napisanie podstawowych funkcji co z pewnością da bardzo dobre wyniki po kompilacji. Na początku poznawania procesorów STM wadą tego rozwiązania jest zerwanie ze standardem rdzenia opisanym w plikach CMSIS co może skutkować problemami w kompilacji wielu przykładów.
Najlepiej poznawać możliwości poszczególnych rozwiązać na praktycznych przykładach. Przydatność łatwiej jest ocenić po czytelności programu, wielkości kodu i czasie jego wykonywania.
Zaletą bibliotek SPL jest to, że większość kursów i przykładów w sieci opiera się właśnie na nich. Również kilka projektów z kręgu naszych zainteresowań HM bazuje na SPL-u. Programy są proste, czytelne i wymagają minimalnej wiedzy na temat rejestrów procesora co spodoba się każdemu początkującemu programiście. Wykorzystanie SPL-a do inicjowania zasobów procesora jest proste i wygodne ale pochłania sporo kodu i czasu pracy procesora. Niestety po zapoznaniu się z kodem poszczególnych funkcji SPL fascynacja gotowymi funkcjami słabnie i zaczynamy się zastanawiać czy nie da się tego zrobić prościej. W sieci znajdziemy wiele postów krytycznych na temat SPL-a oraz przykładów jak pisać programy opierając się wyłącznie o rejestry procesora i funkcje CMSIS. Efekty (kod+czas) są zdecydowanie lepsze ale pisanie programów jest trudniejsze i wymaga to większej wiedzy o rejestrach procesora.
Biblioteka libopencm3 to przykład ominięcia "balastu" ciążącego na dotychczasowych standardach typu SPL, HAL czy nawet CMSIS. Podoba mi się bardzo oszczędne i optymalne napisanie podstawowych funkcji co z pewnością da bardzo dobre wyniki po kompilacji. Na początku poznawania procesorów STM wadą tego rozwiązania jest zerwanie ze standardem rdzenia opisanym w plikach CMSIS co może skutkować problemami w kompilacji wielu przykładów.
Najlepiej poznawać możliwości poszczególnych rozwiązać na praktycznych przykładach. Przydatność łatwiej jest ocenić po czytelności programu, wielkości kodu i czasie jego wykonywania.
73 Adam

