Skocz do zawartości

STM23CubeMonitor czyli podgląd pamięci w czasie rzeczywistym


ReniferRudolf

Pomocna odpowiedź

Wpisałem w wyszukiwarce forum "CubeMonitor" i... nic... (!). Nie wierząc własnym oczom, powtórzyłem kilka razy wyszukiwanie - w końcu wyszukiwałem samego słowa "monitor" i... nigdzie nie znalazłem wzmianek o tym narzędziu? Czy coś przeoczyłem (proszę mnie przekierować)...? Czy też to narzędzie jest tak "oczywiste", że nikt z użytkowników o nim nie wspomina? Hmm...

Dla mnie to wygląda na rewelacyjną pomoc przy debugowaniu/uruchamianiu programów na STM32. Ogromny też walor edukacyjny, biorąc pod uwagę, że poprzez monitorowanie pamięci można de facto odczytywać i zbierać do pliku lub wizualizować na dashboardzie wartości rejestrów I/O! Można też wartości tych rejestrów ZMIENIAĆ w czasie działania programu obserwując wpływ na zachowanie systemu!! 10 minutowy film na kanale  YT STMElectronics wystarczył, żeby uruchomić i zrobić pierwszy eksperyment.

Wow...

Link do komentarza
Share on other sites

Nie pamiętam dokładnie gdzie, ale coś widziałem... Nie jestem pewien co dokładnie widziałem, czy były to tylko zrzuty z analizatora stanów logicznych, ale gdzieś też było chyba specjalne oprogramowanie do monitorowania RTOSa.

Pierwszy podejrzany to kurs na Udemy Mastering RTOS Kirana Nayaka aka FastBitBrainAcademycośtamcośtam...

Drugi to Modern embedded course programing by Miro Samek na youtube

Link do komentarza
Share on other sites

@ReniferRudolf do samego monitora nie wiem, ale to o czym piszesz masz w debugerze. Expressions do zatrzymania na pułapce, możesz wpisać im wartości i wznowić, live expressions do podglądu zmiennych o globalnym zasięgu na żywo, podgląd rejestrów z możliwością wpisania wartości, podgląd pamięci i nawet zawnętrznych pamięci memorymapped.

image.thumb.png.500413d15a306b31e79f8776de92f499.png

Tu masz podgląd PSRAM:

image.thumb.png.db11a778564e1e3294b98cbfcbbd3b32.png

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

42 minuty temu, Gieneq napisał:

@ReniferRudolf do samego monitora nie wiem, ale to o czym piszesz masz w debugerze.

[...]

Niezupełnie o to tylko chodzi, bo takie oprogramowanie monitoruje wydajność napisanego oprogramowania, jak i samego RTOS'a. Pokazuje czas przełączania wątków, czas spędzony w idlethread, procentowy udział czasowy zaimplementowanych wątków, częstotliwość uruchamianych wątków itd. Wszystko to bardzo ładnie opakowane graficznie z wykresami i statystykami.  Samo zaś zapisywanie do IO, czy rejestrów lub RAM można zrobić w debugerze, a RAM można nadpisywać lub przeglądać zawartość pod wskazanym adresem (RAM/ROM/IO) w ST-LINK Utility:

01.thumb.jpg.4027377276d8f28898dd7dad996b7d43.jpg

Podejrzewam że IO da się taż zapisywać

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

@Gieneq To zupełnie inna funkcjonalność niż debugger, chociaż, no owszem, jakiś daleki wspólny mianownik jest może 😉...

Chodzi o monitorowanie działającej aplikacji na żywo -  zbieranie danych w najmniej "inwazyjny" sposób w trakcie działania programu, zapisywanie do pliku i wizualizację dla analizy post-mortem. Ze strony STM:

  • Connects to any STM32 device via ST-LINK (SWD or JTAG protocols)
  • Reads and writes variables on-the-fly from and to the RAM in real time while the target application is running
  • Parses debugging information from the application executable file
  • Direct acquisition mode or snapshot mode
  • Enables to log data into a file and replay for exhaustive analysis
  • Delivers customized visualization with configurable display windows (such as curves and boxes) and a large choice of widgets (such as gauges, bar graphs and plots)
  • Pomogłeś! 1
Link do komentarza
Share on other sites

@ReniferRudolf w sumie ciekawa sprawa. Kiedyś słyszałem że jest to porzucony projekt ale patrząc w release notes to coś się jednak dzieje. No, pół roku temu coś się działo. Przyjrzę się temu w najbliższych dniach i może dodamy trochę słów kluczowych do wyszukiwarki forum 🙂 

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

(edytowany)

@Gieneq Z tego, co szybko ustaliłem jakiś czas temu: zarzucony został dawny projekt, który był udostępniany pod nazwą STMStudio. Jego funkcjonalność przejął STMCubeMonitor. Jest to narzędzie dobrze udokumentowane i obecnie wspierane przez producenta.

Moje pytanie wynikało stąd, że ogromnie zaskoczył mnie brak wzmianek na forum. Zapewne to wynika z faktu, że forum ma zdecydowanie punkt ciężkości przesunięty w stronę sprzętu (elektroniki) niż technik debuggowania/uruchamiania software-u. Zresztą w tym CubeMonitorze nie ma nic super-zaawansowanego poza próbkowaniem pamięci, zbieraniem do pliku i wizualizacją na żywo. Natomiast z doświadczenia miałem okazję się przekonać, jak nie do przecenienia są tego rodzaju narzędzia.

Edytowano przez ReniferRudolf
Link do komentarza
Share on other sites

6 godzin temu, virtualny napisał:

takie oprogramowanie monitoruje wydajność napisanego oprogramowania, jak i samego RTOS'a. Pokazuje czas przełączania wątków, czas spędzony w idlethread, procentowy udział czasowy zaimplementowanych wątków, częstotliwość uruchamianych wątków itd.

To co wymieniłeś to typowe funkcjonalności tzw. "profiler-a". STMCubeMonitor nie ma takich funkcji, natomiast widzę, że w dziedzinie profilowania kodu STM też ma odpowiednią ofertę: TrueStudio, cokolwiek to jest 🙂
https://www.st.com/en/development-tools/truestudio.html

Takie proste narzędzie jak CubeMonitor będzie miało dla wielu osób także walor edukacyjny - można "zobaczyć" na wykresie albo w innej formie graficznej, co "dzieje się" w środku programu, tzn. jak zmieniają się wartości wybranych zmiennych czy rejestrów I/O w trakcie, gdy program "leci na żywo" 🙂

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.