Skocz do zawartości
loocash

STM32 i Linux

Pomocna odpowiedź

Cześć!

W jaki sposób pracujecie z STM32 na linuksie? Jestem w trakcie przeczołgiwania się przez pierwsze etapy kursu z SMT32F4 i nie wszystkie narzędzia tam zareprezentowane mają swoje odpowiedniki poza windowsem.

Zamiast ST Link Utils skompilowałem z githuba: https://github.com/texane/stlink

I wgrywam programy komendą

$ st-flash write program.bin 0x8000000

CubeMX działa dobrze jako osobny program, Eclipse tak na 3+, natomiast nie widzę odpowiednika dla STM Studio.

Gdyby ktoś mógł podzielić się swoim doświadczeniem byłbym wdzięczny.

Z góry dziękuję za odpowiedź i pozdrawiam 🙂

Udostępnij ten post


Link to post
Share on other sites

Jak chcesz prosto i szbko rozpocząć zabawę to zawsze możesz pobrać System Workbench z OpenSTM32: http://www.openstm32.org/HomePage - jest wersja dla Linuxa, instalujesz i gotowe. Wtedy odpowiednie pluginy pobiorą wszystko co potrzebne.

Zachęcam jednak do poświęcenia nieco czasu i powalczenia z stm32 bez wykorzystania gotowców. Kompilator masz w systemie, wystarczy że zainstalujesz arm-none-eabi-gcc. Podobnie debugger - arm-none-eabi-gdb. Potrzebujesz jeszcze OpenOCD, chyba jest w paczkach większości dystrybucji.

Do edycji plików najlepiej użyć coś mniej skomplikowango niż Eclipse, polecam vim.

Oczywiście wykorzystywanie takich "niskopoziomowych" narzędzi wymaga trochę przyzwyczajenia i... dużo pomocy od wujka google. Ale wszystkie informacje są w internecie, wystarczy poszukać.

Udostępnij ten post


Link to post
Share on other sites

Możesz spróbować uruchomić stmstudio wine-m, albo użyć maszyny wirtualnej z windowsem.

Ale moim zdaniem to nie ma sensu i po prostu nie warto tego robić. Oczywiście takie "podglądanie zmiennych w czasie rzeczywistym", wygląda super ale użyteczność takiego narzędzie moim zdaniem jest niewielka.

Po pierwsze - jeśli potrzebujesz te dane, czyli wartości zmiennych na innym komputerze, powiedzmy PC to je najzwyczajniej wyślij. Masz uart, USB i jeszcze kilka innych interfejsów. Najprościej jest dodać kilka printf()-ów i masz podgląd zmiennych.

Niestety szybko zobaczysz, że taki podgląd ma wpływ na resztę programu, dane wysyłane są dość wolno, powodują opóźnienia w programie. Więc podgląd danych ma wpływ na program - i to po drugie.

Na szczęście jeśli sam wysyłasz te dane, masz wpływ na użyte protokoły, opóźnienia itd. A jak uruchomisz STMStudio, to będziesz wiedział jaki ma wpływ na Twój program? Może wszystko działa ok tylko kiedy podglądasz dane - przestajesz i program się sypie.

Trzecia wada takiego podejścia, to "czas rzeczywisty". Nawet już wiekowy stm32f103 ma dwa, 12-bitowe konwertery o czasie konwersji 1us. Czyli możesz uzyskać jakieś 3MB danych na sekundę. Zastanów się, czy uda Ci się tyle danych przesłać bez wpływu na resztę programu, ale najważniejsze - czy w tym podglądzie zobaczysz te wszystkie dane? Bo obawiam się, że STMStudio wyświetla najwyżej kilka wartości na sekundę. Więc jeśli to czasem przychodzą niepoprawne dane, a ty widzisz kilka na milion, raczej mała szansa że je zauważysz.

A jak chodzi o tradycyjne debugowanie, to masz gdb. W nim zrobisz wszystko co potrzebne, z podglądem danych włącznie - tyle że po zatrzymaniu procesora.

  • Pomogłeś! 1

Udostępnij ten post


Link to post
Share on other sites
spróbować uruchomić stmstudio wine-m

Próbowałem już ST Linka, jednym słowem koszmar.

użyć maszyny wirtualnej z windowsem

To jest ostateczne rozwiązanie kwestii STM32 na linuksie - dla mnie brak STM Studio to już deal breaker.

Chciałem się tylko upewnić, że niczego nie przeoczyłem co do linuksa.

Dzięki za pomoc 🙂

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...