[KURS] Zestaw ewaluacyjny firmy Texas Instruments C2000 Piccolo LaunchPad w aplikacjach DSP – środowisko programowe Code Composer Studio (CCS) v5, część 2

Krok 4: Uruchamianie sesji debugowej dla projektu Example_F2802xLEDBlink

Krok 4 umożliwia uruchomienie sesji debugowej dla projektu. Dotychczas praca środowiska CCSv5 nie wymagała fizycznej obecności sprzętu docelowego. Wykonanie kroku 4 wymaga wcześniejszego dołączenia zestawu ewaluacyjnego C2000 Piccolo LaunchPad do komputera z zainstalowanym środowiskiem CCSv5.

4. W oknie TI Resource Explorer kliknij na odnośnik kroku 4.

Kliknięcie na odnośnik kroku 4 powoduje automatyczne rozpoczęcie sesji debuggowej – podobnie jak po przyciśnięciu przycisku Debug ik3  (rys. 16).

 

Rys. 16. Perspektywa CCS Debug po wystartowaniu sesji debugowej w kroku 4

Rys. 16. Perspektywa CCS Debug po wystartowaniu sesji debugowej w kroku 4

 

Okno Debug

Okno Debug jest dostępne w perspektywie CCS Debug środowiska CCSv5. W oknie pokazywany jest stan stosu dla aktualnie debugowanego układu procesorowego. Na pasku narzędzi okna są dostępne podstawowe przyciski wykonywania programu. Są one omówione w tab.1.

Po zatrzymaniu działania programu pokazywana jest w perspektywie CCS Debug zawartość okien dla ramki umieszczonej na szczycie stosu. Można także oglądać stan dla innych ramek stosu.

 

Tab. 1. Ikony paska narzędziowego okna Debug

Ikonka Nazwa Opis
ik4 Restart Typowo powoduje ono uruchomienie układu procesorowego, wykonanie kodu inicjacji środowiska języka C, czyli od adresu c_int00 i zatrzymanie wykonania na początku funkcji main() . Zatrzymanie jest realizowane jako pułapka.
Resume Wznawia wykonywanie na układzie procesorowym wątku aktualnie wybranego.
  Suspend Zawiesza wykonywanie na układzie procesorowym wątku aktualnie wybranego.
  Terminate Zamyka sesję debugową.
  Step Into Praca krokowa poziomu kodu źródłowego C/C++ z wchodzeniem do zaznaczonej instrukcji (funkcji) i zatrzymaniem wykonania.
Step Over Praca krokowa poziomu kodu źródłowego C/C++ z wykonaniem zaznaczonej instrukcji (funkcji) i zatrzymaniem wykonania na pierwszej instrukcji po powrocie na ten sam poziom
Step Return Wykonuje kod bieżącej funkcji do końca i powraca do funkcji która ją wywołała.

 

Wgląd w projekt Example_F2802xLEDBlink

5. Zauważ, że praca programu została zatrzymana na pierwszej linii kodu funkcji main() (rys. 16).

6. Otwórz okno Disassembly z menu View → Disassembly . W tym oknie można dokładnie zobaczyć jak naprawdę pracuje układ procesorowy (rys. 17).

 

Rys. 17. Perspektywa CCS Debug po wyświetleniu okna Disassembly

Rys. 17. Perspektywa CCS Debug po wyświetleniu okna Disassembly

 

7. Zapoznaj się z komentarzem na początku pliku Example_2802xLEDBlink.c .

Krótki opis projektu przykładowego oraz ustawienia i wymagania sprzętowe są zamieszczone na początku głównego pliku każdego projektu przykładowego z pakietu programowego controlSUITE (rys. 18).

 

Rys. 18. Opis projektu przykładowego Example_F2802xLEDBlink

Rys. 18. Opis projektu przykładowego Example_F2802xLEDBlink

 

8. Dodaj zmienną interruptCount do okna Expressions . Kliknij na zakładke Expressions . W oknie edycyjnym z plikiem Example_2802xLEDBlink.c zaznacz zmienną (dwukliknij na nią). Kliknij na nią prawym klawiszem myszy i wybierz Add Watch Expression (rys. 19).

 

Rys. 19. Podręczne menu z wyborem dodawania zmiennej do okna Expressions

Rys. 19. Podręczne menu z wyborem dodawania zmiennej do okna Expressions

 

9. Kliknij OK (rys. 20).

 

Rys. 20. Okno potwierdzania wyboru dodawania zmiennej do okna Expressions

Rys. 20. Okno potwierdzania wyboru dodawania zmiennej do okna Expressions

 

Stan zmiennej zostanie wyświetlony w oknie Expressions (rys. 21).

 

Rys. 21. Okno Expressions po dodaniu zmiennej

Rys. 21. Okno Expressions po dodaniu zmiennej

 

Można też zaznaczoną zmienną przeciągnąć z okna edycyjnego do okna Expressions .

 

10. W oknie Registers rozwiń strukturę CPUTIMER . Zauważ losową zawartość rejestrów modułu CPU Timer0 : TIM, PRD, TCR oraz TPR (rys. 22).

 

Rys. 22. Okno Registers z rozwiniętą strukturą rejestrów modułu CPU Timer0

Rys. 22. Okno Registers z rozwiniętą strukturą rejestrów modułu CPU Timer0

 

O autorze