Skocz do zawartości
atMegaTona

STM32F746G-disco + TouchGFX - (nie)poprawna konfiguracja.

Pomocna odpowiedź

Mam niestety z tym GFXem problem od jakiegoś czasu. Do konfiguracji posiłkowałem się dokumentem w załączniku. Niby nic trudnego a jednak nie takie proste. Jak większość użytkowników, nie chcę się uczyć kolejnego frameworka na pamięć tylko go wykorzystać do budowy GUI. Wykonałem wszystkie instrukcje z tego dokumentu, zaktualizowałem projekt GFXa, przekopiowałem odpowiednie pliki, opisałem inicjalizację i.. i nic. Eclipse nie buduje mi tego projektu, próbowałem na podstawie errorów dopasować ręcznie ścieżki, ale to zaczyna przypominać błędne koło. Jeśli ktoś ma poprawnie sformatowany pusty projekt SW4STM32 z GFXem tak żeby się skompilował dla pustej ramki jako szablon albo jeśli macie skrypt do układania projektu to będę wdzięczny.

Temat tego problemu dawno był poruszany na forum ST i podobno trwają jakieś prace aby lepiej skonsolidować GFXa z CubeMX ale do tej pory cisza, wydali tą instrukcje, można też znaleźć kilka innych poradników w necie ale w sumie wynika z nich to samo. Budowanie projektu przebiega bez problemu ale dla starej wersji GFXa która zawierała insze jeszcze błędy itp. więc nie ma chyba sensu w tył się oglądać bo bez dogłębnego studiowania tego oprogramowania nie dałoby się zorientować co znowu nie-halo. Dodam jeszcze, że nie jest to spowodowane różnicą wersji projektu GFXa bo po wygenerowaniu kodu przez MX projekt GFXa zaktualizowałem. 

Myślę, że może chodzić o hierarchię katalogów i brak niektórych plików w projekcie, które trzeba przekopiować z toolchaina i podlinkować w eclipsie ale jakich?, gdzie? , co? - trudno zgadnąć tak na pierwszy rzut oka i szczerze mówiąc pomysły już mi się skończyły. Być może się okazać również, że w tym konkretnym przypadku problem może być zupełnie innej natury a objawy nie pozwalają na jednoznaczne zdiagnozowanie szczególnie komuś kto GFXa dopiero z neta ściągnął. Tak więc jeśli możecie to pomóżcie. 

TouchGFX with SW4STM32.pdf

Udostępnij ten post


Link to post
Share on other sites

Cześć,

a możesz wysłać plik makefile? Ja miałem błędy własnie w makefile. Jeśli możesz to wyslij spakowane źródła całego projektu.

Pozdrawiam

Udostępnij ten post


Link to post
Share on other sites

Żeby nie mieszać, są to świeżo wygenerowane pliki i dołożone tylko te opisane w tej instrukcji. Wyłączyłem tylko ETH w mxie, poza tym wszystko domyślnie. Próbowałem poustawiać ścieżki na różne sposoby i ciągle jakieś błędy wyskakują. Pół nocy nad tym przesiedziałem aż mnie mdli już od tego. Być może z ustawieniami workspace'a są jakieś błędy. Wg. instrukcji projekt powinien się zbudować ad hoc a tu taka sieczka.. Projekty z embedded wizard budują się bez problemu a ten gfx jakiś odporny na argumenty.

Dziwne, że nie utrzymano hierarchii katalogów takiej jak w firmware, łatwiej byłoby ogarnąć. Dzięki, że chce Ci się rzucić na to okiem.

katalog.zip makefile.zip

Udostępnij ten post


Link to post
Share on other sites
2 godziny temu, atMegaTona napisał:

Żeby nie mieszać, są to świeżo wygenerowane pliki i dołożone tylko te opisane w tej instrukcji. Wyłączyłem tylko ETH w mxie, poza tym wszystko domyślnie.Dziwne, że nie utrzymano hierarchii katalogów takiej jak w firmware, łatwiej byłoby ogarnąć. Dzięki, że chce Ci się rzucić na to okiem.

katalog.zip 10 MB · 2 downloads makefile.zip 1 kB · 1 download

Cześć,

pobrałem archiwa - jutro będę je analizował (dzisiaj jestem już zmęczony).

Pozdrawiam

Udostępnij ten post


Link to post
Share on other sites
(edytowany)

