STM32Cube: pakiet bibliotek z HAL/GUI/FatFS/FreeRTOS, stosami komunikacyjnymi dla STM32
Elementem integrującym i konfigurującym pakiety dostępne w dedykowanych STM32Cube jest program STM32CubeMX, który spełnia następujące zadania:
- umożliwia wybranie docelowego typu mikrokontrolera za pomocą interaktywnego selektora zasobów (rysunek 3),
- interaktywnego selektora płytki startowej/ewaluacyjnej, dobieranej poprzez specyfikowanie pożądanych elementów peryferyjnych i/lub wyposażenia (rysunek 4),
Rys. 4. Interaktywny selektor płytki startowej/ewaluacyjnej
- interaktywnego konfiguratora peryferii z możliwością wyboru linii GPIO dołączanych do poszczególnych bloków (rysunek 5). W przypadku możliwości wystąpienia konfliktów STM32CubeMX automatycznie sygnalizuje to w lewej części okna za pomocą kolorowych symboli, co – przy dużej liczbie możliwych kombinacji przypisani – znacznie ułatwia i przyspiesza pracę programisty,
Rys. 5. Okno konfiguratora peryferii z możliwością wyboru linii GPIO dołączanych do poszczególnych bloków
- interaktywnego konfiguratora systemu taktującego mikrokontrolery (rysunek 6),
Rys. 6. Konfigurator systemu taktującego
- także jako konfigurator dodatkowych elementów warstw aplikacji (rysunek 7), za pomocą którego można wygodnie wybrać i skonfigurować używane w aplikacji dodatkowe elementy programowe (jak np. stosy USB lub TCI/IP, system FreeRTOS czy system pików FatFS),
Rys. 7. Konfigurator dodatkowych elementów warstw aplikacji
- kalkulator poboru mocy w cyklu zdefiniowanym przez użytkownika, z uwzględnieniem poboru prądu przez aktywne peryferia (rysunek 8), a także szacunkowym obliczeniem średniego natężenia pobieranego prądu oraz średniej wydajności mikrokontrolera. W przypadku bateryjnego zasilania analizowanego systemu, można wybrać typ ogniwa zasilającego (rysunek 9), co umożliwi obliczenie przez program szacowanego czasu pracy systemu bez konieczności wymiany baterii,
Rys. 8. Okno kalkulatora poboru mocy
Rys. 9. Zaimplementowana w STM32CubeMX lista baterii stosowanych do zasilania sprzętu przenośnego
- po wykonaniu konfiguracji mikrokontrolera i bibliotek, program STM32CubeMX może wygenerować pliki projektu z ustaloną przez użytkownika konfiguracją. W aktualnie dostępnej wersji generowane są komplety plików przystosowanych do kompilacji w środowiskach programistycznych ARM/Keil MDK, IAR EWARM oraz kompilator GCC (używany m.in. przez TrueSTUDIO firmy Atollic).
Prezentowane oprogramowanie wyposażono w system automatycznej kontroli aktualności używanych bibliotek, dzięki czemu programista z niego korzystający ma pewność że korzysta z najnowszych dostępnych wersji (rysunek 10) i może zdecydować czy i jakich aktualizacji potrzebuje.
Rys. 10. Okno automatycznego weryfikatora aktualności używanych bibliotek w STM32CubeMX
W ten sposób poznaliśmy w skrócie koncepcję przyświecającą twórcom STM32Cube, które to oprogramowanie znacznie ułatwia nie tylko pisanie aplikacji na mikrokontrolery STM32, także ułatwia ich przenoszenie pomiędzy różnymi podrodzinami. To kolejny, duży krok w kierunku maksymalizacji przenośności aplikacji, dzięki czemu zwiększa się ich elastyczność i możliwości doboru sprzętu w zależności od – często zmieniających się – wymogów aplikacji.