Programatory i narzędzia programistyczne (debuggery) dla początkujących

Większość, jeśli nie wszystkie, mikrokontrolery mają płyty rozwojowe dostępne z wbudowanymi debuggerami. Debugger to najprościej mówiąc oprogramowanie (narzędzie) do dynamicznej analizy innych programów, w celu odnalezienia i identyfikacji zawartych w nich błędów, zwanych z angielskiego bugami (robakami).
Bardziej elastycznym podejściem jest użycie dedykowanego programatora / debuggera, który umożliwia przesyłanie kodu z hosta (głównego komputera) do urządzenia docelowego, a następnie debugowanie i optymalizację.
Debugery i programatory są dostępne od producenta półprzewodników dla praktycznie każdej rodziny mikrokontrolerów, a także istnieje szeroka gama uniwersalnych narzędzi programistycznych produkowanych przez niezależnych producentów zewnętrznych.
Debugger oferuje wiele dodatkowych funkcji w porównaniu do prostego programatora.
Najważniejszą z tych funkcji jest możliwość sprawdzenia najważniejszych lokalizacji pamięci i rejestrów podczas wykonywania programu lub po zatrzymaniu wykonywania w określonym miejscu kodu („breakpoint’” – punkt wstrzymania lub pułapka (ang. breakpoint) – miejsce celowego wstrzymania wykonania programu w celu przeanalizowania jego działania).
Zazwyczaj możliwa jest również modyfikacja kodu lub zawartości pamięci lub wykonanie kodu jednej instrukcji w danym momencie.
Oprócz tych podstawowych funkcji debuggera, producenci dodają różne inne elementy, takie jak funkcje śledzenia, które rejestrują określone informacje (na przykład zmiany w zawartości pamięci lub poborze prądu) podczas wykonywania programu.
Ponieważ nie ma to wpływu na wykonanie programu, warunki, w jakich gromadzone są informacje, są jak najbardziej realistyczne.
Prosty programator nie zawiera tych dodatkowych funkcji debugowania: jest przeznaczony tylko do wydajnego odczytu i zapisu zawartości pamięci mikrokontrolera.
Jedyną opcją debugowania przy użyciu programatora do programowania jest załadowanie kodu do mikrokontrolera, obserwacja jego zachowania zewnętrznego, a następnie odpowiednie zmodyfikowanie kodu.
Po zakończeniu programowania kodu, programator jest właściwym narzędziem do pobierania kodu obiektowego (zwykle w postaci pliku heksadecymalnego) do dużej liczby mikrokontrolerów: do tego jest wygodniejszy, tańszy i zwykle również szybszy niż pełnowartościowy debugger.
Oczywiście odpowiednie narzędzie do debugowania musi być również uruchomione na komputerze-hoście (głównym komputerze).
Jeśli używany jest własny debugger producenta, narzędzie do debugowania jest niezmiennie zintegrowane ze środowiskiem programistycznym, dzięki czemu można łatwo przełączać się między debugowaniem a kodowaniem.
Jest rzeczą oczywistą, że należy najpierw poprawnie skonfigurować ustawienia debugowania i zainstalować odpowiednie sterowniki: w szczególności ustawienia mogą być bardziej skomplikowane niż te, które pojawiają się po raz pierwszy (domyślnie) i jest to punkt, w którym potyka się wielu początkujących.
Kolejno będziemy przyglądać się debuggerom i programatorom oferowanym przez wybranych producentów mikrokontrolerów, czyli takim firmom jak: Atmel, Microchip, NXP, STMicroelectronics, Infineon, Texas Instruments, Renesas, Cypress. Na koniec podamy propozycje uniwersalnych debuggerów i programatorów produkowanych przez firmy niezależne.
Autor: Viacheslav Gromov

pełny materiał w pliku

Komentarze z Facebooka

Komentarze obecnie - OFF.