Bibilioteka STM32F10x Standard Peripherals Liblary V3.5.0 wykorzystuje uniwersalny standard CMSIS(Cortex Microcontroler Software Interface Standard), który został stworzony przez firmę ARM
do komunikacji z peryferiami i rdzeniem Cortex za pomocą ustandaryzowanych funkcji i definicji.
CMSIS dostarcza nam narzędzia do obsługi układów peryferyjnych, systemów czasu rzeczywistego
czy Ethernetu i UART'a. Jedo miejsce w stuktyrze możemy zobaczyć poniżej:
Możnaq zauważyć, że powyższy standard został podzielony na dwie warstwy:
- Access Layer (definicje nazw, umożliwia dostęp do rejestrów rdzenia i urządzeń peryferyjnych),
- Middleware Access Layer(zawiera funkcje do komunikacji i interfejsami wejść wyjść).
Po co taka biblioteka, z jednego prosego względu, kto po roku od napisania programu, pamiętałby
do czego są te wszystkie 0xFFFFFFFF, kto by zrozumiał kod wrzucony przez jakiegoś dobrodzieja
i udostępniony w internecie.
Ponadtto pliki zawierające CMSIS są udostępniane bezpłatnie, przez producentów. Dostępne spakowane w jednym archiwum z producencką biblioteką obsługi peryferii.
Przenoszenie kodu ze starej wersji bilioteki ST V2.x.x do
Standaryzowanej z CMSIS V3.x.x
Firma STmicroelectronics przygotowała prosty program który zamienia stare biblioteki ta nowe zgodne ze standardem CMSIS. program wraz z instrukcją jest dostępny na stronie producenta.
Zmiany samego drzewa prjetu wyglądają następująco:
Niestety o ile program dostosowuje zmienne(wybrane w tabela poniżej), oraz definicje, o tyle nie dzieli już istniejącej biblioteki, na kilka plików wymaganych przez standard co musimy zrobić ręcznie.
Można zaobserwować na rysunku powyżej, bibliotece STM32F10x_vector.c odpowiadają zestandaryzowane:
-startup_stm32F10x_hd.s
-startup_stm32F10x_ld.s
startup_stm32F10x_md.s
Gdzie można o tym poczytać:
Brak komentarzy:
Prześlij komentarz