W artykule najpierw zostało opisane instalowanie środowiska CCSv5.3.0 i pakietu programowego control- SUITEv3.1.2. Następnie jest opisane ćwiczenie praktyczne z zastosowaniem zestawu ewaluacyjnego C2000 Piccolo LaunchPad oraz środowiska programowego CCSv5. Zastosowano przykładowy program projektu Example_ F2802xLEDBlink z pakietu programowego controlSUITE. Ćwiczenie jest zorganizowane tak, że działania są wykonywane w kolejnych punktach i krokach uzupełnionych o szczegółowe opisy. Opis zestawu ewaluacyjnego C2000 Piccolo LaunchPad został zamieszczony w artykule "Zestaw ewaluacyjny C2000 Piccolo LaunchPad" opublikowanym w EP/01/2013.
Nie ma żadnego spójnego opisu ani podręcznika do środowiska CCSv5. Przydatne i obszerne informacje są zgromadzone na kilku stronach internetowych oraz w pomocy samego środowiska. Podstawowym źródłem informacji o CCSv5 jest witryna TI Embedded Processors Wiki kategoria Code Composer Studio v5 [4]. Jest to bazowa strona dokumentacji środowiska CCSv5. Znajdują się tu bardzo obszerne i często aktualizowane informacje. Tutaj znajduje się rozbudowany indeks odnośników do stron z opisem różnych zagadnień. Opis jest bardzo szczegółowy (ale niekompletny) i dotyczy sposobu wykorzystania poszczególnych funkcji i operacji dostarczanych przez środowisko. Ale nie ma opisu w jakim celu ich użyć, w jakiej kolejności i w jakim kontekście. Zamieszczony opis nie nadąża za szybkimi zmianami kolejnych wersji środowiska.
Wersje CCSv5
Na stronie produktu http://www.ti.com/ccs są informacje o aktualnych wersjach CCS [2]. Obecnie najbardziej aktualna jest wersja CCSv5.3.0.00090. Jest tylko jedna wersja CCSv5 (oznaczana jako TMDCCS-ALLxx z wariantami opcji licencji) która obsługuje wszystkie rodziny procesorów produkcji Texas Instruments: ARM, C28x, C54x, C55x, C6000, DaVinci, MSP430, Stellaris, TMS470, TMS570, Sitara, oraz OMAP. CCSv5 jest przeznaczony dla komputera z systemem operacyjnym Microsoft Windows 7 lub XP oraz Linux. Plik instalacyjny jest wspólny dla wszystkich opcji licencji. Dostępne są różne opcje darmowych licencji na środowisko CCSv5. Są one aktywowane po zainstalowaniu (i uruchomieniu) pakietu:
- EVALUATE: Darmowa licencja pełna o ograniczonym czasie użytkowania do 30 dni. Z możliwością przedłużenia (extension) o kolejne 90 dni. Daje to darmowe użytkowanie próbne przez 120 dni.
- FREE LICENCE: Darmowa licencja do używania z emulatorem klasy XDS100 oraz razem z zakupionym sprzętowym zestawem uruchomieniowym lub EVM.
- CODE SIZE LIMITED (MSP430): Darmowa licencja pełna o ograniczonym rozmiarze kodu do 16 kB dla rodziny procesorów MSP430
Pobieranie pliku instalacyjnego CCSv5.x
Na stronie Download CCS [3] dostępna jest wersja aktualna i wersje archiwalne plików instalacyjnych CCSv5 do pobrania (osobno dla sytemu Windows i Linux):
- Web Installer - Małe pliki (<2 MB) instalatora sieciowego pozwalają po pobraniu i uruchomieniu pobierać resztę plików instalacyjnych bezpośrednio w trakcie instalowania programu.
- Offline Installer - Duże pliki (ok 1,2 GB) instalatora pełnego zawierają kompletny obraz płyty DVD. Po ich rozpakowaniu można przeprowadzić kompletną instalację bez konieczności połączenia z siecią Internet.
Na stronie Download CCS zamieszczone są również odnośniki do strony informacji o wersji (Release Notes).
Do pobrania pliku instalacyjnego jest potrzebna wcześniejsza rejestracja na stronie http://www.ti.com/myTI [5]. Po kliknięciu na stronie Download CCS na link pobierania przeprowadzane jest logowanie poprzez system myTI i wyświetlany jest formularz do wypełnienia. Oprócz danych osobowych trzeba krótko opisać zastosowanie. Trzeba też podać stronę internetową instytucji/uczelni. Praktyka pokazuje, że najlepiej jest podać wersję angielskojęzyczną strony, gdyż jest ona otwierana przy weryfikacji. Przeprowadzana jest szybka weryfikacja i gdy wynik jest pozytywny aktywowany jest link do pobierania. Wysyłany jest też e-mail z tym linkiem, aktywny przez 72 godziny. Może to okazać się bardzo pomocne gdyż pobieranie trwa długo i może zostać bezpowrotnie przerwane.
Pobieranie pliku instalacyjnego controlSUITEv3.x
Na stronie controlSUITE http://www.ti.com/tool/controlsuite dostępna jest aktualna wersja pakietu [6]. Obecnie najnowsza jest wersja controlSUITEv3.1.2. Do pobrania pliku instalacyjnego jest potrzebna wcześniejsza rejestracja na stronie myTI [5]. Po kliknięciu na link pobierania przeprowadzane jest logowanie poprzez system myTI i udostęniany jest plik do pobrania. Jest on dosyć duży (obecnie ponad 700MB) i jest przesyłany raczej powoli.
Odinstalowanie środowiska CCS oraz pakietu controlSUITE
Przed rozpoczęciem instalowania należy odinstalować poprzednie środowisko CCS oraz pakiet controlSUITE. Najpierw w oknie Odinstaluj program w oknie Panel sterowania należy wykonać odinstalowanie w kolejności: wszystkie pakiety sterowników FTDI, pakiet sterowników Spectrum Digital, drajwer Blackhawk Emulation, pakiet DSP/BIOS oraz pakiet controlSUITE (jeśli jest). Dopiero teraz odinstaluj CCS. Może to potrwać dosyć długo. Na koniec należy wejść do foldera C:ti i usunąć z niego wszystko. Dopiero teraz można rozpocząć instalowanie nowego oprogramowania.
Instalowanie środowiska CCSv5.x oraz pakietu controlSUITEv3.x
Pobrany plik *.zip środowiska CCSv5.x należy rozpakować. Następnie należy uruchomić program *setup*.exe. Środowisko należy zainstalować w proponowanej ścieżce C:ti. Najlepiej zainstalować pełny zestaw narzędzi. Instalowanie jest dosyć długie. Najlepiej wyłączyć na ten czas program antywirusowy. W systemie Windows może w trakcie instalacji zachodzić konieczność ręcznego zezwalania na wprowadzenie zmian w systemie. Instalowanie trwa długo, ok. pół godziny (na komputerze dwurdzeniowym 2,3 GHz).
Pobrany plik *.zip pakietu controlSUITEv3.x należy rozpakować. Następnie należy uruchomić program *setup*. exe. Środowisko należy zainstalować w proponowanej ścieżce C:ticontrolSUITE.
Pierwsze podłączenie zestawu C2000 Piccolo LaunchPad
Po zainstalowaniu środowiska CCSv5 można pierwszy raz dołączyć zestaw ewaluacyjny C2000 Piccolo LaunchPad kablem USB do wolnego portu USB komputera [1]. System Windows automatycznie rozpoznaje układ. Zostaną zainstalowane sterowniki systemu Windows dla emulatora XDS100v2 [8]. Należy poczekać aż system potwierdzi, że sprzęt jest gotowy do pracy. Do poprawnej pracy programu przykładowego wymagana jest podstawowa (standardowa) konfiguracja przełączników płytki drukowanej zestawu [1]. Zestaw ewaluacyjny jest dostarczany z wpisanym do pamięci Flash układu procesorowego programem przykładowym Example_F2802xLaunch- PadDemo. Program automatycznie zaczyna pracować po dołączeniu zestawu do portu USB [1].
Budowa środowiska CCSv5
CCSv5 został zbudowany z użyciem aktualnej wersji Eclipse 3.6 oraz CDT 7.0 [4]. Zastosowanie środowiska Eclipse oznacza bezpośrednie użycie w pracy CCSv5 podstawowych koncepcji tego środowiska. CDT (C/C++ Development Toolkit) jest zbiorem wtyczek środowiska Eclipse które dostarczają obsługę języka C oraz C++. CDT dostarcza zintegrowane środowisko programistyczne IDE (Integrated Development Environment). CDT komunikuje się z narzędziami zewnętrznymi do wykonywania różnych operacji jak: budowanie (jak make), kompilacja (jak gcc) lub debugowanie (jak gdb). Podstawowe koncepcje i terminologia Eclipse są pokazane w ramce.
Budowa pakietu controlSUITEv3.x
Pakiet programowy controlSUITE jest zbiorem oprogramowania i narzędzi programowych dla układów procesorowych rodziny TMS320C2000 [13]. Zawiera również szczegółową dokumentację techniczną modułów sprzętowych. Pakiet controlSUITE jest instalowany w domyślnej ścieżce C:TIcontrolSUITE i zawiera przede wszystkim pakiety wsparcia tworzenia oprogramowania w ścieżce device_support oraz materiały dla zestawów sprzętowych w ścieżce development_kits. Każda seria układów procesorowych rodziny TMS320C2000 posiada własny pakiet programowy wsparcia tworzenia oprogramowania. Dla serii F2802x Piccolo opis modeli programowania procesora jest zamieszczony w dokumentach [10, 11] dostępnych w pakiecie controlSUITE w ścieżce device_supportf2802xv210doc
Pierwsze uruchamianie środowiska CCSv5
Działanie środowiska CCSv5 wymaga określenia czterech ścieżek dostępu:
- Ścieżka do pliku licencji (o ile jest potrzebna). Wskazywana jeden raz przy aktywacji licencji.
- Ścieżka foldera roboczego (workspace). Wskazywana każdorazowo przy uruchamianiu środowiska CCSv5.
- Ścieżka foldera projektu. Wskazywana jeden raz przy tworzeniu/importowaniu projektu w środowisku CCSv5. Definiuje ona folder podstawowy (root) projektu.
- Ścieżka foldera pliku konfiguracji sprzętowego systemu docelowego (zestawu ewaluacyjnego, układu procesorowego). Wskazywana jeden raz przy określaniu (tworzeniu) konfiguracji systemu docelowego dla projektu w środowisku CCSv5.
Po uruchomieniu środowiska CCSv5 pokazywane jest okno edycyjne Workspace Launcher ustawiania lokalizacji foldera roboczego (rys. 1). W oknie Workspace należy wpisać/wskazać ścieżkę dla lokalizacji foldera (workspace) roboczego projektu. Można ją też wskazać przy użyciu standardowego przycisku Browse systemu Windows. Odznaczenie (wywłączenie) opcji Use this as the default and do not ask again oznacza pracę z osobnym folderem roboczym. Folder z projektem można umieścić w folderze roboczym. Ale nie odwrotnie. Przy ponownym uruchomieniu środowiska CCSv5 pokazywana jest w oknie Workspace Launcher ścieżka lokalizacji foldera roboczego używana przy ostatnim zamknięciu CCSv5.
W oknie Workspace wpisz ścieżkę i nazwę folderu roboczego. Powinna być ona krótka i musi być zlokalizowana na dysku w miejscu, dla którego są uprawnienia dostępu (zapisu). Dla indywidualnej pracy proponowana jest ścieżka . Dla tego pierwszego ćwiczenia proponowana jest nazwa folderu workEx1.
Po kliknięciu na przycisk OK okna Workspace Launcher otwierane jest okno startowe środowiska CCSv5 (i ładowane są poszczególne elementy środowiska). Można to obserwować na pasku postępu. Może to trwać dosyć długo i należy koniecznie poczekać na zakończenie inicjalizacji środowiska przed rozpoczęciem dalszej pracy.
Wybór opcji licencji środowiska CCSv5
Zestaw ewaluacyjny C2000 Piccolo LaunchPad jest wyposażony w emulator XDS100v2 [1]. Dla pracy środowiska CCSv5 z zestawem najlepsza wydaje się opcja darmowej licencji o nazwie FREE LICENCE.
Po pokazaniu się okna edycyjnego License Setup Wizard (rys. 2) zaznacz opcję FREE LICENCE i kliknij Finish. Na pasku stanu (na dole) pojawi się napis Licensed.
Projekty przykładowe pakietu controlSUITE
W oknie TI Resource Explorer perspektywy CCS Edit pokazywana jest strona Welcome (w html). Zawiera ona graficzne menu główne. Istotne informacje są zgrupowane na stronie Home. Można ją otworzyć po kliknięciu w oknie TI Resource Explorer na ikonkę Home
. Po kliknięciu na odnośnik Examples pokazywane jest po lewej stronie okna drzewo dokumentacji i dostępnych projektów przykładowych (rys. 3). Jeśli pokazywana jest tylko jedna linia controlSUITE z gałęzią English to udostępnia ona tylko dokumentację pakietu. Aby dodać przykłady należy na stronie Home (rysunek 3) kliknąć na odnośnik Configure Resource Explorer. W oknie dialogowym Package Configuration trzeba kliknąć na Add, wskazać folder C:ticontrolSUITE i kliknąć OK. Nazwa controlSUITE pojawi się w oknie wyboru i należy kliknąć OK. Po dłuższej chwili pojawi się w drzewie druga linia controlSUITE zawierająca pozycje: development kits, device_support oraz libs.Zastosowanie projektu Example_ F2802xLEDBlink
Dla pracy z rodziną układów procesorowych F2802x Piccolo rozwiń w oknie TI Resource Explorer drugą pozycję controlSUITE. Następnie rozwiń drzewo controlSUITE → device_support → f2802x → v210 → f2802x_examples. Potem kliknij na nazwę wybranego projektu Example_ F2802xLEDBlink.
W prawym oknie zostanie wyświetlona instrukcja jak krok po kroku zbudować i uruchomić projekt (rys.4).
Krok1: Importowanie projektu Example_F2802xLEDBlink do CCS v5
Krok1 umożliwia zaimportowanie wybranego projektu do CCSv5.
Kliknij na odnośnik kroku 1. Po poprawnym wykonaniu importowania w oknie Project Explorer pojawia się drzewo projektu i oknie TI Resource Explorer pokazywany jest zielony znaczek
na prawo od linii nazwy kroku. Projekt Example_F2802xLEDBlink został zaimportowany z kopiowaniem projektu i pliku Example_2802xLEDBlink. c do foldera roboczego projektu. Aby dobrze zrozumieć co zostało wykonane trzeba najpierw poznać trochę informacji o środowisku CCSv5.Perspektywa CCS Edit
Środowisko CCSv5 po uruchomieniu nowego projektu ma standardowo otworzoną perspektywę CCS Edit. Druga standardowa perspektywa CCS Debug zostanie automatycznie otwarta po uruchomieniu debuggera. Wszystkie perspektywy używają tych samych okien edycyjnych. Każda perspektywa określa zbiór zasobów środowiska CCSv5 ukierunkowany funkcjonalnie na określone zadanie lub rodzaj pracy. Podczas pracy w CCSv5 bardzo często wykonywane jest przełączanie pomiędzy perspektywami.
Okno perspektywy jest podzielone na panele (ramki) mogące zwierać okna robocze lub edycyjne. Okna w panelu są zorganizowane w postaci zakładek. Same okna mogą również zawierać zakładki wewnętrzne. Każdy panel posiada pasek narzędzi. Zawiera on ikonki: minimalizuj. maksymalizuj, przywróć. Narzędzia okien mogą się integrować na jednym pasku z narzędziami panela.
Okno perspektywy CCS Edit po otworzeniu nowego projektu jest podzielone na dwa panele. Lewy panel zawiera okno Project Explorer (typowo jest ono zminimalizowane). Prawy panel zawiera okno TI Resource Explorer. Jest do wyboru duża liczba okien, które można otworzyć w perspektywie CCS Edit. Służy do tego menu View, Help oraz Tools.
Okno Project Explorer
W oknie Project Explorer perspektywy CCS Edit pokazywana jest struktura plików projektu przedstawiona w postaci drzewa (rysunek 5). Pozwala to na łatwą nawigację po zasobach projektu. Widok zmienia się w zależności od wykonywanych operacji. Zostaje on bardzo uszczegółowiony po wykonaniu budowania projektu.
Reprezentacja struktury katalogowej projektu jest podzielona na gałęzie:
- Binaries - Pokazywany jest plik wynikowy *.out po wykonaniu budowania projektu.
- Includes - Pokazywane są wszystkie foldery zawierające pliki włączane do projektu w opcjach operacji budowania projektu. Rozwinięcie (+) widoku powoduje pokazanie wszystkich plików typu *.h oraz *.inc folderu. Pokazywane są pliki używane i nie używane przez projekt.
- RAM - Pokazywane są wszystkie pliki debugowe, włączając pliki *.map i *.obj generowane podczas budowania projektu. Nazwa tej gałęzi jest zgodna z nazwą konfiguracji budowania projektu.
- targetConfigs - Pokazywane są pliki konfiguracji sprzętowej systemu docelowego.
- Poniżej w drzewie pokazane są wszystkie pliki źródłowe projektu. Rozwinięcie (+) widoku struktury pliku powoduje pokazanie wszystkich deklaracji i definicji funkcji, plików nagłówkowych, nazw skrótów występujących w pliku. Dwukliknięcie na nazwę wybranego pliku tej listy powoduje otworzenie pliku w oknie edycyjnym.
Wygląd ikon po lewej stronie elementów drzewa jest modyfikowany w zależności od kontekstu. Na ikonki rodzaju pliku nakładane są ikonki pokazujące dodatkowe informacje. Pliki, które są połączone (link) z projektem mają nałożoną nakładkę w postaci strzałki
.Bardzo przydatne jest menu podręczne rozwijane po kliknięciu w oknie C/C++ Projects prawym klawiszem myszy na nazwę projektu. Menu daje dostęp do operacji na plikach: kasowanie, dodawanie (skopiowanie) do projektu (add), dołączanie (link) do projektu. Najbardziej istotny jest dostęp z menu do okna ustawień parametrów (properties) projektu.
Importowanie istniejącego projektu
Tworzenie nowego projektu jest dosyć pracochłonne. Za każdym razem trzeba powtórzyć te same czynności konfiguracji narzędzi kompilacji oraz ogólnej konfiguracji układu procesorowego. Łatwiejszym sposobem rozpoczęcia pracy jest użycie gotowego (działającego!) przykładowego projektu i zmodyfikowanie go do swoich potrzeb.
W celu importowania projektu CCSv5 należy po uruchomieniu środowiska CCSv5 wybrać z menu pozycję File → Import Existing CCS/CCE Eclipse Project. W oknie Import należy określić ścieżkę dostępu (root directory) do plików projektu. Pokazywane są wtedy dostępne projekty we wskazanej lokalizacji. Gdy zaznaczony jest wybór Copy Project into workspace to cały folder projektu zostanie przepisany do aktualnego foldera roboczego. W przeciwnym wypadku otwierany jest projekt we wskazanej lokalizacji. Wtedy wszystkie zmiany będą wprowadzane w plikach źródłowego projektu. Po kliknięciu na przycisk Finish struktura zaimportowanego projektu jest pokazywana w oknie Project Explorer perspektywy CCS Edit.
Wymagania systemowe dla instalacji CCSv5Na stronie System Requirements są podane aktualne wymagania [2]:
|
Krok2: Budowanie projektu Example_F2802xLEDBlink
Krok2 umożliwia wykonanie budowania wybranego projektu.
Kliknij na odnośnik kroku 2. W oknie Console pokazywane są bieżące informacje o postępie budowania. W oknie Problems pokazywane są opisy błędów, ostrzeżeń i informacji. Po poprawnym wykonaniu budowania pokazywany jest w oknie TI Resource Explorer zielony
znaczek na prawo od linii nazwy kroku (rysunek 5).Kliknięcie na odnośnik kroku 3 powoduje automatyczne budowanie projektu - podonie jak po przyciśnięciu przycisku Build. Powinno to spowodować zapisanie wszystkich plików ze zmianami przed rozpoczęciem budowania projektu. Tak się typowo dzieje w przypadku użycia przycisku Build. Czasami występują jednak kłopoty z plikami nagłówkowymi. Jednak w przypadku wykonywania kroku 3 zapisywanie nie jest wykonywane.
W oknie Project Explorer rozwiń drzewo projektu i kliknij na jego nazwę. Został zbudowany projekt w konfiguracji budowania o nazwie RAM.
Budowanie projektu Example_F2802xLEDBlink zostało zakończone poprawnie. Został utworzony wynikowy plik binarny Example_F2802xLEDBlink.out. Jednak Zostały zgłoszone cztery ostrzeżenia. Na razie są one nieistotne.
Aby dobrze zrozumieć co zostało wykonane trzeba najpierw zapoznać się z następnymi informacjami o środowisku CCSv5.
Podstawowe koncepcje i terminologia Eclipse:Na stronie System Requirements są podane aktualne wymagania [2]:
|
Konfiguracje budowania projektu
Konfiguracja budowania projektu (build configuration) grupuje ustawienia dla wykonania budowania projektu. Projekt może mieć zdefiniowane wiele konfiguracji budowania. Każda ma badaną nazwę własną. Przełączanie pomiędzy konfiguracjami budowania projektu można wykonać w perspektywie CCS Edit w oknie Project Explorer poprzez kliknięcie prawym klawiszem na nazwę projektu. Z podręcznego menu należy wybrać pozycję Active Build Configuration i z listy wybrać konfigurację do aktywowania.
Po załadowaniu projektu wybrana jest automatycznie jedna z dostępnych konfiguracji budowania projektu. Należy zwrócić uwagę, czy jest ona odpowiednia. Często wybierana jest konfiguracja Release, która jest nieprzydatna przy debugowaniu programu i należy ją zmienić na Debug. Druga możliwość wyboru to konfiguracja RAM (dla programu ładowanego do pamięci RAM) oraz Flash.
Krok3: Definiowanie konfiguracji sprzętowego systemu docelowego
Krok3 umożliwia zdefiniowanie konfiguracji sprzętowej systemu docelowego dla projektu. Pole Connection pokazuje typ "none".
Kliknij na odnośnik kroku 3. W oknie dialogowym Debugger Configuration rozwiń listę i wybierz pozycję Texas Instruments XDS100v2 USB Emulator. Kliknij OK. Pole Connection pokazuje teraz typ Texas Instruments XDS100v2 USB Emulator. Zielony znaczek
pokazywany jest na prawo od linii nazwy kroku. Utworzony plik konfiguracji sprzętowej TMS320F28027.ccxml jest teraz pokazany w gałęzi targetConfigs drzewa projektu w oknie Project Explorer. Jest on ustawiony jako Active/Default (aktywny i domyślny).Ponownie trochę informacji o środowisku CCSv5.
Definiowanie konfiguracji sprzętowego systemu docelowego
Debugowanie projektu wymaga zdefiniowania konfiguracji sprzętowej systemu docelowego (target configuration setting). Konfiguracja systemu docelowego jest wpisywana do pliku w formacie XML z rozszerzeniem "ccxml". Konfiguracja określa niezależnie dwa elementy:
- Połączenie (connection) - określa typ emulatora lub symulatora.
- Docelowy układ/płytka - określa typ układu scalonego (układu procesorowego) lub strukturę płytki drukowanej.
Plik konfiguracji systemu docelowego musi być określony dla każdego indywidualnego projektu środowiska CCSv5.
Krok4: Uruchamianie sesji debugowej dla projektu Example_ F2802xLEDBlink
Krok4 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.
Kliknij na odnośnik kroku 4. Powoduje to automatyczne rozpoczęcie sesji debuggowej - podobnie jak po przyciśnięciu przycisku Debug.
Najpierw trochę nowych informacji o środowisku CCSv5.
Wykonanie budowania projektu z uruchomieniem sesji debugowej
Wykonanie w perspektywie CCS Edit polecenia Debug
powoduje wykonanie budowania inkrementacyjnego aktywnego projektu, uruchomienie debuggera, automatyczne dołączenie debuggera (connection) do docelowego układu procesorowego oraz załadowanie kodu wynikowego (programu) do pamięci wewnętrznej RAM/Flash układu procesorowego. Otwierana jest również perspektywa CCS Debug. Wykonanie tej operacji wymaga wcześniejszego utworzeniu sprzętowej konfiguracji docelowej i dołączenia układu sprzętowego z emulatorem sprzętowym do komputera. Załadowany programu jest uruchamiany i jego wykonywanie jest zatrzymywane na pierwszej instrukcji funkcji main().Perspektywa CCS Debug
Standardowa perspektywa CCS Debug środowiska CCSv5 jest automatycznie otwierana po uruchomieniu sesji debuggera. Po dołączeniu debuggera do układu procesorowego oraz po załadowaniu do układu procesorowego kodu programu typowo otwierane są okna Debug, Variables, Expressions oraz Registers oraz okno edytora z kodem źródłowym pliku zawierającego funkcję main(). Przy uruchamianiu projektu kolejny raz mogą być również otwierane inne okna, np. Disassembly.
Po lewej stronie okna edycyjnego jest pasek wyboru (Selection Margin). Gdy załadowany jest plik wynikowy programu do pamięci układu procesorowego i wykonywanie programu jest zatrzymane w obrębie kodu pokazywanego w oknie to na pasku wyboru pokazywana jest kolorowa strzałka. Jest ona powiązana z zawartością licznika rozkazów PC. Wskazuje na linię kodu języka C związanego z instrukcją (asemblerową) spod adresu w PC. Oznacza to następną (!) instrukcję po ostatnio wykonanej.
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.
Wgląd w projekt Example_ F2802xLEDBlink
1. Zauważ, że praca programu została zatrzymana na pierwszej linii kodu funkcji main() (rysunek 6).
2. Otwórz okno Disassembly z menu View → Disassembly. W tym oknie można dokładnie zobaczyć jak naprawdę pracuje układ procesorowy.
3. Zapoznaj się z komentarzem na początku pliku Example_ 2802xLEDBlink.c. Krótki opis projektu przykładowego oraz założenia i wymagania sprzętowe są zamieszczone na początku głównego pliku każdego projektu przykładowego z pakietu programowego controlSUITE.
4. Dodaj zmienną interruptCount do okna Expressions. Zaznacz zmienną (dwukliknij na nią) w oknie edytora. Kliknij na nią prawym klawiszem myszy i wybierz Add Watch Expression. Kliknij OK.
5. W oknie Registers rozwiń strukturę CPUTIMER. Zauważ losową zawartość rejestrów TIM, PRD, TCR oraz TPR.
6. W oknie Registers zaznacz (z klawiszem Shift) wszystkie rejestry modułu Timer0. Kliknij na nie prawym klawiszem myszy i zmień Number Format na Decimal.
7. W pliku Example_2802xLEDBlink.c kliknij (zaznacz) na linię 102 kodu TIMER_stop(myTimer);. Kliknij prawym klawiszem na zaznaczoną linię i wybierz pozycję Run to Line.
8. Program zostanie uruchomiony i zatrzymany na zaznaczonej linii kodu.
9. Kliknij na przycisk pracy krokowej Step Over
na pasku narzędziowym okna Debug.10. Przejdź w pracy krokowej cały kod inicjalizacji modułu CPU Timer0. Zauważ, że wywoływane funkcje są częścią biblioteki driverlib dołączonej do projektu. W oknie Registers obserwuj zmianę zawartości rejestrów modułu.
Opis modelu programowania procesora jest zamieszczony w dokumentach [10, 11] dostępnych w pakiecie controlSUITE w ścieżce f2802xv210doc. Opis modułu Timer0 jest zamieszczony w dokumentach [7, 9, 12].
11. Zapoznaj się z resztą kodu w pliku Example _2802xLEDBlink.c.
Uruchamianie projektu Example_ F2802xLEDBlink
12. W pliku Example_2802xLEDBlink.c przejdź do kodu funkcji cpu_timer0_isr(void) i ustaw pułapkę w linii 147 z kodem interruptCount++; (rys.7). Dwukliknij na linię po lewej stronie od numeru linii kodu.
13. Kliknij na przycisk Resume
na pasku narzędziowym okna Debug. Program zostanie uruchomiony i zatrzymany na pułapce (rys. 7).14. Sprawdź aktualną zawartość rejestrów modułu CPU Timer0 w oknie Registers.
15. Z menu Run -> Clock -> Enable włącz opcję zliczania okresów zegara systemowego "Counting Cycles". Zegar zostanie pokazany na pasku stanu perspektywy CCS Debug.
16. Kliknij na przycisk Resume
. Obserwuj wartość zmiennej interruptCount w oknie Expression oraz stan licznika cykli.17. Kliknij kilka razy na przycisk Resume
Podpowiedź: Dwukliknięcie na ikonę zegara powoduje wyzerowanie licznika cykli.
18. Usuń pułapkę. Dwukliknij na linię po lewej stronie od numeru linii kodu.
19. Kliknij na przycisk Resume
. Zaobserwuj błyskanie diod LED zestawu ewaluacyjnego.Zaprezentowane w artkule postępowanie pozwala na łatwe zapoznanie się ze środowiskiem programowym CCSv5 oraz z uruchamianiem przykładowych programów pakietu programowego controlSUITEv3. W następnych odcinkach cyklu będzie okazja zapoznać się dokładniej z programowaniem z użyciem biblioteki driverlib oraz z programowaniem pamięci Flash.
Henryk A. Kowalski
kowalski@ii.pw.edu.pl
Bibliografia
[1] "Zestaw ewaluacyjny C2000 Piccolo LaunchPad", EP 01/2013
[2] Code Composer Studio, strona produktu http://www.ti.com/ccs
[3] CCS, strona pobierania http://processors.wiki.ti.com/index.php/Download_CCS
[4] Witryna TI Embedded Processors Wiki http://processors.wiki.ti.com/index.php/Category:Code_Composer_Studio_v5
[5] myTI, strona rejestracji http://www.ti.com/myTI
[6] controlSUITE, strona pobierania http://www.ti.com/tool/controlsuite
[7] Henryk A. Kowalski, Procesory DSP dla praktyków, BTC, Warszawa, 2011 http://ii.pw.edu.pl/kowalski/dsp/book/
[8] Henryk A. Kowalski, Procesory DSP w przykładach, BTC, Warszawa, 2012 http://ii.pw.edu.pl/kowalski/dsp/book/
[9] TMS320F28027, TMS320F28026, TMS320F28023, TMS320F28022, TMS320-F28021, TMS320F280200, Piccolo Microcontrollers, Data Sheet, SPRS523I, 31 Jul 2012
[10] F2802x Firmware Development Package USER’S GUIDE v.210 [ f2802x-FRM-EX-UG.pdf], pakiet controlSUITE
[11] F2802x Peripheral Driver Library USER’S GUIDE v.210 [f2802x-DRL-UG.pdf], pakiet controlSUITE
[12] TMS320x2802x/TMS320F2802xx Piccolo System Control and Interrupts Reference Guide (Rev. C) 29 Oct 2009, [SPRUFN3C]
[13] controlSUITE Getting Started Guide (Rev. B), SPRUGU2B, 09 June 2011
Dodatkowe materiały znajdziesz na FTP
user: 32858, pass: 4285avne