QNX na platformie wbudowanej BeagleBone Black
Jakiś czas temu chciałem raczyć Was serią wpisów o platformie BeagleBone Black – niestety brak czasu zweryfikował moje zapędy i przez prawie 3 miesiące nie powstał żaden wpis. Obiecałem jednak, że w kolejnym wpisie wspomnę jak uruchomić QNX’a na tej właśnie platformie. Nie przedłużając już dłużej, zacznijmy :)
QNX – a co to? A na co to?
Chociaż korzystamy z niego dość często to najczęściej nie zdajemy sobie nawet z tego sprawy. Polecam przeczytać mój poprzedni wpis, który mam nadzieję rozwieje wszelkie wątpliwości.
No to zacznijmy!
Na początek potrzebujemy konta na portalu myqnx.com (adresy są weryfikowane i zdarza się, szczególnie z adresami gmaila, że zostaniemy odrzuceni – należy wtedy zarejestrować się jeszcze raz, weryfikacja trwa do 24 godzin).
Jeśli nasz adres prawidłowo przejdzie weryfikację przechodzimy dalej – najprościej jest zaopatrzyć się w BSP dla naszej platformy. Pełną listę wspieranych platformy znajdziemy pod adresem. Dla naszej platformy potrzebujemy jednego z tych obrazów.
To, który z obrazów wykorzystamy zależy od nas. Pamiętać należy jednak, że wersję ewaluacyjną (lub edukacyjną, z której może korzystać każdy, nie tylko studenci!) zawsze możemy otrzymać jedynie w najnowszej wersji. Jeśli więc zdecydujmy się na starszą wersję pamiętajmy, że musimy posiada środowisko programistyczne dla tej wersji systemu bo bez niego właściwie nic nie zrobimy. Należy również pamiętać o różnicach pomiędzy wersjami systemu.
Po prawidłowym pobraniu i rozpakowaniu obrazu zostaje nam kilka chwil do uruchomienia go na naszym BeagleBonie. Pamiętajmy jednak – po uruchomieniu systemu na ekranie podłączonym do portu video nic nie zobaczymy – należało by najpierw uruchomić driver graficzny w systemie QNX. Jak więc dostać się do systemu? Najlepiej przez SerialPort podłączany do naszej płytki.
Najłatwiejszym sposobem na przeniesienie naszego systemu na platformę BeagleBone Black jest umieszczenie go na karcie microsd. Konwertujemy ją po formatu FAT32 (co ciekawe, formatowanie za pomocą Windowswoego eksploratora nie przynosi oczekiwanych efektów, na Windowsie musicie wykorzystać program HP USB Disk Storage Format Tool, jeśli korzystasz z Linuxa to na pewno wiesz jak to zrobić ;) ). Po prawidłowym przygotowaniu karty zostaje nam przeniesienie plików na karty pamięci: MLO, u‑boot oraz obrazu systemu. Ten ostatni znajduje się w folderze images w pobranym archiwum i nosi nazwę ifs-ti-am335x-beaglebone.bin. Pliki MLO oraz u‑boot dla opisywanej platformy możecie pobrać pod adresem. Gdy wszystkie trzy pliki znajdują się już na naszej platformie należy jeszcze zapewnić automatyczne uruchamianie systemu. Możemy to zapewnić tworząc plik uEnv.txt na karcie pamięci a w jego treści podając:
uenvcmd=mmcinfo;fatload mmc 0 81000000 ifs-ti-am335x-beaglebone.bin; go 81000000
Kod ten na początku sprawdza naszą kartę pamięci, w następnej kolejności ładuje z nośnika micdrosd sformatowanego w fat32 obraz systemu pod adres 81000000, a na samym końcu przechodzi pod ten adres uruchamiając system.
Po prawidłowym wykonaniu wszystkich czynności możemy cieszyć się system czasu rzeczywistego na naszej platformie wbudowanej.