Do tej pory ustaliłem co następuje: najlepiej utworzyć do tego zupełnie nowy workspace, trzeba pamiętać, że MX i GFX nadpisują niektóre pliki po swojemu po każdym wygenerowaniu i przez to za każdym razem trzeba bawić się od nowa.

Żeby móc uruchomić designera GFXa z poziomu MXa należy odznaczyć opcję generowania projektu w root co zdecydowanie utrudnia połapanie się co i jak bo tworzone są puste foldery a skróty do plików widoczne są tylko w eclipse. Błędy wyświetlane przez eclipse nie zawsze są też jednoznacznie opisane co pogarsza sprawę.

Biorąc pod uwagę powyższe doszedłem do wniosku, że można utworzyć 2 projekty, najlepiej w osobnych workspace'ach i po każdej aktualizacji kopiować pliki pomiędzy projektami dzięki czemu da się zrobić backup plików zamiast zaczynać od  nowa w razie jak się coś pomiesza. Przydaje się też do tego funkcja exclude'owania zasobów z projektu, dzięki czemu jest mniej do przewietrzania. Mimo możliwości uruchomienia projektu GFXa z poziomu MXa i tak nie uniknie się zupełnie kopiowania plików ( najlepiej z projektu do projektu, żeby nie musieć ciągle ich ręcznie uzupełniać).

Zaczynam się zastanawiać, czy producent zrobił taką sieczkę celowo czy tak jakoś samo wyszło, bo szczerze mówiąc to już rzygam tym eclipsem a zadanie jeszcze nie wykonane 😕

---------------------------------

Na stronie GFXa jest zamieszczona taka instrukcja: https://touchgfx.zendesk.com/hc/en-us/articles/206116381-Using-other-IDEs-with-TouchGFX

Metoda druga. Wygląda trywialnie, niestety u mnie nie działa.

----------------------------------

Okazało się, że ścieżki w projekcie eclipsa produkowanym przez CubeMX były przypisane z błędem, wystarczyło przypisać pliki ponownie a najlepiej całe foldery ze źródłami. Niestety nadal występuje problem z make, trzeba ręcznie przepisać z pliku *.ld konfigurację dla eclipsa i uruchamiać make ręcznie do tego jeszcze uzupełnić ten plik dla GFXa jeśli się chce coś dołożyć z zewnątrz do projektu.

BTW włączenie w eclipse parallel build w opcjach projektu znacząco przyspiesza kompilacje, zapomniałem o tym 😉

----------------------------------

Dużo czasu kosztują próby składania tego w sposób odpowiedni. Na pierwszy rzut oka - nic trudnego. Gfx generuje swoje pliki na swoim miejscu w projekcie eclipsa i nawet niczego ważnego nie nadpisuje, to samo Mx. Z założenia nic prostszego:

  1. włączasz MXa, konfigurujesz procka (ustawienia domyślne dla płytki). Należy jedynie skonfigurować QUADSPI: 1,4, 6 cycles, half, size 24, reszta jak było.
  2. Wybierasz opcje projektu dla eclipse: nazwa, miejsce, IDE (odznaczyć root)
  3. generujesz projekt,
  4. z poziomu MXa włączasz GFXa (GRAPHICKS -> execute) , rysujesz sobie Gui, generujesz pliki GFXa, generujesz pliki MXa i włączasz eclipse klikając "open project" na pop upie.

Po tych zabiegach powinno się dać skompilować projet, niestety się nie da. Trzeba poprawić przypisania w eclipse, głównie te od GFXa i dołożyć biblioteki BSP z firmware'u i ewentualnie te od AI dystrybuowane przez ST ;). Po kilku godzinach zabawy eclipsem w końcu udało się powiązać źródła i skompilować projekt.

Przykłady zestawione przez producenta flashują się bez problemu (np. pralka automatyczna fajnie wygląda ;). Nie ma też problemu z budowaniem i flashowaniem projektów wyprodukowanych przez GFXa. Problemy się zaczynają kiedy się chce samemu zestawić projekt w całość za pomocą SW4STM32, aktualizowanie pliku ld nie jest zbyt wygodne ale za to za pomocą GFXa można sobie zbudować projekt i wgrać na płytkę za pomocą TYLKO jednego kliknięcia! 😉

 

Edytowano przez atMegaTona
aktualizacja
  • Lubię! 1

Udostępnij ten post


Link to post
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!

Gość
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...