Wśród większości pasjonatów elektroniki niezwykle popularne są minikomputery jednopłytkowe (SBC) z rodziny Raspberry Pi. Wynika to z doskonałej dostępności licznych poradników, jak i programów pozwalających użytkownikowi szybko rozpocząć swoją przygodę z systemami operacyjnymi w systemach embedded. Niestety często pojawia się potrzeba zastosowania dodatkowego mikrokontrolera, który musi zostać podłączony do naszej płytki Raspberry Pi – czy to za pośrednictwem USB, czy też UART-a, a to samo w sobie powoduje rozbudowanie całego projektu, na co nie zawsze jest miejsce w obudowie. Warto zwrócić wówczas uwagę na rozwiązania oferowane przez procesory aplikacyjne STM32MP.
Czym jest STM32MP?
Mikroprocesory z rodziny STM32MP znajdują swoje zastosowanie m.in. w systemach wbudowanych opartych na Linuksie, przemysłowych urządzeniach sterujących, IoT, aparaturze medycznej, telekomunikacji i wielu innych. Ogólnie rzecz ujmując: wszędzie tam, gdzie wymagana jest wysoka wydajność, połączona nierzadko z koniecznością implementacji jednego z systemów czasu rzeczywistego (RTOS), opracowanych na mikrokontrolery.
Seria STM32MP13x bazuje na pojedynczym rdzeniu ARM Cortex-A7, zaś rodzina STM32MP151 to również pojedynczy rdzeń ARM, ale z dodatkowym koprocesorem Cortex-M4, zintegrowanym w samym układzie. STM32MP153 i STM32MP157 mają już po dwa rdzenie Cortex-A7 i pojedynczy mikrokontroler Cortex-M4.
Jeszcze wyżej w rankingach wydajności plasują się rodziny STM32MP251 (pojedynczy rdzeń ARM Cortex-A35 ze zintegrowanym rdzeniem Cortex-M33), STM32MP253 (2 rdzenie ARM Cortex-A35 wraz z rdzeniem Cortex-M33), STM32MP255 i STM32MP257 (z dodatkową jednostką AI NPU, pozwalająca na brzegowe przetwarzanie danych z użyciem algorytmów sztucznej inteligencji).
Jak widać, rodzina mikroprocesorów STM32MP jest bogata w wiele różnych wersji, różniących się liczbą i architekturą rdzeni oraz oferowanymi możliwościami peryferyjnymi. Pomimo tak wielu istotnych różnic, rozpoczęcie przygody z tymi procesorami aplikacyjnymi zaczyna się w dość podobny sposób. W dalszej części artykułu zaprezentuję sposób instalacji systemu Linux Yocto.
W moim przypadku korzystam z komputera z systemem Linux Manjaro. Opisywanej procedury nie testowałem na żadnym innym systemie operacyjnym, jednak osoby zaznajomione ze środowiskiem linuksowym powinny bez problemu dostosować poszczególne operacje do posiadanej dystrybucji.