Debugowanie projektów w środowisku Keil MDK

Debuger jest częścią środowiska Arm Keil MDK i służy do analizy programów w celu znalezienia i wyeliminowania błędów. Program ten sprawuje kontrolę nad wykonaniem kodu tworzonego przez programistę. Pozwala na śledzenie obiektów, atrybutów i kontrolowanie wykonania programu. Celem debugowania jest rozpoznanie błędu w programie, znalezienie jego miejsca i przyczyny powstania, a następnie usunięcie go.

Dodaj do ulubionych źródeł w Google
Posłuchaj
00:00

Okno debugowania w Keil MDK jest takie samo, bez względu na to, czy debuguje się w sprzęcie docelowym, czy w symulatorze. Narzędzie umożliwia uruchamianie, zatrzymywanie, wykonywanie kroków programu, używanie punktów przerwania, monitorowanie wybranych elementów programu i zasobów mikrokontrolera.

Aby rozpocząć debugowanie w środowisku programistycznym, należy przycisnąć ikonę w pasku zadań. Aby zatrzymać sesję, należy ponownie tę czynność wykonać. Po zakończeniu pracy i wyjściu z sesji wszystkie ustawienia okna zostaną automatycznie zapisane. Ustawienia te zostaną przywrócone przy następnym uruchomieniu sesji dla tego projektu.

Okna "źródło" i "demontaż"

Okno "źródło" znajdujące się w środku okna debugowania wyświetla kod programu w wybranym pliku projektu, w języku używanym przez programistę (C, C++, asembler itp.). Kliknięcie zakładki u góry okna wyświetla kod źródłowy tego pliku. Istnieje również możliwość wyświetlenia pliku źródłowego, który nie ma zakładki w tym oknie. Można dodać go z paska menu, wybierając Plik-Otwórz, a następnie żądane archiwum.

Okno "demontaż" (disassembly) znajduje się bezpośrednio nad "źródłem" i wyświetla "zdemontowany" kod odpowiadający aktualnie otwartemu plikowi. Jeśli źródłem jest język C, plik zdemontowany pokazuje kod asemblerowy wygenerowany przez kompilator dla każdej instrukcji C. Wyświetlany jest także szesnastkowy adres pamięci i kod obiektu dla wszystkich instrukcji asemblera.

Uruchamianie i monitorowanie programu

Program może być wykonywany instrukcja po instrukcji, wykonywany do punktu przerwania lub po prostu bez zatrzymywania. Przebieg programu kontrolowany jest za pomocą ikon w lewej części paska narzędzi, bezpośrednio nad oknem "rejestrów".

Jeśli chodzi o monitorowanie zmiennych programu i zasobów systemowych, to do tego celu istnieje kilka okien debugowania, które wyświetlają przydatne informacje podczas realizacji programu, w tym zmienne, rejestry procesora, pamięć systemową i funkcje peryferyjne mikrokontrolera. Okna te dynamicznie się aktualizują, aby można było określić ich stan i monitorować, czy program działa zgodnie z oczekiwaniami.

Okna "pamięci" służą do wyświetlania zawartości wybranych adresów w pamięci. Maksymalnie mogą być otwarte cztery i każde z nich, co zostało przedstawione na ilustracji, ma określony początek adresu bloku pamięci, który ma zostać wyświetlony. Wpisuje się go w polu adresu, pamiętając o tym, że wartości szesnastkowe zaczynają się od "0x". W przeciwnym razie adres będzie interpretowany jako wartość dziesiętna. Format danych można dowolnie zmieniać, aby ułatwić ich badanie, klikając prawym przyciskiem myszy.

Wnioski

Debugger, będąc bardzo pomocnym oprogramowaniem i integralną częścią środowiska MDK z założenia służy do szukania błędów podczas tworzenia warstwy oprogramowania aplikacji. Poza podstawową funkcjonalnością ma on wiele dodatkowych zalet. Jedną z nich jest możliwość podglądu zmiennych w danym momencie wykonywania programu, opcja dokonywania analiz, zatrzymywania programu w dowolnym momencie. Są to funkcje, które znacząco mogą wpłynąć na jakość kodu poprzez dostarczenie wielu informacji, między innymi o czasie wykonania programu czy wartościach chwilowych znajdujących się w rejestrach. Podsumowując, debugger MDK jest przydatnym oprzyrządowaniem w pracy programisty, które może wpłynąć dodatkowo zarówno na optymalizację tworzonego kodu, jak na skrócenie czasu trwania projektu.

 

Grzegorz Cuber

Computer Controls Sp. z o.o.
tel. 33 485 94 90
www.ccontrols.pl

Więcej na www.ccontrols.pl
Chcesz częściej widzieć nasze artykuły w Google? Dodaj ElektronikaB2B do ulubionych źródeł
Zobacz więcej w kategorii: Technika
Komunikacja
Konfiguracja bramek MGate MB3000-G2: tryb Transparent i Agent w praktyce
Produkcja elektroniki
Analiza przyczyn wad montażu SMT i ograniczenia systemów inspekcyjnych
Produkcja elektroniki
Dokumentacja do wyceny montażu PCBA – jak przygotować kompletny pakiet danych?
Produkcja elektroniki
Ochrona antystatyczna fundamentem nowoczesnej produkcji
Komponenty
Niewielka uszczelka, ogromne znaczenie. Jak uszczelnienia FOF decydują o skuteczności ekranowania EMC obudów?
Komponenty
Folie termoprzewodzące elektroizolujące – jak jednocześnie odprowadzać ciepło i izolować elektrycznie?
Zobacz więcej z tagiem: Mikrokontrolery i IoT
Gospodarka
Raspberry Pi zwiększa przychody o 90% dzięki klientom przemysłowym
Technika
Watchdog - przegląd konfiguracji
Technika
Czy każde urządzenie AI musi być połączone z chmurą?

Zobaczyć obiekt oczami radaru, czyli dlaczego potrzebujemy laboratorium do pomiarów RCS?

Radar postrzega świat inaczej niż człowiek. Zamiast obrazu tworzonego przez światło widzialne rejestruje echo wysłanej fali elektromagnetycznej. Na odpowiedź radarową obiektu wpływają nie tylko jego rozmiary, lecz także kształt, zastosowane materiały, częstotliwość oraz kierunek obserwacji. Dlatego dwa przedmioty o podobnych wymiarach mogą być dla radaru widoczne zupełnie inaczej. Jak zatem sprawdzić, co radar rzeczywiście "widzi"? Służą temu pomiary RCS, prowadzone między innymi w specjalistycznych laboratoriach, które zapewniają kontrolowane i powtarzalne warunki oraz umożliwiają uzyskanie dokładności wymaganej w danym zastosowaniu.
Zapytania ofertowe
Unikalny branżowy system komunikacji B2B Znajdź produkty i usługi, których potrzebujesz Katalog ponad 7000 firm i 60 tys. produktów