Jak zainstalować Linuxa na STM32?

Jak zainstalować Linuxa na STM32?

Mikrokontrolery stają się coraz potężniejsze. Każdy producent stara się wprowadzać nowe, lepsze i tańsze produkty do swojej oferty.

Efekt jest taki, że mikrokontroler może spełniać teraz zadania, które jeszcze niedawno dostępne były tylko dla rozbudowanych mikroprocesorów. Czy STM32 jest poradzi sobie z Linux-em?

Linux staje się coraz popularniejszy, szczególnie w systemach wbudowanych. Raspberry Pi sprawiło, że komputery jednopłytkowe stały się tanie i dostępne właściwie dla każdego. W rzeczywistości malinka to całkiem wydajny komputer, chociaż na małej płytce.

Mikrokontrolery kojarzą się raczej z dużo mniejszymi jednostkami. Przez wiele lat standardem był 8051 oraz jego pochodne, później (właściwie do dzisiaj) standardem stały się mikrokontrolery z rdzeniami AVR. Ostatnio coraz popularniejsze stają się ARM-y, jak chociażby STM32. Są to niewątpliwie mikrokontrolery, ale ich moc obliczeniowa jest naprawdę imponująca.

Pełny Linux do działania wymaga MMU, którego nie znajdziemy w mikrokontrolerach. Okazuje się jednak, że istnieje projekt ucLinux, czyli okrojona wersja Linuxa działająca na układach bez jednostki zarządzania pamięcią.

Płytka ewaluacyjna

Do uruchomienia ucLinuxa idealnie nadaje się płytka STM32F429I-DISCOVERY.

stm32f429i-disco

STM32F429I-DISCOVERY, źródło: materiały prasowe.

Jak łatwo się domyślić jej sercem jest mikrokontroler STM32F429. Posiada on aż 2MB pamięci Flash, a dodatkowo na płytce znajdziemy 8MB pamięci RAM, wyświetlacz o rozdzielczości 320x240 oraz trochę innych peryferiów.

Na początek musimy pobrać i skompilować Linuxa. Tutaj wskazane jest abyśmy dysponowali komputerem PC również z Linuxem - będzie nam łatwiej. W repozytorium znajdziemy instrukcje oraz gotowe skrypty. Wystarczy postępować zgodnie z dostępnymi tam poradami.

Pozostałe etapy przebiegają bez problemu i po pewnym czasie niezbędnym na pobranie u-boota, jądra linuxa, busybox-a oraz ich kompilację możemy przystąpić do programowania płytki.

W tym celu podłączamy płytkę przez USB i wpisujemy make install. Po niecałej minucie zobaczymy ikonkę z pingwinem na ekranie.

Komunikaty są domyślnie wysyłane przez UART, więc potrzebny jest konwerter UART-USB aby rozpocząć zabawę z linuxem. Po jego podłączeniu powinniśmy zobaczyć następujacy rezultat:

Standardowo instalowana jest raptem podstawowa liczba programów - tylko to co niezbędne do działania systemu. Możemy jednak łatwo dodać ich więcej. Pamięci wbudowanej w mikrokontroler jest mało, ale przez USB można podłączyć pendriva, a na nim umieścić co tylko chcemy.

Poniżej przykładowy film z Doom-em działajacym na STM32:

Podsumowanie

Dzisiejsze mikrokontrolery mają imponujące możliwości. Ich moc obliczeniowa może być wręcz porównywana z komputerami PC - w końcu Doom działał kiedyś na komputerach stacjonarnych. Nic dziwnego, ze programowanie oraz biblioteki dostępne na mikrokontrolery są coraz bardziej skomplikowane.

Artykuł ten miał na celu jedynie przybliżenie tematu i pokazania dostępnych możliwości. Mieliście już okazję korzystać z takich rozwiązań? A może chcielibyście przeczytać więcej artykułów o podobnej tematyce? Czekam na Wasze komentarze!

Zdjęcie tytułowe: [1]

linux, programowanie, stm32

Trwa ładowanie komentarzy...