Skocz do zawartości

STM32MP157 - ktokolwiek widział?


Elvis

Pomocna odpowiedź

Przeglądając źródła linuksa oraz kilku powiązanych projektów trafiłem na informacje o ciekawym układzie - mianowicie STM32MP157.

Producent się do niego na razie nie przyznaje, ale wygląda na to że trwają prace na przygotowaniem dla niego oprogramowania. Z tego co znalazłem np. tutaj: https://github.com/Broadcom/stblinux/blob/master/Documentation/arm/stm32/stm32mp157-overview.rst

Będzie to mikroprocesor z dwoma rdzeniami Cortex-A7, GPU, peryferiami zgodnymi z "małymi" stm32 oraz możliwością uruchomienia na nim Linux-a.

Może ktoś z forumowiczów coś słyszał o tym układzie? Dla mnie brzmi to wręcz jak spełnienie marzeń: stm32 + linux 🙂

  • Lubię! 1
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

hej,
Dzisiaj miałem czas jedynie na szybkie odpalenie  tego gotowca ze strony ST. W zasadzie wygląda to tak samo jak tutaj: https://www.youtube.com/watch?v=M-oodDBpETI

Teraz odpaliłem kompilację tego ichniejszego openST Distro ( https://wiki.st.com/stm32mpu/index.php/STM32MP1_Distribution_Package ). Na Lenovo P51 buduje się  ponad 6h 🙂

Normalnie buduję takie rzeczy w Dockerze, ale tutaj to distro jest na tyle nowe, że bez problemu buduje się na na moim natywnym systemie, czyli fc28.

Ja osobiście mam plan, żeby użyć tej płytki jako platformę do nauki QT oraz programowania pod Andorida. Btw, ciekawe kiedy będzie wsparcie w Antku 😉

Dajcie znać co dokładnie Was interesuje odnośnie płytki/procka, to mogę obczaić. Mam do dyspozycji spory lab, mogę nawet porobić pomiary.

photo_2019-02-28_14-11-03.jpg photo_2019-02-28_14-11-05.jpg photo_2019-02-28_14-11-09.jpg

photo_2019-02-28_14-11-06.jpg photo_2019-02-28_14-11-08.jpg

  • Lubię! 2
Link do komentarza
Share on other sites

@AdrK nie miałeś problemów podczas kompilacji yocto? U mnie wykłada się przy openocd, załatałem recepturę dodając --disable-internal-jimtcl, sam obraz systemu udaje się zbudować, ale ta wykłada się przy SDK. Może to zależy od dystrybucji? Ja mam już dość starego Ubuntu 16.04 LTS. Z jakiej wersji systemu korzystasz?

Link do komentarza
Share on other sites

Siema, tak jak napisałem wyżej Fedora 28 i kompiluje się bez żadnych problemów.

Ja kompilowałem konfigurację:

DISTRO=openstlinux-eglfs MACHINE=stm32mp1-disco source layers/meta-st/scripts/envsetup.sh

oraz obraz:

bitbake st-example-image-qt

Możesz spróbować skompilować w Dokerze, ja używam kontenera crops/poky:
docker run --rm -it -v ${PWD}:/workdir:Z crops/poky --workdir=/workdir

Do takich rzeczy jest rewelacyjny. Tworzysz sobie swój Docker image, albo tak jak tutaj korzystasz z gotowego i już nigdy wiecej nie martwisz się o środowisko do kompilacji. Później taki obraz możesz odpalić na czymkolwiek, nawet na windowsie ( Docker odpala wtedy maszynę wirtualną pod spodem ).

Co do samej konfiguracji Dockera, to ma on rewelacyjny manual online oraz sporo materiałów jest w sieci. Nie ma z tym problemów.

  • Lubię! 1
Link do komentarza
Share on other sites

Znalazłem przyczynę ale wstyd mi było pisać 😉 Problem był z uprawnieniami do ~/.ccache, okazuje się że jimtcl tego używa i powoduje bardzo dziwne błędy. Teraz kompilacja działa bez problemu. Dockerem muszę się pobawić, jakoś zawsze wybierałem natywne rozwiązania - ale to chyba dobra opcja. Inna sprawa, że ciekaw jestem jaki może być wpływ dockera na czas kompilacji.

  • Lubię! 1
Link do komentarza
Share on other sites

https://drive.google.com/open?id=1teNShASxyXwIssG7pN2hbYKG6h7CVhaA

Skompilowane i odpalone prosto z qtcreatora używając SDK z YOCTO 😉

Tipy ( hmn, czy ten wątek to miejsce na to? ) :

Używam st-example-image-qt

Musiałem dodać linię:
inherit populate_sdk_qt

potem:

bitbake st-example-image-qt

bitbake st-example-image-qt -c do_populate_sdk

Potem odpalam build-openstlinuxeglfs-stm32mp1-disco/tmp-glibc/deploy/sdk/st-example-image-qt-openstlinux-eglfs-stm32mp1-disco-x86_64-toolchain-2.6-snapshot.sh aby zainstalować SDK.

qtcreatora odpalam tak:

source /opt/st/stm32mp1-disco/2.6-snapshot/environment-setup-cortexa7t2hf-neon-vfpv4-openstlinux_eglfs-linux-gnueabi; qtcreator

Po zainstalowaniu ( w /opt/st/stm32mp1-disco/2.6-snapshot/ ), w qtcreatorze stworzyłem nowy kit i dodałem kompilator, debuger itp itd z tych ścieżek:
/opt/st/stm32mp1-disco/2.6-snapshot/sysroots/x86_64-openstlinux_eglfs_sdk-linux/usr/bin/arm-openstlinux_eglfs-linux-gnueabi/arm-openstlinux_eglfs-linux-gnueabi-gcc
/opt/st/stm32mp1-disco/2.6-snapshot/sysroots/x86_64-openstlinux_eglfs_sdk-linux/usr/bin/arm-openstlinux_eglfs-linux-gnueabi/arm-openstlinux_eglfs-linux-gnueabi-g++
/opt/st/stm32mp1-disco/2.6-snapshot/sysroots/x86_64-openstlinux_eglfs_sdk-linux/usr/bin/arm-openstlinux_eglfs-linux-gnueabi/arm-openstlinux_eglfs-linux-gnueabi-gdb
/opt/st/stm32mp1-disco/2.6-snapshot/sysroots/x86_64-openstlinux_eglfs_sdk-linux/usr/bin/cmake
/opt/st/stm32mp1-disco/2.6-snapshot/sysroots

Ustawienia dla gdb:

set auto-load safe-path /
set sysroot /opt/st/stm32mp1-disco/2.6-snapshot/sysroots/cortexa7t2hf-neon-vfpv4-openstlinux_eglfs-linux-gnueabi/
set solib-search-path /opt/st/stm32mp1-disco/2.6-snapshot/sysroots/cortexa7t2hf-neon-vfpv4-openstlinux_eglfs-linux-gnueabi/usr/lib/

I mozna już klikać magiczny zielnoy 'play' 😉

 

Ponadto zauważyłem, że jest jakiś problem z DRM ( albo z samym qt? ). Za drugim i każdym następnym razem, gdy odpalam aplikację qt, która używa ekranu, to pluje się, że:

Could not queue DRM page flip on screen...cośtam

Na szybko, workaround to ustawić:

QT_QPA_EGLFS_ALWAYS_SET_MODE=1

przed odpaleniem aplikacji. Można to w qtcreatorze ustawić, w opcjach projektu, pod 'run environment', lub ręcznie:

QT_QPA_EGLFS_ALWAYS_SET_MODE=1 /usr/share/examples/<sciezka_do_apki>

Dodatkowo, zauważyłem, że w systemie są dodatkowe dwie zmienne środowiskowe związane z QT:

QT_QPA_EGLFS_KMS_CONFIG=/usr/share/qt5/cursor.json
QT_QPA_PLATFORM=eglfs

Podsumowując, trzeba te trzy zmienne mieć w środowisku aby móc odpalić coś z qt.
 

Edytowano przez AdrK
  • Lubię! 1
Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.