Narzędzia do rozwiązywania problemów w systemach z mikrokontrolerami z rdzeniem Cortex-M3/M4
Rys. 5. Liczba pakietów TCP/IP wyświetlana w funkcji czasu na bieżąco, w trakcie działania aplikacji
Jednym z celów przy projektowaniu środowiska Atollic TrueSTUDIO było minimalizowanie liczby dodatkowych narzędzi, których inżynierowie potrzebują do pracy. Oprócz wspomnianych już narzędzi do inspekcji kodu, TrueSTUDIO jest więc także wyposażone w interfejsy do kontroli wersji oraz serwery baz danych wykrytych błędów oraz opcjonalne moduły do analizy kodu i automatyzacji testów.
W aplikacjach wykorzystujących TCP/IP, liczba transmitowanych pakietów w funkcji czasu jest często przydatną informacją. Do uzyskania jej używane są narzędzia takie jak np. WireShark. Taka informacja może pozwolić testerowi na stwierdzenie czy aplikacja w ogóle nasłuchuje lub nadaje i czy w strumieniu komunikacyjnym nie występuje „czkawka”. Na rysunku 5 pokazano, że TrueSTUDIO daje możliwość wyświetlenia informacji o liczbie pakietów przy użyciu Data Trace Timeline Graph. Zgrubne pojęcie o szybkości transmisji, będącej często miarą jakości działania aplikacji z TCP/IP można więc zyskać w mgnieniu oka. Jak widać na rysunku, SWV potrafi więc przedstawić najważniejsze informacje, oszczędzając testerowi pracy polegającej na uruchamianiu dodatkowych narzędzi.
Podsumowanie
Możliwości tradycyjnego debugowania typu run/stop zostały znacznie poszerzone w mikrokontrolerach z rdzeniami ARM Cortex-M dzięki wprowadzeniu interfejsu Serial Wire Viewer i innych elementów architektury CoreSight. Poglądy na debugowanie metodą kernel-aware ewoluowały natomiast i dojrzały w ostatniej dekadzie, a technika ta jest dziś uznawana za nieodzowną do zaspokojenia potrzeb informacyjnych testerów oprogramowania w zakresie ogólnych danych o wysokopoziomowych elementach systemów RTOS. Ograniczeniem debugowania KA jest wciąż konieczność wstrzymywania pracy mikrokontrolera, aby zdobyć informacje. Bez zakupu dodatkowych narzędzi uzyskanie podstawowych informacji jest jednak możliwe za pomocą SWV. Połączenie debugowania KA i interfejsu SWV daje wgląd w aplikacje wbudowane, którego żadna z tych technik nie jest w stanie dostarczyć samodzielnie.
Dodatkowe informacje o możliwościach, jakie do debugowania wprowadził SWV można znaleźć w artykule dostępnym pod adresem.
Artykuł powstał w oparciu o tłumaczenie dokumentu firmy Atollic pod tytułem RTOS-aware Debugging and Serial Wire Viewer – Problem Solving Tools for Cortex-M3/M4 Applications.