Zestaw ewaluacyjny Tiva C Series TM4C123G LaunchPad

Zestaw ewaluacyjny Tiva C Series TM4C123G LaunchPad
Pobierz PDF Download icon
Procesory z rdzeniem ARM Cortex-M4 stały się wiodącymi standardowymi układami przemysłowymi produkowanymi praktycznie przez wszystkich producentów. Nowa seria procesorów Tiva firmy Texas Instruments z tym rdzeniem to układy typu system-on-chip (SOC) z silnie zintegrowanymi możliwościami interfejsu i obliczeń wykonane w technologii z procesem 65-nm. Łączą one najlepsze zalety patentowanych technologii zaawansowanych z procesorów rodziny MSP430 oraz C2000. Procesory Tiva oferują balans pomiędzy wydajnością zmiennoprzecinkowych obliczeń wymaganych w aplikacjach typu mixed-signal oraz architekturą typu low-power wymaganą w zastosowaniach o coraz niższym poziomie poboru mocy. Zestaw ewaluacyjny Tiva C Series TM4C123G LaunchPad (EK-TM4C123GXL) jest kompletną płytką do tworzenia i programowania systemów czasu rzeczywistego z procesorem TM4C123GH6PMI z rodziny Tiva C Series TM4C123x.

Rysunek 1. Schemat blokowy procesora z rodziny Tiva C Series TM4C123x [3]

Procesory Tiva C Series używają zmiennoprzecinkowego rdzenia ARM Cortex-M4F z 32-bitową architekturą typu Harvard umożliwiającą wykonywanie instrukcji dla przetwarzania sygnałów (DSP) oraz przetwarzania równoległego danych (SIMD). Układ umożliwia wykonywanie operacji "atomowych" na bitach oraz mnożenia i dzielenia w jednym cyklu instrukcyjnym. Układ zwiera rozbudowane układy PWM oraz detekcji kwadraturowej tworzące dwa moduły Motion Control [1, 4].

Obecnie dostępne są układy procesorów rodziny Tiva firmy Texas Instruments dwóch serii [3].

Seria TM4C123x rodziny Tiva ma następujące podstawowe parametry [1, 2]:

  • Rdzeń ARM Cortex-M4 z rozszerzeniem zmiennoprzecinkowym.
  • Taktowanie CPU do 80 MHz.
  • Do 256 kB Flash.
  • Do 32 kB SRAM oraz 2 kB EEPROM.
  • Dwa przetworniki 12-bitowe A/C z szybkością próbkowania to 1 MSPS.
  • Dwa kontrolery szyny CAN 2.0 A/B.
  • Kontroler full-speed USB 2.0 OTG/ Host/Device.
  • Do 40 wyjść PWM.
  • Moduły komunikacji szeregowej w tym: 8 modułów UART, 6 modułów I²Cs, 4 modułów SPI/SSI.
  • Inteligentny moduł zarządzania mocą zasilania, obniżenie poboru do 1.6 mA.
  • Moduł Hibernacji.

Schemat blokowy procesora serii TM4C123x pokazano na rysunku 1. Dobrze widoczne są własne moduły peryferyjne firmy Texas Instruments obudowane wokół standardowego rdzenia firmy ARM.

Seria TM4C129x rodziny Tiva charakteryzuje się następującymi parametrami dodatkowymi [3]:

  • Taktowanie CPU do 120 MHz.
  • Do 1 MB Flash.
  • Do 256 kB single cycle SRAM oraz 6 kB EEPROM.
  • Kontroler 10/100 Ethernet z wbudowanym MAC and PHY.
  • Kontroler LCD.
  • Kontroler AES, DES, SHA/MD5 oraz CRC do wspomagania kryptografii.
  • Dwa przetworniki 12-bitowe A/C z szybkością próbkowania to 2 MSPS.
  • Kontroler full-speed USB 2.0 OTG/Host/Device and high-speed USB ULPI interface.
  • Moduły komunikacji szeregowej w tym: 8 modułów UART, 10 modułów I²Cs, 4 moduły QSPI/SSI, moduł 1-Wire master.

Dokumentacja rodziny Tiva

Zapoznanie się z dokumentacją dotyczącą rodziny Tiva nie jest proste. Najlepiej o tym świadczy fakt uruchomienia specjalnej strony Wiki TI [12].

Najważniejszym dokumentem jest Tiva C Series TM4C123GH6PMI Microcontroller Data Sheet [1]. Jest to bardzo obszerny tekst (ponad 1400 stron) w którym zawarte są wszystkie potrzebne informacje dotyczące działania sprzętu. Zawiera dokładne i szczegółowe informacje o działaniu rdzenia i modułów peryferyjnych wraz z danymi elektrycznymi.

Opis sposobu programowania procesorów rodziny Tiva z użyciem darmowej biblioteki zwiera dokument TivaWare for C Series Peripheral Driver Library User's Guide [10]. Dalsze dokumenty są dostępne w folderze instalacyjnym pakietu TivaWare [13].

Zestawy sprzętowe

Dla obu serii procesorów rodziny Tiva dostępne są tanie zestawy ewaluacyjne i płytki rozszerzeń oraz droższe zestawy uruchomieniowe [3].

Zestawy ewaluacyjne:

  • Tiva C Series LaunchPad (EK-TM4C123GXL) Tania platform ewaluacyjna z procesorem TM4C123GH6PM (ARM Cortex-M4F) z rodziny Tiva C Series TM4C123x. Zawiera interfejs USB2.0 OTG/Host/Device, moduł hibernacyjny i przyciski.
  • Tiva C Series Connected LaunchPad (EK-TM4C1294XL) Pierwsza platforma ewaluacyjna z kompletnym interfejsem Ethernet MAC+PHY. Zawiera procesor Tiva C Series TM4C1294NCPDTI (120-MHz 32-bit ARM Cortex-M4) z rodziny Tiva C Series TM4C129.

Zestawy uruchomieniowe:

  • DK-TM4C123G Development Kit Zestaw uruchomieniowy z procesorem TM4C123GH6PGE (ARM Cortex-M4F, obudowa 144-LQFP). Zawiera kolorowy wyświetlacz OLED, gniazdko USB-OTG/Host/Device, gniazdko microSD, kontroler CAN, czujnik temperatury i 9-osiowy czujnik położenia.
  • DK-TM4C129X Connected Development Kit Zestaw uruchomieniowy z procesorem TM4C129XNCZAD (ARM Cortex-M4F, 120-MHz , obudowa 212 BGA).

Zawiera kompletny interfejs 10/100 Ethernet MAC + PHY, kolorowy wyświetlacz QVGA z interfejsem dotykowym, gniazdko USB-OTG/Host/Device, gniazdko microSD i kontroler CAN.

Zestaw ewaluacyjny Tiva C Series TM4C123G LaunchPad

Rysunek 2. Schemat blokowy zestawu ewaluacyjnego Tiva C Series TM4C123G LaunchPad [6]

Zestaw ewaluacyjny Tiva C Series TM4C123G Launch-Pad (EK-TM4C123GXL) jest kompletną płytką do tworzenia i programowania systemów czasu rzeczywistego z procesorem TM4C123GH6PMI z rodziny Tiva C Series TM4C123x z rdzeniem ARM Cortex-M4F [6, 7]. W pamięci Flash procesora jest zapisany przykładowy program demo Quickstart Application (qs-rgb) [7].

Płytka drukowana zawiera dwa układy elektroniczne: układ emulatora In-Circuit Debug Interface (ICDI) oraz układ procesorowy (rysunek 2). Emulator umożliwia debugowanie programu w czasie rzeczywistym. Dokładny opis zestawu jest zamieszczony w dokumencie SPMU296 [6]. Zawiera on pełny schemat płytki zestawu ewaluacyjnego.

Zestaw zawiera płytkę drukowaną z układem In-Circuit Debug Interface (ICDI) oraz układem procesorowym oraz kabel USB Micro-B - USB-A oraz opis Tiva C Series TM4C123G LaunchPad Evaluation Kit ReadMe First [6].

Zestaw ewaluacyjny Tiva C Series TM4C123G LaunchPad ma następujące parametry:

  • Procesor TM4C123GH6PMI w obudowie 64 wyprowadzeniowej LQFP.
  • Moduły PWM motion control.
  • Gniazdko USB Micro-A/B modułu USB do pracy w trybie device, host lub OTG.
  • Dioda RGB.
  • Dwa przyciski użytkownika.
  • Złącza rozszerzeń z sygnałami wyprowadzeń I/O procesora.
  • Układ In-Circuit Debug Interface (ICDI) na płytce.
  • Przełącznik wyboru źródła zasilania.
  • Przycisk RESET.
  • Przykładowy program demonstracyjny zapisany w pamięci Flash procesora .
  • Zasilanie: 4,75 V...5,25 V.
  • Wymiary: 5 mm×5,7 mm×10,8 mm.
  • Dostępne zasilanie na złączu rozszerzeń: 3,3 V/300 mA maks., 5 V od 23...323 mA.

Emulator In-Circuit Debug Interface (ICDI)

Rysunek 3. Elementy zestawu ewaluacyjnego Tiva C Series TM4C123G LaunchPad [6]

Górną część płytki (rysunek 3) aż do linii gniazdka USB Micro-A/B (J9) oraz przycisku RESET zajmuje układ emulatora sprzętowego ICDI. Jest tam zamontowane gniazdko standardu USB Micro-B (J1), liniowy regulator napięcia LDO (U8) zasilania 3,3 V, dioda LED (PWR) sygnalizacji zasilania 3,3 V oraz przełącznik SW3 (PWR Select) konfiguracji źródła zasilania układu procesorowego. Jako emulator sprzętowy ICDI oraz port UART jest stosowany drugi układ scalony TM4C123GH6PMI (U2). Jest to duży kwadrat znajdujący się po prawej stronie płytki.

Emulator ICDI umożliwia debugowanie i programowanie procesora TIVA przy zastosowaniu oprogramowania (np. LM Flash Programmer) obsługującego standard JTAG [6]. Sygnały TDI (PC2), TMS/SWDIO (PC1), TDO/SWO (PC3), TCK/SWCLK (PC0) łącza emulacyjnego JTAG układu procesorowego TM4C123GH6PM są dołączone bezpośrednio do układu scalonego realizującego emulator. Są one również dostępne na złączu umieszczonym obok przycisku RESET. Dodatkowo udostępniony jest sygnał ICDI_RSTn. Zewnętrzny emulator sprzętowy może być podłączony do Serial Wire Debug (SWD) and SWO (trace).

Układ scalony realizujący emulator pełni dodatkowo funkcję konwertera UART-USB. Do komunikacji używane są sygnały U0RX (PA0) i U0TX (PA1) procesora TM4C123GH6PM.

Rozdzielone zasilanie

Zestaw ewaluacyjny Tiva C Series TM4C123G Launch-Pad może być zasilany z jednego (tylko) z dwóch źródeł:

  • Tryb "Debug" - gniazdko USB Micro-B (J1) emulatora sprzętowego ICDI (u góry płytki).
  • Tryb "Device" - gniazdko USB Micro-A/B (J9) w części procesorowej (po lewej stronie płytki).

Wybór źródła zasilania płytki umożliwia przełącznik SW3 (PWR Select).

Przyciski

Przycisk SW1 jest dołączony do masy oraz wyprowadzenia PF4 układu procesorowego. Jeśli wyprowadzenie PF4 jest skonfigurowane jako wejście to przyciśnięcie SW1 powoduje wymuszenie na nim niskiego poziomu logicznego. Jednak taka konfiguracja jest niebezpieczna. Jeśli wyprowadzenie PF4 zostanie skonfigurowane jako wyjście (np. omyłkowo) to przyciśnięcie przycisku SW1 może spowodować uszkodzenie modułu GPIO dołączonego do tego wyprowadzenia lub uszkodzenie całego układu scalonego. Bezpieczniejszym rozwiązaniem jest zastosowanie rezystora (co najmniej 100 Ω) szeregowo z zasilaniem.

Przycisk SW2 jest dołączony do wyprowadzenia PF0 układu procesorowego oraz poprzez rezystor R8 (330 Ω) z wejściem /WAKE procesora. Przyciśnięcie przycisku SW2 powoduje zwarcie linii do masy i wymuszenie niskiego poziomu logicznego.

Przycisk RESET jest dołączony do rezystora podciągającego R28 (10 kΩ) z kondensatorem 100 nF oraz do wejścia RESETn procesora. Przyciśnięcie przycisku powoduje zwarcie linii do masy i wymuszenie niskiego poziomu logicznego.

Diody LED

Sygnały z wyprowadzeń PF1/2/3 układu procesorowego są dołączone do bazy tranzystorów Q1/2/3. Do kolektora każdego tranzystora dołączone są poprzez rezystory 330 Ω diody LED połączone z zasilaniem 3,3 V. Oznacza to, że diody świecą dla wysokiego poziomu logicznego na wyprowadzeniach PF1/2/3. Została zastosowana trójkolorowa dioda RGB w bardzo małej obudowie. Pomimo tego dioda świeci bardzo jasno. Dlatego należy chronić oczy przed uszkodzeniem podczas pracy.

Kwarce

Układ procesorowy TM4C123GH6PM (U1) używa zewnętrznego kwarcu 16 MHz (Y2) do generowania przebiegu zegara systemowego. Wewnętrzny układ PLL mnoży sygnał z kwarcu dla uzyskania wyższej częstotliwości dla rdzenia i układów peryferyjnych procesora. Moduł Hibernacji wykorzystuje zewnętrzny kwarc 32,768 kHz (Y1). Drugi układ scalony TM4C123GH6PMI (U2) zastosowany na płytce w emulatorze In-Circuit Debug Interface (ICDI) używa osobnego zewnętrznego kwarcu 16 MHz (Y5).

Reset

Sygnał /RESET (aktywny niskim poziomem) do wejścia /RESET procesora TM4C123GH6PM może być podany z trzech źródeł: układ Power-on-reset (opcjonalnie), przyciśnięcie przycisku RESET, sygnał z emulatora ICDI (opcjonalnie).

Moduł hibernacji

Procesor TM4C123GH6PMI zawiera moduł hibernacji, który wykorzystuje zewnętrzny kwarc 32,768 kHz. Moduł budzi procesor w przypadku sygnału z układu RTC oraz wejścia /WAKE. Przycisk SW2 jest dołączony do wejścia /WAKE procesora. Wejścia HIBn i /WAKE procesora są wyprowadzone na pojedyncze złącza w postaci metalizowanych otworów H1 i H21.

Złącza USB

Zestaw ewaluacyjny Tiva C Series TM4C123G Launch-Pad jest wyposażony w dwa gniazdka USB:

  • Gniazdko "Debug" USB Micro-B (J1), umieszczone u góry płytki - dołączone do emulatora sprzętowego ICDI.
  • Gniazdko "Device" USB Micro-A/B (J9) - umieszczone po lewej stronie płytki - dołączone do sterownika USB procesora TM4C123GH6PM.

Sterownik procesora umożliwia pracę w trybie device, host lub OTG. Przy zmianie trybu potrzebne są niewielkie zmiany montażu rezystorów na płytce zestawu. Przy pracy w trybie device zestaw może być zasilany z gniazdka "Device" lub z gniazdka "Debug". W pozostałych przypadkach należy dokładnie rozliczyć zapotrzebowanie mocy dla napięcia +5 V. Zmienia się ono w zależności od obciążenia obliczeniowego procesora oraz liczby i rodzaju dołączonych układów cyfrowych do jego wyprowadzeń (I/O). Typowo potrzebne jest dołączenie dodatkowego, zewnętrznego zasilacza.

Złącza rozszerzeń

Zestaw ewaluacyjny Tiva C Series TM4C123G Launch-Pad jest wykonany w standardzie 40-to wyprowadzeniowym XL Interface [6]. Po obu bokach płytki zainstalowane są cztery złącza rozszerzeń, 10-cio wyprowadzeniowe J1, J2, J3 i J4 standardu 2.54 mm. Są one zainstalowane na powierzchni górnej płytki (złącza męskie) oraz powierzchni dolnej (złącza żeńskie). Umożliwia to łatwe składanie płytek w stos. Złącza J1 i J2 są umieszczone na lewym i prawym brzegu płytki. Złącza J3 i J4 są umieszczone obok nich po stronie wewnętrznej.

Większość wyprowadzeń układu procesorowego TM4C123GH6PM jest dostępna na złączach rozszerzeń J1-4. Zasilanie 3.3 V jest dołączone do wyprowadzenia J1.1. Umożliwia to zasilanie zewnętrznych układów dołączanych do zestawu z tego samego napięcia, co układy wejścia/wyjścia (GPIO) procesora. Rozmieszczenie sygnałów na łączach J1 i J2 jest kompatybilne z zestawem MSP430 LaunchPad BoosterPack. Dokładne omówienie rozłożenia sygnałów na wszystkich złączach jest zamieszczone w [6]. Po dołączeniu do nich układów zewnętrznych należy uwzględnić wzrost poboru mocy zasilania na płytce.

Konfigurowanie wyprowadzeń procesora rodziny Tiva jest dosyć trudne. Do wyprowadzenia może być przypisana jedna z nawet 16-tu funkcji. Co więcej, dana funkcja może być przypisana tylko do jednego wyprowadzenia. Bardzo przydatna jest aplikacja graficzna Tiva C Series PinMux Utility, która pozwala na szybkie, intuicyjne i bezbłędne skonfigurowanie wyprowadzeń [11].

Moduły rozszerzeń BoosterPack

Do złącz rozszerzeń zestawu ewaluacyjnego Tiva C Series TM4C123G LaunchPad można dołączać różne moduły rozszerzeń. Ciekawym rozszerzeniem jest moduł Sensor Hub BoosterPack (BOOSTXL-SENSHUB). Zawiera on zestaw czujników dołączanych do szyny I²C procesora.

Sterowniki emulatora ICDI

Zestaw ewaluacyjny Tiva C Series TM4C123G Launch-Pad jest wyposażony we wbudowany układ In-Circuit Debug Interface (ICDI) który umożliwia programowanie i debugowanie procesora Tiva TM4C123GH6PM [6]. Układ ICDI obsługuje port JTAG procesora. Układ ICDI może być używany przez program LM Flash Programmer (TI) lub zintegrowane środowisko programowe [6].

Dostępny jest darmowy sterownik do pobrania z portalu TI [8]. Pobrany plik spmc016.zip należy wypakować do foldera na dysku komputera PC. Najbardziej odpowiedni jest folder w którym jest zainstalowany CCS. Typowo jest to c:\ti. Zostanie utworzony nowy folder C:\ti\stellaris_icdi_drivers zawierający potrzebne drajwery.

Po pierwszym dołączeniu zestawu ewaluacyjnego TM4C123G LaunchPad do komputera PC zostanie rozpoznane urządzenie kompozytowe. W menadżerze urządzeń systemu Windows zostaną pokazane trzy pozycje o tej samej nazwie: "In-Circuit Debug Interface". W systemie Windows 7 kliknij prawym klawiszem na pierwszą linię. Wybierz "Aktualizuj oprogramowanie sterownika". W opcjach wyszukiwania wskaż ścieżkę do zainstalowanych wcześniej sterowników. Powtórz te same postępowanie dla pozostałych dwóch linii.

Port COM

Po ponownym podłączeniu gniazdka USB Micro-B "Debug" zestawu TM4C123G LaunchPad kablem USB do komputera PC zestaw zostaje rozpoznany jako urządzenie złożone z pozycjami Stellaris ICDI DFU Device i Stellaris ICDI JTAG/SWD Intreface oraz wirtualny port szeregowy Stellaris Virtual Serial Port (COMxx).

Oprogramowanie narzędziowe

Do tworzenia oprogramowania pracującego na zestawie ewaluacyjnym TM4C123G LaunchPad można zastosować jedno z czterech zintegrowanych środowisk programowych: Code Composer Studio (Texas Instruments), Sourcery CodeBench (Mentor Embedded), IAR Embedded Workbench (IAR) lub Keil uVision (ARM). Wiele przykładowych projektów wymaga zastosowania do budowania projektu pełnych wersji środowiska.

Najłatwiej zainstalować darmowe pełne środowisko CCSv5.9.0 lub CCSv6.0.0. Jego aktualną pełną wersję można bezpłatnie pobrać z witryny internetowej http://goo.gl/bRwo5h firmy Texas Instruments. Jako ścieżkę instalacyjną należy wybrać domyślnie c:\ti.

Następnie należy pobrać i zainstalować pakiet programowy TivaWare for the EK-TM4C123GXL firmy Texas Instruments [9]. Po uruchomieniu pliku SW-TM4C-2.0.1.11577.exe jako ścieżkę instalacyjną należy wybrać domyślnie c:\ti. Pakiet zostanie zainstalowany w folderze C:\ti\TivaWare_C_Series-2.0.1.11577 (lub z nowszym numerem wersji).

Następnie można pobrać i zainstalować darmowy program LM Flash Programmer. Plik LMFlashProgrammer_1613.zip należy rozpakować. Potem należy uruchomić plik instalacyjny LMFlashProgrammer.msi i zainstalować program w domyślnej lokalizacji.

Pakiet programowy TivaWare

Pakiet programowy TivaWare for C Series zawiera kompletne oprogramowanie potrzebne do tworzenia kodu dla procesorów serii TM4C123x oraz TM4C129x [9]. Pakiet jest darmowy i kod jego bibliotek jest umieszczony w pamięci ROM każdego procesora. Oprogramowanie jest zrealizowane w języku C i umożliwia łatwe debugowanie i rozwój. Pakiet TivaWare zawiera biblioteki: Peripheral, USB, Graphics, Sensor, przykładowe projekty oraz zestaw dokumentacji [10]. Przykładowe projekty przeznaczone są dla obsługi zestawów uruchomieniowych i ewaluacyjnych oraz modułów peryferyjnych procesorów [13].

Po zainstalowaniu pakietu TivaWare (w domyślnej lokalizacji) dostępny jest duży zbiór projektów dla zestawu ewaluacyjnego Tiva C Series TM4C123G LaunchPad w folderze projektów przykładowych C:\ti\TivaWare_C_Series-2.0.1.11577\examples\boards\ek-tm4c123gxl\.

Warsztaty

Bardzo ciekawą pomocą dla każdego, który zaczyna pracować z procesorami rodziny Tiva są ćwiczenia warsztatowe Getting Started with the TIVA C Series TM4C123G LaunchPad dostępne bezpłatnie na stronie Wiki TI [5]. Dostępny jest komplet materiałów: podręcznik uczestnika kursu, slajdy prezentacji, pliki źródłowe do ćwiczeń oraz kompletny zapis wideo kursu. Ćwiczenia są wykonywane z użyciem zestawu ewaluacyjnego Tiva C Series TM4C123G LaunchPad oraz dodatkowych płytek rozszerzeń. Obejmują większość zagadnień potrzebnych do programowania procesorów rodziny Tiva.

Program demo Quickstart Application

Rysunek 4. Ustawianie parametrów transmisji dla aplikacji qs-rgb

W pamięci Flash procesora TM4C123GH6PMI zestawu jest zapisany przykładowy program demo Quickstart Application (qs-rgb) [13]. Pełny projekt qs-rgb jest dostępny w folderze \qs-rgb projektów przykładowych pakietu TivaWare.

  • Ustaw przełącznik SW3 (PWR Select) w prawej pozycji "Debug". Przed pierwszym dołączeniem zestawu ewaluacyjnego do portu USB na komputerze PC trzeba wcześniej zainstalować sterowniki dla emulatora IDCI. Gniazdko "Debug" USB Micro-B (J1), umieszczone u góry płytki, dołącz kablem USB Micro-B - USB-A do wolnego portu USB komputera PC.
  • Dioda D4 zacznie świecić sygnalizując dostarczenie zasilania do płytki zestawu. Dioda RGB D1 zaczyna wyświetlać sekwencję kolorów tęczy. Przyciśnięcie lewego przycisku SW1 powoduje zatrzymanie sekwencji. Ponowne przyciśnięcie tego przycisku powoduje wyświetlenie następnego koloru sekwencji w kierunku koloru czerwonego. Przyciśniecie i przytrzymanie lewego przycisku SW1 powoduje szybkie wyświetlanie sekwencji w kierunku koloru czerwonego. Przyciśnięcie prawego przycisku SW2 powoduje zatrzymanie sekwencji. Ponowne przyciśnięcie tego przycisku powoduje wyświetlenie następnego koloru sekwencji w kierunku koloru fioletowego. Przyciśniecie i przytrzymanie prawego przycisku SW1 powoduje szybkie wyświetlanie sekwencji w kierunku koloru fioletowego. Pozostawienie płytki bez przyciskania przez 5 sekund powoduje powrót do wyświetlania podstawowej sekwencji kolorów tęczy. Jednoczesne przyciśnięcie lewego i prawego przycisku przez 3 sekundy w prowadza procesor TM4C123GH6PMI w stan hibernacji. Program potwierdza wejście w ten tryb pracy krótkim błyśnięciem. W tym trybie co 3 sekundy procesor zostaje wybudzony, program błyska ostatnio wyświetlanym kolorem przez 0.5 sekundy i ponownie wchodzi w stan hibernacji. Przyciśnięcie i przytrzymanie przycisku RESET powoduje zawieszenie działania programu na ten czas. Nie powoduje ponownego bootowania procesora. Jedynie przyciśnięcie przycisku RESET w trakcie wybudzenia procesora powoduje ponowne wystartowanie przykładowego programu. Przyciśnięcie prawego przycisku SW2 (połączonego z wejściem /WAKE procesora) powoduje powrót do wyświetlania podstawowej sekwencji kolorów tęczy.

Rysunek 5. Informacje wyświetlane przez aplikację qs-rgb

Dodatkowo, program przykładowy wysyła informacje poprzez port szeregowy układu procesorowego typu UART. Aby je wykorzystać należy najpierw zidentyfikować numer wirtualnego portu COM. W tym celu należy kliknąć prawym klawiszem myszy na Mój komputer (np. w menu Start). Wybrać Właściwości a następnie Sprzęt oraz Menedżer urządzeń. Na liście Porty (COM i LPT) należy znaleźć port o nazwie Stellaris Virtual Serial Port (COMxx), gdzie xx jest numerem.

Program przykładowy był uruchamiany z obsługą komunikacji na PC poprzez program PuTTY (do pobrania darmowo ze strony http://www.putty.org). Poprawna praca wymaga ustawienia parametrów komunikacji 115200 8N1. Po uruchomieniu programu PuTTY wybierz typ połączenia Serial a następnie wpisz poprawny numer portu COMxx oraz szybkość transmisji i kliknij Open (rysunek 4).

Na razie w oknie programu PuTTY jest pusto. Po przyciśnięciu klawisza Enter zostanie wyświetlony kursor ">" (i napis "Bad command"). Opis poleceń znajduje się w pliku readmi.txt w folderze projektu qs-rgb. Dostępne polecenia:

  • 'help' powoduje wyświetlenie listy poleceń z krótkim opisem.
  • 'intensity' ze spacją i numerem od 0 do 100 ustawia jasność świecenia jako procent jasności maksymalnej.
  • 'rgb' ze spacją i sześcioma cyframi w notacji hex ustawia kolor wyświetlania, np. 'rgb ff0000' powoduje wyświetlanie w kolorze czerwonym. Po około 5 sekundach program powraca do wyświetlania podstawowej sekwencji kolorów tęczy.
  • 'hib' powoduje prowadzenie procesora TM4C123GH6PMI w stan hibernacji. Jedynym sposobem powrotu do do wyświetlania podstawowej sekwencji jest przyciśnięcie prawego przycisku SW2.
  • 'rand' powoduje rozpoczęcie wyświetlanie sekwencji kolorów w kolejności pseudolosowej. Nie wiadomo jak powrócić do wyświetlania sekwencji kolorów tęczy.

Próby pokazały, że aplikacja qs-rgb wysyła informację przed wejściem procesora w stan hibernacji (rysunek 5). Aplikacja qs-rgb po wybudzeniu procesora wysyła informację o przyczynie wybudzenia. Również w przypadku wystąpienia operacji Reset jest wysyłana informacja.

Debugowanie projektów w środowisku CCSv5

Rysunek 6. Importowanie biblioteki driverlib.

Projekty przykładowe dla zestawu ewaluacyjnego Tiva C Series TM4C123G LaunchPad są dostępne w folderze projektów przykładowych pakietu TivaWare [13]. Dostępnych jest 14 kompletnych projektów, każdy dla czterech środowisk programowych: Code Composer Studio v5.x (Texas Instruments), Sourcery CodeBench (Mentor Embedded), IAR Embedded Workbench (IAR) oraz Keil uVision (ARM). Najłatwiej jest zastosować darmowe pełne środowisko CCSv5.

1. Ustaw przełącznik SW3 (PWR Select) w prawej pozycji "Debug". Kablem USB podłącz gniazdko USB Micro- -B "Debug" zestawu TM4C123G LaunchPad do wolnego portu USB komputera PC.

2. Uruchom środowisko CCSv5.

3. W oknie Workspace wpisz ścieżkę i nazwę foldera roboczego. Dla indywidualnej pracy jest proponowana ścieżka <C:/home_dir>. Dla tego ćwiczenia proponowana jest ścieżka <C:/home_dir/work_rgb>.

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 w prawym dolnym rogu okna.

Najpierw trzeba importować biblioteki: driver, graphics (opcjonalnie) oraz usb.

4. Zamknij okno TI Resource Explorer.

5. Z menu Project wybierz pozycję Import Existing CCS Eclipse Project.

6. W otworzonym oknie kliknij na przycisk Browse, wskaż ścieżkę C:\ti\TivaWare_C_Series-2.0.1.11577\driverlib. Kliknij OK.

7. W nowym oknie (rysunek 6) zauważ, że NIE jest wybrana opcja Copy projects into workspace. Oznacza to, że pliki źródłowe i wynikowe projektu pozostaną w lokalizacji początkowej. Kliknij na przycisk Finish.

8. Ponownie z menu Project wybierz pozycję Import Existing CCS Eclipse Project.

9. W otworzonym oknie kliknij na przycisk Browse, wskaż ścieżkę C:\ti\TivaWare_C_Series-2.0.1.11577\ usblib. Kliknij OK. Kliknij na przycisk Finish.

10. Jeszcze raz z menu Project wybierz pozycję Import Existing CCS Eclipse Project.

11. W otworzonym oknie kliknij na przycisk Browse, wskaż ścieżkę C:\ti\TivaWare_C_Series-2.0.1.11577\grlib. Kliknij OK. Kliknij na przycisk Finish.

Rysunek 7. Importowanie przykładowych projektów

Zaimportuj przykładowe projekty dla zestawu ewaluacyjnego Tiva C Series TM4C123G LaunchPad.

12. Z menu Project wybierz pozycję Import Existing CCS Eclipse Project.

13. W otworzonym oknie kliknij na przycisk Browse, wskaż ścieżkę C:\ti\TivaWare_C_Series-2.0.1.11577\ examples\boards\ek-tm4c123gxl. Kliknij OK.

14. Zaznacz opcję Copy projects into workspace. Kliknij na przycisk Select All. Upewnij się, że wszystkie projekty przykładowe są zaznaczone (rysunek 7).

15. Kliknij na przycisk Finish.

16. W oknie Project Explorer kliknij prawym klawiszem myszy na linię nazwy projektu qs-rgb. Zauważ, że jako aktywna została ustawiona konfiguracja Debug.

17. Wykonaj samo budowanie projektu bez startowania sesji debugowej. Kliknij na przycisk Build .

Rysunek 8. Okno środowiska CCSv5 po wykonaniu budowania projektu qs-rgb.

Budowanie projektu gs-rgb zostało zakończone poprawnie (rysunek 8). Został utworzony ładowalny plik wynikowy qs-rgb.out oraz plik binarny qs-rgb.bin (okno Console). Pliki są umieszczone w folderze C:\home_dir\ work_rgb\qs-rgb\Debug foldera roboczego projektu qs-rgb. Zostało zgłoszone jedno nieistotne ostrzeżenie (okno Problems).

18. Wykonaj polecenie Debug .

Powoduje to 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. Załadowany programu jest uruchamiany i jego wykonywanie jest zatrzymywane na pierwszej instrukcji funkcji main().

19. W celu uruchomienia programu kliknij na przycisk Resume . Obserwuj stan diody RGB.

W taki sam sposób można załadować do zestawu i uruchomić inne przykładowe projekty.

Programowanie procesora

Rysunek 9. Okno programu LM Flash Programmer

Przykładowe projekty pakietu TivaWare zawierają gotowe pliki binarne do programowania procesora. Do programowania można zastosować program LM Flash Programmer [6].

1. Ustaw przełącznik SW3 (PWR Select) w prawej pozycji "Debug". Kablem USB podłącz gniazdko USB Micro-B "Debug" zestawu TM4C123G LaunchPad do wolnego portu USB komputera PC. Upewnij się, że środowisko CCSv5 nie jest uruchomione i dołączone do zestawu.

2. Uruchom program LM Flash Programmer.

3. Na zakładce Configuration w polu Quick Set wybierz zestaw TM4C123G LaunchPad.

4. Na zakładce Program kliknij na Browse i wskaż plik binarny wybranego projektu w ścieżce C:\ti\TivaWare_C_ Series-2.0.1.11577\examples\boards\ek-tm4c123gxl\qs-rgb\ccs\Debug\ qs-rgb.bin.

5. Wybierz opcję Erase Necessary Page oraz Verify After Program oraz Reset MCU After Program. (rysunek 9).

6. Kliknij na przycisk Program. Po zakończeniu pracy zostanie na pasku stanu wyświetlona informacja Verify Complete - Passed.

Po zainstalowaniu oprogramowania narzędziowego i dołączeniu płytki zestawu ewaluacyjnego Tiva C Series TM4C123G LaunchPad do portu USB komputera, użytkownik może zająć się tworzeniem systemów czasu rzeczywistego dla różnych zastosowań: oświetlenie, sterowanie silników, inteligentne budynki, akwizycja danych i wielu innych.

Henryk A. Kowalski
kowalski@ii.pw.edu.pl

Literatura
[1] Tiva C Series TM4C123GH6PM Microcontroller Data Sheet, 03 Mar 2014, SPMS376D
[2] System Design Guidelines for the TM4C123x Family of Tiva C Series MCUs, 31 Jul 2013, SPMA059
[3] Tiva C Series ARM Microcontrollers, 26 Feb 2014, SPMT285C
[4] An Introduction to the Tiva C Series Platform of Microcontrollers, 12 Apr 2013, SPMY010
[5] Getting Started with the TIVA C Series TM4C123G LaunchPad Workshop Revision 1.22, November 2013
[6] Tiva C Series TM4C123G LaunchPad Evaluation Kit User's Manual, 15 Apr 2013, SPMU296
[7] Tiva C Series TM4C123G LaunchPad Evaluation Kit ReadMe First, 28 Mar 2013, SPMU28A
[8] Stellaris ICDI Drivers, SPMU287C
[9] Tiva C Series LaunchPad Evaluation Board Sof tware, SWEK- TM4C123GXL (TivaWare)
[10] TivaWare Peripheral Driver Library for C Series User's Guide, 28 Mar 2013, SPMU298
[11] Tiva C Series PinMux Utility, 20 May 2013, SPMT279A
[12] Reading Tiva C Series Documentation http://goo.gl/ M4S9gp
[13] EK-TM4C123GXL Firmware Development Package, USER'S GUIDE, October 08, 2013 SW-EK-TM4C123GXLUG- 2.0.1.11577.pdf

<div class="img_caption right"><a class="highslide " onclick="return hs.expand(this)" href="/../../../cache/images/norm/2/6/2/c3JjPS9pbWFnZXMvbm9ybS8yLzYvMi8xMTI2MnRpdmFfcnlzXzEuanBnJnc9NTE2Jmg9NDM1_src51db99e9dc809fb559df2fb862588649.jpg"><img style="float: right;" src="/../../../cache/images/norm/2/6/2/c3JjPS9pbWFnZXMvbm9ybS8yLzYvMi8xMTI2MnRpdmFfcnlzXzEuanBnJnc9MzAwJmg9MjUz_src51db99e9dc809fb559df2fb862588649.jpg" alt="" /></a>
<p style="width: 304px;">Rysunek 1. Schemat blokowy procesora z rodziny Tiva C Series TM4C123x [3]</p>
</div>
<p>Procesory Tiva C Series używają zmiennoprzecinkowego rdzenia ARM Cortex-M4F z 32-bitową architekturą typu Harvard umożliwiającą wykonywanie instrukcji dla przetwarzania sygnał&oacute;w (DSP) oraz przetwarzania r&oacute;wnoległego danych (SIMD). Układ umożliwia wykonywanie operacji "atomowych" na bitach oraz mnożenia i dzielenia w jednym cyklu instrukcyjnym. Układ zwiera rozbudowane układy PWM oraz detekcji kwadraturowej tworzące dwa moduły Motion Control [1, 4].</p>
<p>Obecnie dostępne są układy procesor&oacute;w rodziny Tiva firmy Texas Instruments dw&oacute;ch serii [3].</p>
<p>Seria TM4C123x rodziny Tiva ma następujące podstawowe parametry [1, 2]:</p>
<ul>
<li>Rdzeń ARM Cortex-M4 z rozszerzeniem zmiennoprzecinkowym. </li>
<li>Taktowanie CPU do 80 MHz. </li>
<li>Do 256 kB Flash. </li>
<li>Do 32 kB SRAM oraz 2 kB EEPROM. </li>
<li>Dwa przetworniki 12-bitowe A/C z szybkością pr&oacute;bkowania to 1 MSPS. </li>
<li>Dwa kontrolery szyny CAN 2.0 A/B. </li>
<li>Kontroler full-speed USB 2.0 OTG/ Host/Device. </li>
<li>Do 40 wyjść PWM. </li>
<li>Moduły komunikacji szeregowej w tym: 8 moduł&oacute;w UART, 6 moduł&oacute;w I&sup2;Cs, 4 moduł&oacute;w SPI/SSI. </li>
<li>Inteligentny moduł zarządzania mocą zasilania, obniżenie poboru do 1.6 mA. </li>
<li>Moduł Hibernacji.</li>
</ul>
<p>Schemat blokowy procesora serii TM4C123x pokazano na rysunku 1. Dobrze widoczne są własne moduły peryferyjne firmy Texas Instruments obudowane wok&oacute;ł standardowego rdzenia firmy ARM.</p>
<p>Seria TM4C129x rodziny Tiva charakteryzuje się następującymi parametrami dodatkowymi [3]:</p>
<ul>
<li>Taktowanie CPU do 120 MHz. </li>
<li>Do 1 MB Flash. </li>
<li>Do 256 kB single cycle SRAM oraz 6 kB EEPROM. </li>
<li>Kontroler 10/100 Ethernet z wbudowanym MAC and PHY. </li>
<li>Kontroler LCD. </li>
<li>Kontroler AES, DES, SHA/MD5 oraz CRC do wspomagania kryptografii. </li>
<li>Dwa przetworniki 12-bitowe A/C z szybkością pr&oacute;bkowania to 2 MSPS. </li>
<li>Kontroler full-speed USB 2.0 OTG/Host/Device and high-speed USB ULPI interface. </li>
<li>Moduły komunikacji szeregowej w tym: 8 moduł&oacute;w UART, 10 moduł&oacute;w I&sup2;Cs, 4 moduły QSPI/SSI, moduł 1-Wire master.</li>
</ul>
<h5>Dokumentacja rodziny Tiva</h5>
<p>Zapoznanie się z dokumentacją dotyczącą rodziny Tiva nie jest proste. Najlepiej o tym świadczy fakt uruchomienia specjalnej strony Wiki TI [12].</p>
<p>Najważniejszym dokumentem jest Tiva C Series TM4C123GH6PMI Microcontroller Data Sheet [1]. Jest to bardzo obszerny tekst (ponad 1400 stron) w kt&oacute;rym zawarte są wszystkie potrzebne informacje dotyczące działania sprzętu. Zawiera dokładne i szczeg&oacute;łowe informacje o działaniu rdzenia i moduł&oacute;w peryferyjnych wraz z danymi elektrycznymi.</p>
<p>Opis sposobu programowania procesor&oacute;w rodziny Tiva z użyciem darmowej biblioteki zwiera dokument TivaWare for C Series Peripheral Driver Library User's Guide [10]. Dalsze dokumenty są dostępne w folderze instalacyjnym pakietu TivaWare [13].</p>
<h5>Zestawy sprzętowe</h5>
<p>Dla obu serii procesor&oacute;w rodziny Tiva dostępne są tanie zestawy ewaluacyjne i płytki rozszerzeń oraz droższe zestawy uruchomieniowe [3].</p>
<h5>Zestawy ewaluacyjne:</h5>
<ul>
<li>Tiva C Series LaunchPad (EK-TM4C123GXL) Tania platform ewaluacyjna z procesorem TM4C123GH6PM (ARM Cortex-M4F) z rodziny Tiva C Series TM4C123x. Zawiera interfejs USB2.0 OTG/Host/Device, moduł hibernacyjny i przyciski. </li>
<li>Tiva C Series Connected LaunchPad (EK-TM4C1294XL) Pierwsza platforma ewaluacyjna z kompletnym interfejsem Ethernet MAC+PHY. Zawiera procesor Tiva C Series TM4C1294NCPDTI (120-MHz 32-bit ARM Cortex-M4) z rodziny Tiva C Series TM4C129.</li>
</ul>
<h5>Zestawy uruchomieniowe:</h5>
<ul>
<li>DK-TM4C123G Development Kit Zestaw uruchomieniowy z procesorem TM4C123GH6PGE (ARM Cortex-M4F, obudowa 144-LQFP). Zawiera kolorowy wyświetlacz OLED, gniazdko USB-OTG/Host/Device, gniazdko microSD, kontroler CAN, czujnik temperatury i 9-osiowy czujnik położenia. </li>
<li>DK-TM4C129X Connected Development Kit Zestaw uruchomieniowy z procesorem TM4C129XNCZAD (ARM Cortex-M4F, 120-MHz , obudowa 212 BGA).</li>
</ul>
<p>Zawiera kompletny interfejs 10/100 Ethernet MAC + PHY, kolorowy wyświetlacz QVGA z interfejsem dotykowym, gniazdko USB-OTG/Host/Device, gniazdko microSD i kontroler CAN.</p>
<h5>Zestaw ewaluacyjny Tiva C Series TM4C123G LaunchPad</h5>
<div class="img_caption right"><a class="highslide " onclick="return hs.expand(this)" href="/../../../cache/images/norm/2/6/3/c3JjPS9pbWFnZXMvbm9ybS8yLzYvMy8xMTI2M3RpdmFfcnlzXzIuanBnJnc9NTE2Jmg9NjE5_src3127c1ba998360528f700369eea6fc7b.jpg"><img style="float: right;" src="/../../../cache/images/norm/2/6/3/c3JjPS9pbWFnZXMvbm9ybS8yLzYvMy8xMTI2M3RpdmFfcnlzXzIuanBnJnc9MzAwJmg9MzYw_src3127c1ba998360528f700369eea6fc7b.jpg" alt="" /></a>
<p style="width: 304px;">Rysunek 2. Schemat blokowy zestawu ewaluacyjnego Tiva C Series TM4C123G LaunchPad [6]</p>
</div>
<p>Zestaw ewaluacyjny Tiva C Series TM4C123G Launch-Pad (EK-TM4C123GXL) jest kompletną płytką do tworzenia i programowania system&oacute;w czasu rzeczywistego z procesorem TM4C123GH6PMI z rodziny Tiva C Series TM4C123x z rdzeniem ARM Cortex-M4F [6, 7]. W pamięci Flash procesora jest zapisany przykładowy program demo Quickstart Application (qs-rgb) [7].</p>
<p>Płytka drukowana zawiera dwa układy elektroniczne: układ emulatora In-Circuit Debug Interface (ICDI) oraz układ procesorowy (rysunek 2). Emulator umożliwia debugowanie programu w czasie rzeczywistym. Dokładny opis zestawu jest zamieszczony w dokumencie SPMU296 [6]. Zawiera on pełny schemat płytki zestawu ewaluacyjnego.</p>
<p>Zestaw zawiera płytkę drukowaną z układem In-Circuit Debug Interface (ICDI) oraz układem procesorowym oraz kabel USB Micro-B - USB-A oraz opis Tiva C Series TM4C123G LaunchPad Evaluation Kit ReadMe First [6].</p>
<p>Zestaw ewaluacyjny Tiva C Series TM4C123G LaunchPad ma następujące parametry:</p>
<ul>
<li>Procesor TM4C123GH6PMI w obudowie 64 wyprowadzeniowej LQFP. </li>
<li>Moduły PWM motion control. </li>
<li>Gniazdko USB Micro-A/B modułu USB do pracy w trybie device, host lub OTG. </li>
<li>Dioda RGB. </li>
<li>Dwa przyciski użytkownika. </li>
<li>Złącza rozszerzeń z sygnałami wyprowadzeń I/O procesora. </li>
<li>Układ In-Circuit Debug Interface (ICDI) na płytce. </li>
<li>Przełącznik wyboru źr&oacute;dła zasilania. </li>
<li>Przycisk RESET. </li>
<li>Przykładowy program demonstracyjny zapisany w pamięci Flash procesora . </li>
<li>Zasilanie: 4,75 V...5,25 V. </li>
<li>Wymiary: 5 mm&times;5,7 mm&times;10,8 mm. </li>
<li>Dostępne zasilanie na złączu rozszerzeń: 3,3 V/300 mA maks., 5 V od 23...323 mA.</li>
</ul>
<h5>Emulator In-Circuit Debug Interface (ICDI)</h5>
<div class="img_caption right"><a class="highslide " onclick="return hs.expand(this)" href="/../../../cache/images/norm/2/6/4/c3JjPS9pbWFnZXMvbm9ybS8yLzYvNC8xMTI2NHRpdmFfcnlzXzMuanBnJnc9OTAwJmg9NzM5_src5a5d82c3aa12e40858be76d86d47bd00.jpg"><img style="float: right;" src="/../../../cache/images/norm/2/6/4/c3JjPS9pbWFnZXMvbm9ybS8yLzYvNC8xMTI2NHRpdmFfcnlzXzMuanBnJnc9MzAwJmg9MjQ2_src5a5d82c3aa12e40858be76d86d47bd00.jpg" alt="" /></a>
<p style="width: 304px;">Rysunek 3. Elementy zestawu ewaluacyjnego Tiva C Series TM4C123G LaunchPad [6]</p>
</div>
<p>G&oacute;rną część płytki (rysunek 3) aż do linii gniazdka USB Micro-A/B (J9) oraz przycisku RESET zajmuje układ emulatora sprzętowego ICDI. Jest tam zamontowane gniazdko standardu USB Micro-B (J1), liniowy regulator napięcia LDO (U8) zasilania 3,3 V, dioda LED (PWR) sygnalizacji zasilania 3,3 V oraz przełącznik SW3 (PWR Select) konfiguracji źr&oacute;dła zasilania układu procesorowego. Jako emulator sprzętowy ICDI oraz port UART jest stosowany drugi układ scalony TM4C123GH6PMI (U2). Jest to duży kwadrat znajdujący się po prawej stronie płytki.</p>
<p>Emulator ICDI umożliwia debugowanie i programowanie procesora TIVA przy zastosowaniu oprogramowania (np. LM Flash Programmer) obsługującego standard JTAG [6]. Sygnały TDI (PC2), TMS/SWDIO (PC1), TDO/SWO (PC3), TCK/SWCLK (PC0) łącza emulacyjnego JTAG układu procesorowego TM4C123GH6PM są dołączone bezpośrednio do układu scalonego realizującego emulator. Są one r&oacute;wnież dostępne na złączu umieszczonym obok przycisku RESET. Dodatkowo udostępniony jest sygnał ICDI_RSTn. Zewnętrzny emulator sprzętowy może być podłączony do Serial Wire Debug (SWD) and SWO (trace).</p>
<p>Układ scalony realizujący emulator pełni dodatkowo funkcję konwertera UART-USB. Do komunikacji używane są sygnały U0RX (PA0) i U0TX (PA1) procesora TM4C123GH6PM.</p>
<h5>Rozdzielone zasilanie</h5>
<p>Zestaw ewaluacyjny Tiva C Series TM4C123G Launch-Pad może być zasilany z jednego (tylko) z dw&oacute;ch źr&oacute;deł:</p>
<ul>
<li>Tryb "Debug" - gniazdko USB Micro-B (J1) emulatora sprzętowego ICDI (u g&oacute;ry płytki). </li>
<li>Tryb "Device" - gniazdko USB Micro-A/B (J9) w części procesorowej (po lewej stronie płytki).</li>
</ul>
<p>Wyb&oacute;r źr&oacute;dła zasilania płytki umożliwia przełącznik SW3 (PWR Select).</p>
<h5>Przyciski</h5>
<p>Przycisk SW1 jest dołączony do masy oraz wyprowadzenia PF4 układu procesorowego. Jeśli wyprowadzenie PF4 jest skonfigurowane jako wejście to przyciśnięcie SW1 powoduje wymuszenie na nim niskiego poziomu logicznego. Jednak taka konfiguracja jest niebezpieczna. Jeśli wyprowadzenie PF4 zostanie skonfigurowane jako wyjście (np. omyłkowo) to przyciśnięcie przycisku SW1 może spowodować uszkodzenie modułu GPIO dołączonego do tego wyprowadzenia lub uszkodzenie całego układu scalonego. Bezpieczniejszym rozwiązaniem jest zastosowanie rezystora (co najmniej 100 &Omega;) szeregowo z zasilaniem.</p>
<p>Przycisk SW2 jest dołączony do wyprowadzenia PF0 układu procesorowego oraz poprzez rezystor R8 (330 &Omega;) z wejściem /WAKE procesora. Przyciśnięcie przycisku SW2 powoduje zwarcie linii do masy i wymuszenie niskiego poziomu logicznego.</p>
<p>Przycisk RESET jest dołączony do rezystora podciągającego R28 (10 k&Omega;) z kondensatorem 100 nF oraz do wejścia RESETn procesora. Przyciśnięcie przycisku powoduje zwarcie linii do masy i wymuszenie niskiego poziomu logicznego.</p>
<h5>Diody LED</h5>
<p>Sygnały z wyprowadzeń PF1/2/3 układu procesorowego są dołączone do bazy tranzystor&oacute;w Q1/2/3. Do kolektora każdego tranzystora dołączone są poprzez rezystory 330 &Omega; diody LED połączone z zasilaniem 3,3 V. Oznacza to, że diody świecą dla wysokiego poziomu logicznego na wyprowadzeniach PF1/2/3. Została zastosowana tr&oacute;jkolorowa dioda RGB w bardzo małej obudowie. Pomimo tego dioda świeci bardzo jasno. Dlatego należy chronić oczy przed uszkodzeniem podczas pracy.</p>
<h5>Kwarce</h5>
<p>Układ procesorowy TM4C123GH6PM (U1) używa zewnętrznego kwarcu 16 MHz (Y2) do generowania przebiegu zegara systemowego. Wewnętrzny układ PLL mnoży sygnał z kwarcu dla uzyskania wyższej częstotliwości dla rdzenia i układ&oacute;w peryferyjnych procesora. Moduł Hibernacji wykorzystuje zewnętrzny kwarc 32,768 kHz (Y1). Drugi układ scalony TM4C123GH6PMI (U2) zastosowany na płytce w emulatorze In-Circuit Debug Interface (ICDI) używa osobnego zewnętrznego kwarcu 16 MHz (Y5).</p>
<h5>Reset</h5>
<p>Sygnał /RESET (aktywny niskim poziomem) do wejścia /RESET procesora TM4C123GH6PM może być podany z trzech źr&oacute;deł: układ Power-on-reset (opcjonalnie), przyciśnięcie przycisku RESET, sygnał z emulatora ICDI (opcjonalnie).</p>
<h5>Moduł hibernacji</h5>
<p>Procesor TM4C123GH6PMI zawiera moduł hibernacji, kt&oacute;ry wykorzystuje zewnętrzny kwarc 32,768 kHz. Moduł budzi procesor w przypadku sygnału z układu RTC oraz wejścia /WAKE. Przycisk SW2 jest dołączony do wejścia /WAKE procesora. Wejścia HIBn i /WAKE procesora są wyprowadzone na pojedyncze złącza w postaci metalizowanych otwor&oacute;w H1 i H21.</p>
<h5>Złącza USB</h5>
<p>Zestaw ewaluacyjny Tiva C Series TM4C123G Launch-Pad jest wyposażony w dwa gniazdka USB:</p>
<ul>
<li>Gniazdko "Debug" USB Micro-B (J1), umieszczone u g&oacute;ry płytki - dołączone do emulatora sprzętowego ICDI. </li>
<li>Gniazdko "Device" USB Micro-A/B (J9) - umieszczone po lewej stronie płytki - dołączone do sterownika USB procesora TM4C123GH6PM.</li>
</ul>
<p>Sterownik procesora umożliwia pracę w trybie device, host lub OTG. Przy zmianie trybu potrzebne są niewielkie zmiany montażu rezystor&oacute;w na płytce zestawu. Przy pracy w trybie device zestaw może być zasilany z gniazdka "Device" lub z gniazdka "Debug". W pozostałych przypadkach należy dokładnie rozliczyć zapotrzebowanie mocy dla napięcia +5 V. Zmienia się ono w zależności od obciążenia obliczeniowego procesora oraz liczby i rodzaju dołączonych układ&oacute;w cyfrowych do jego wyprowadzeń (I/O). Typowo potrzebne jest dołączenie dodatkowego, zewnętrznego zasilacza.</p>
<h5>Złącza rozszerzeń</h5>
<p>Zestaw ewaluacyjny Tiva C Series TM4C123G Launch-Pad jest wykonany w standardzie 40-to wyprowadzeniowym XL Interface [6]. Po obu bokach płytki zainstalowane są cztery złącza rozszerzeń, 10-cio wyprowadzeniowe J1, J2, J3 i J4 standardu 2.54 mm. Są one zainstalowane na powierzchni g&oacute;rnej płytki (złącza męskie) oraz powierzchni dolnej (złącza żeńskie). Umożliwia to łatwe składanie płytek w stos. Złącza J1 i J2 są umieszczone na lewym i prawym brzegu płytki. Złącza J3 i J4 są umieszczone obok nich po stronie wewnętrznej.</p>
<p>Większość wyprowadzeń układu procesorowego TM4C123GH6PM jest dostępna na złączach rozszerzeń J1-4. Zasilanie 3.3 V jest dołączone do wyprowadzenia J1.1. Umożliwia to zasilanie zewnętrznych układ&oacute;w dołączanych do zestawu z tego samego napięcia, co układy wejścia/wyjścia (GPIO) procesora. Rozmieszczenie sygnał&oacute;w na łączach J1 i J2 jest kompatybilne z zestawem MSP430 LaunchPad BoosterPack. Dokładne om&oacute;wienie rozłożenia sygnał&oacute;w na wszystkich złączach jest zamieszczone w [6]. Po dołączeniu do nich układ&oacute;w zewnętrznych należy uwzględnić wzrost poboru mocy zasilania na płytce.</p>
<p>Konfigurowanie wyprowadzeń procesora rodziny Tiva jest dosyć trudne. Do wyprowadzenia może być przypisana jedna z nawet 16-tu funkcji. Co więcej, dana funkcja może być przypisana tylko do jednego wyprowadzenia. Bardzo przydatna jest aplikacja graficzna Tiva C Series PinMux Utility, kt&oacute;ra pozwala na szybkie, intuicyjne i bezbłędne skonfigurowanie wyprowadzeń [11].</p>
<h5>Moduły rozszerzeń BoosterPack</h5>
<p>Do złącz rozszerzeń zestawu ewaluacyjnego Tiva C Series TM4C123G LaunchPad można dołączać r&oacute;żne moduły rozszerzeń. Ciekawym rozszerzeniem jest moduł Sensor Hub BoosterPack (BOOSTXL-SENSHUB). Zawiera on zestaw czujnik&oacute;w dołączanych do szyny I&sup2;C procesora.</p>
<h5>Sterowniki emulatora ICDI</h5>
<p>Zestaw ewaluacyjny Tiva C Series TM4C123G Launch-Pad jest wyposażony we wbudowany układ In-Circuit Debug Interface (ICDI) kt&oacute;ry umożliwia programowanie i debugowanie procesora Tiva TM4C123GH6PM [6]. Układ ICDI obsługuje port JTAG procesora. Układ ICDI może być używany przez program LM Flash Programmer (TI) lub zintegrowane środowisko programowe [6].</p>
<p>Dostępny jest darmowy sterownik do pobrania z portalu TI [8]. Pobrany plik spmc016.zip należy wypakować do foldera na dysku komputera PC. Najbardziej odpowiedni jest folder w kt&oacute;rym jest zainstalowany CCS. Typowo jest to c:\ti. Zostanie utworzony nowy folder C:\ti\stellaris_icdi_drivers zawierający potrzebne drajwery.</p>
<p>Po pierwszym dołączeniu zestawu ewaluacyjnego TM4C123G LaunchPad do komputera PC zostanie rozpoznane urządzenie kompozytowe. W menadżerze urządzeń systemu Windows zostaną pokazane trzy pozycje o tej samej nazwie: "In-Circuit Debug Interface". W systemie Windows 7 kliknij prawym klawiszem na pierwszą linię. Wybierz "Aktualizuj oprogramowanie sterownika". W opcjach wyszukiwania wskaż ścieżkę do zainstalowanych wcześniej sterownik&oacute;w. Powt&oacute;rz te same postępowanie dla pozostałych dw&oacute;ch linii.</p>
<h5>Port COM</h5>
<p>Po ponownym podłączeniu gniazdka USB Micro-B "Debug" zestawu TM4C123G LaunchPad kablem USB do komputera PC zestaw zostaje rozpoznany jako urządzenie złożone z pozycjami Stellaris ICDI DFU Device i Stellaris ICDI JTAG/SWD Intreface oraz wirtualny port szeregowy Stellaris Virtual Serial Port (COMxx).</p>
<h5>Oprogramowanie narzędziowe</h5>
<p>Do tworzenia oprogramowania pracującego na zestawie ewaluacyjnym TM4C123G LaunchPad można zastosować jedno z czterech zintegrowanych środowisk programowych: Code Composer Studio (Texas Instruments), Sourcery CodeBench (Mentor Embedded), IAR Embedded Workbench (IAR) lub Keil uVision (ARM). Wiele przykładowych projekt&oacute;w wymaga zastosowania do budowania projektu pełnych wersji środowiska.</p>
<p>Najłatwiej zainstalować darmowe pełne środowisko CCSv5.9.0 lub CCSv6.0.0. Jego aktualną pełną wersję można bezpłatnie pobrać z witryny internetowej http://goo.gl/bRwo5h firmy Texas Instruments. Jako ścieżkę instalacyjną należy wybrać domyślnie c:\ti.</p>
<p>Następnie należy pobrać i zainstalować pakiet programowy TivaWare for the EK-TM4C123GXL firmy Texas Instruments [9]. Po uruchomieniu pliku SW-TM4C-2.0.1.11577.exe jako ścieżkę instalacyjną należy wybrać domyślnie c:\ti. Pakiet zostanie zainstalowany w folderze C:\ti\TivaWare_C_Series-2.0.1.11577 (lub z nowszym numerem wersji).</p>
<p>Następnie można pobrać i zainstalować darmowy program LM Flash Programmer. Plik LMFlashProgrammer_1613.zip należy rozpakować. Potem należy uruchomić plik instalacyjny LMFlashProgrammer.msi i zainstalować program w domyślnej lokalizacji.</p>
<h5>Pakiet programowy TivaWare</h5>
<p>Pakiet programowy TivaWare for C Series zawiera kompletne oprogramowanie potrzebne do tworzenia kodu dla procesor&oacute;w serii TM4C123x oraz TM4C129x [9]. Pakiet jest darmowy i kod jego bibliotek jest umieszczony w pamięci ROM każdego procesora. Oprogramowanie jest zrealizowane w języku C i umożliwia łatwe debugowanie i rozw&oacute;j. Pakiet TivaWare zawiera biblioteki: Peripheral, USB, Graphics, Sensor, przykładowe projekty oraz zestaw dokumentacji [10]. Przykładowe projekty przeznaczone są dla obsługi zestaw&oacute;w uruchomieniowych i ewaluacyjnych oraz moduł&oacute;w peryferyjnych procesor&oacute;w [13].</p>
<p>Po zainstalowaniu pakietu TivaWare (w domyślnej lokalizacji) dostępny jest duży zbi&oacute;r projekt&oacute;w dla zestawu ewaluacyjnego Tiva C Series TM4C123G LaunchPad w folderze projekt&oacute;w przykładowych C:\ti\TivaWare_C_Series-2.0.1.11577\examples\boards\ek-tm4c123gxl\.</p>
<h5>Warsztaty</h5>
<p>Bardzo ciekawą pomocą dla każdego, kt&oacute;ry zaczyna pracować z procesorami rodziny Tiva są ćwiczenia warsztatowe Getting Started with the TIVA C Series TM4C123G LaunchPad dostępne bezpłatnie na stronie Wiki TI [5]. Dostępny jest komplet materiał&oacute;w: podręcznik uczestnika kursu, slajdy prezentacji, pliki źr&oacute;dłowe do ćwiczeń oraz kompletny zapis wideo kursu. Ćwiczenia są wykonywane z użyciem zestawu ewaluacyjnego Tiva C Series TM4C123G LaunchPad oraz dodatkowych płytek rozszerzeń. Obejmują większość zagadnień potrzebnych do programowania procesor&oacute;w rodziny Tiva.</p>
<h5>Program demo Quickstart Application</h5>
<div class="img_caption right"><a class="highslide " onclick="return hs.expand(this)" href="/../../../cache/images/norm/2/6/5/c3JjPS9pbWFnZXMvbm9ybS8yLzYvNS8xMTI2NXRpdmFfcnlzXzQuanBnJnc9NDY2Jmg9NDQ4_src7102ddbb66806e113c112ceb9d03ffc4.jpg"><img style="float: right;" src="/../../../cache/images/norm/2/6/5/c3JjPS9pbWFnZXMvbm9ybS8yLzYvNS8xMTI2NXRpdmFfcnlzXzQuanBnJnc9MzAwJmg9Mjg4_src7102ddbb66806e113c112ceb9d03ffc4.jpg" alt="" /></a>
<p style="width: 304px;">Rysunek 4. Ustawianie parametr&oacute;w transmisji dla aplikacji qs-rgb</p>
</div>
<p>W pamięci Flash procesora TM4C123GH6PMI zestawu jest zapisany przykładowy program demo Quickstart Application (qs-rgb) [13]. Pełny projekt qs-rgb jest dostępny w folderze \qs-rgb projekt&oacute;w przykładowych pakietu TivaWare.</p>
<ul>
<li>Ustaw przełącznik SW3 (PWR Select) w prawej pozycji "Debug". Przed pierwszym dołączeniem zestawu ewaluacyjnego do portu USB na komputerze PC trzeba wcześniej zainstalować sterowniki dla emulatora IDCI. Gniazdko "Debug" USB Micro-B (J1), umieszczone u g&oacute;ry płytki, dołącz kablem USB Micro-B - USB-A do wolnego portu USB komputera PC. </li>
<li>Dioda D4 zacznie świecić sygnalizując dostarczenie zasilania do płytki zestawu. Dioda RGB D1 zaczyna wyświetlać sekwencję kolor&oacute;w tęczy. Przyciśnięcie lewego przycisku SW1 powoduje zatrzymanie sekwencji. Ponowne przyciśnięcie tego przycisku powoduje wyświetlenie następnego koloru sekwencji w kierunku koloru czerwonego. Przyciśniecie i przytrzymanie lewego przycisku SW1 powoduje szybkie wyświetlanie sekwencji w kierunku koloru czerwonego. Przyciśnięcie prawego przycisku SW2 powoduje zatrzymanie sekwencji. Ponowne przyciśnięcie tego przycisku powoduje wyświetlenie następnego koloru sekwencji w kierunku koloru fioletowego. Przyciśniecie i przytrzymanie prawego przycisku SW1 powoduje szybkie wyświetlanie sekwencji w kierunku koloru fioletowego. Pozostawienie płytki bez przyciskania przez 5 sekund powoduje powr&oacute;t do wyświetlania podstawowej sekwencji kolor&oacute;w tęczy. Jednoczesne przyciśnięcie lewego i prawego przycisku przez 3 sekundy w prowadza procesor TM4C123GH6PMI w stan hibernacji. Program potwierdza wejście w ten tryb pracy kr&oacute;tkim błyśnięciem. W tym trybie co 3 sekundy procesor zostaje wybudzony, program błyska ostatnio wyświetlanym kolorem przez 0.5 sekundy i ponownie wchodzi w stan hibernacji. Przyciśnięcie i przytrzymanie przycisku RESET powoduje zawieszenie działania programu na ten czas. Nie powoduje ponownego bootowania procesora. Jedynie przyciśnięcie przycisku RESET w trakcie wybudzenia procesora powoduje ponowne wystartowanie przykładowego programu. Przyciśnięcie prawego przycisku SW2 (połączonego z wejściem /WAKE procesora) powoduje powr&oacute;t do wyświetlania podstawowej sekwencji kolor&oacute;w tęczy.</li>
</ul>
<div class="img_caption right"><a class="highslide " onclick="return hs.expand(this)" href="/../../../cache/images/norm/2/6/6/c3JjPS9pbWFnZXMvbm9ybS8yLzYvNi8xMTI2NnRpdmFfcnlzXzUuanBnJnc9NDU5Jmg9MzYw_srcd7dc22f54a801f158f4147805fd94b6b.jpg"><img style="float: right;" src="/../../../cache/images/norm/2/6/6/c3JjPS9pbWFnZXMvbm9ybS8yLzYvNi8xMTI2NnRpdmFfcnlzXzUuanBnJnc9MzAwJmg9MjM1_srcd7dc22f54a801f158f4147805fd94b6b.jpg" alt="" /></a>
<p style="width: 304px;">Rysunek 5. Informacje wyświetlane przez aplikację qs-rgb</p>
</div>
<p>Dodatkowo, program przykładowy wysyła informacje poprzez port szeregowy układu procesorowego typu UART. Aby je wykorzystać należy najpierw zidentyfikować numer wirtualnego portu COM. W tym celu należy kliknąć prawym klawiszem myszy na M&oacute;j komputer (np. w menu Start). Wybrać Właściwości a następnie Sprzęt oraz Menedżer urządzeń. Na liście Porty (COM i LPT) należy znaleźć port o nazwie Stellaris Virtual Serial Port (COMxx), gdzie xx jest numerem.</p>
<p>Program przykładowy był uruchamiany z obsługą komunikacji na PC poprzez program PuTTY (do pobrania darmowo ze strony http://www.putty.org). Poprawna praca wymaga ustawienia parametr&oacute;w komunikacji 115200 8N1. Po uruchomieniu programu PuTTY wybierz typ połączenia Serial a następnie wpisz poprawny numer portu COMxx oraz szybkość transmisji i kliknij Open (rysunek 4).</p>
<p>Na razie w oknie programu PuTTY jest pusto. Po przyciśnięciu klawisza Enter zostanie wyświetlony kursor "&gt;" (i napis "Bad command"). Opis poleceń znajduje się w pliku readmi.txt w folderze projektu qs-rgb. Dostępne polecenia:</p>
<ul>
<li>'help' powoduje wyświetlenie listy poleceń z kr&oacute;tkim opisem. </li>
<li>'intensity' ze spacją i numerem od 0 do 100 ustawia jasność świecenia jako procent jasności maksymalnej. </li>
<li>'rgb' ze spacją i sześcioma cyframi w notacji hex ustawia kolor wyświetlania, np. 'rgb ff0000' powoduje wyświetlanie w kolorze czerwonym. Po około 5 sekundach program powraca do wyświetlania podstawowej sekwencji kolor&oacute;w tęczy. </li>
<li>'hib' powoduje prowadzenie procesora TM4C123GH6PMI w stan hibernacji. Jedynym sposobem powrotu do do wyświetlania podstawowej sekwencji jest przyciśnięcie prawego przycisku SW2. </li>
<li>'rand' powoduje rozpoczęcie wyświetlanie sekwencji kolor&oacute;w w kolejności pseudolosowej. Nie wiadomo jak powr&oacute;cić do wyświetlania sekwencji kolor&oacute;w tęczy.</li>
</ul>
<p>Pr&oacute;by pokazały, że aplikacja qs-rgb wysyła informację przed wejściem procesora w stan hibernacji (rysunek 5). Aplikacja qs-rgb po wybudzeniu procesora wysyła informację o przyczynie wybudzenia. R&oacute;wnież w przypadku wystąpienia operacji Reset jest wysyłana informacja.</p>
<h5>Debugowanie projekt&oacute;w w środowisku CCSv5</h5>
<div class="img_caption right"><a class="highslide " onclick="return hs.expand(this)" href="/../../../cache/images/norm/2/6/7/c3JjPS9pbWFnZXMvbm9ybS8yLzYvNy8xMTI2N3RpdmFfcnlzXzYuanBnJnc9NTM2Jmg9NDk1_src2b662b0360527b2041745874905d0d67.jpg"><img style="float: right;" src="/../../../cache/images/norm/2/6/7/c3JjPS9pbWFnZXMvbm9ybS8yLzYvNy8xMTI2N3RpdmFfcnlzXzYuanBnJnc9MzAwJmg9Mjc3_src2b662b0360527b2041745874905d0d67.jpg" alt="" /></a>
<p style="width: 304px;">Rysunek 6. Importowanie biblioteki driverlib.</p>
</div>
<p>Projekty przykładowe dla zestawu ewaluacyjnego Tiva C Series TM4C123G LaunchPad są dostępne w folderze projekt&oacute;w przykładowych pakietu TivaWare [13]. Dostępnych jest 14 kompletnych projekt&oacute;w, każdy dla czterech środowisk programowych: Code Composer Studio v5.x (Texas Instruments), Sourcery CodeBench (Mentor Embedded), IAR Embedded Workbench (IAR) oraz Keil uVision (ARM). Najłatwiej jest zastosować darmowe pełne środowisko CCSv5.</p>
<p style="padding-left: 30px;">1. Ustaw przełącznik SW3 (PWR Select) w prawej pozycji "Debug". Kablem USB podłącz gniazdko USB Micro- -B "Debug" zestawu TM4C123G LaunchPad do wolnego portu USB komputera PC.</p>
<p style="padding-left: 30px;">2. Uruchom środowisko CCSv5.</p>
<p style="padding-left: 30px;">3. W oknie Workspace wpisz ścieżkę i nazwę foldera roboczego. Dla indywidualnej pracy jest proponowana ścieżka &lt;C:/home_dir&gt;. Dla tego ćwiczenia proponowana jest ścieżka &lt;C:/home_dir/work_rgb&gt;.</p>
<p>Po kliknięciu na przycisk OK okna Workspace Launcher otwierane jest okno startowe środowiska CCSv5 (i ładowane są poszczeg&oacute;lne elementy środowiska). Można to obserwować na pasku postępu w prawym dolnym rogu okna.</p>
<p>Najpierw trzeba importować biblioteki: driver, graphics (opcjonalnie) oraz usb.</p>
<p style="padding-left: 30px;">4. Zamknij okno TI Resource Explorer.</p>
<p style="padding-left: 30px;">5. Z menu Project wybierz pozycję Import Existing CCS Eclipse Project.</p>
<p style="padding-left: 30px;">6. W otworzonym oknie kliknij na przycisk Browse, wskaż ścieżkę C:\ti\TivaWare_C_Series-2.0.1.11577\driverlib. Kliknij OK.</p>
<p style="padding-left: 30px;">7. W nowym oknie (rysunek 6) zauważ, że NIE jest wybrana opcja Copy projects into workspace. Oznacza to, że pliki źr&oacute;dłowe i wynikowe projektu pozostaną w lokalizacji początkowej. Kliknij na przycisk Finish.</p>
<p style="padding-left: 30px;">8. Ponownie z menu Project wybierz pozycję Import Existing CCS Eclipse Project.</p>
<p style="padding-left: 30px;">9. W otworzonym oknie kliknij na przycisk Browse, wskaż ścieżkę C:\ti\TivaWare_C_Series-2.0.1.11577\ usblib. Kliknij OK. Kliknij na przycisk Finish.</p>
<p style="padding-left: 30px;">10. Jeszcze raz z menu Project wybierz pozycję Import Existing CCS Eclipse Project.</p>
<p style="padding-left: 30px;">11. W otworzonym oknie kliknij na przycisk Browse, wskaż ścieżkę C:\ti\TivaWare_C_Series-2.0.1.11577\grlib. Kliknij OK. Kliknij na przycisk Finish.</p>
<div class="img_caption right"><a class="highslide " onclick="return hs.expand(this)" href="/../../../cache/images/norm/2/6/8/c3JjPS9pbWFnZXMvbm9ybS8yLzYvOC8xMTI2OHRpdmFfcnlzXzcuanBnJnc9NDI1Jmg9MzE4_srcd4013aa756d63ffbff759ded58bcd2ca.jpg"><img style="float: right;" src="/../../../cache/images/norm/2/6/8/c3JjPS9pbWFnZXMvbm9ybS8yLzYvOC8xMTI2OHRpdmFfcnlzXzcuanBnJnc9MzAwJmg9MjI0_srcd4013aa756d63ffbff759ded58bcd2ca.jpg" alt="" /></a>
<p style="width: 304px;">Rysunek 7. Importowanie przykładowych projekt&oacute;w</p>
</div>
<p>Zaimportuj przykładowe projekty dla zestawu ewaluacyjnego Tiva C Series TM4C123G LaunchPad.</p>
<p style="padding-left: 30px;">12. Z menu Project wybierz pozycję Import Existing CCS Eclipse Project.</p>
<p style="padding-left: 30px;">13. W otworzonym oknie kliknij na przycisk Browse, wskaż ścieżkę C:\ti\TivaWare_C_Series-2.0.1.11577\ examples\boards\ek-tm4c123gxl. Kliknij OK.</p>
<p style="padding-left: 30px;">14. Zaznacz opcję Copy projects into workspace. Kliknij na przycisk Select All. Upewnij się, że wszystkie projekty przykładowe są zaznaczone (rysunek 7).</p>
<p style="padding-left: 30px;">15. Kliknij na przycisk Finish.</p>
<p style="padding-left: 30px;">16. W oknie Project Explorer kliknij prawym klawiszem myszy na linię nazwy projektu qs-rgb. Zauważ, że jako aktywna została ustawiona konfiguracja Debug.</p>
<p style="padding-left: 30px;">17. Wykonaj samo budowanie projektu bez startowania sesji debugowej. Kliknij na przycisk Build <a class="highslide " onclick="return hs.expand(this)" href="/../../../cache/images/norm/2/7/1/c3JjPS9pbWFnZXMvbm9ybS8yLzcvMS8xMTI3MXRpdmFfYnVpbGQuanBnJnc9MTYmaD0xNQ==_src4e3c3c6d738b19736857da074caadd0e.jpg"><img src="/../../../cache/images/norm/2/7/1/c3JjPS9pbWFnZXMvbm9ybS8yLzcvMS8xMTI3MXRpdmFfYnVpbGQuanBnJnc9MTUmaD0xNA==_src4e3c3c6d738b19736857da074caadd0e.jpg" alt="" /></a>. Nie używaj przycisku Debug <a class="highslide " onclick="return hs.expand(this)" href="/../../../cache/images/norm/2/7/2/c3JjPS9pbWFnZXMvbm9ybS8yLzcvMi8xMTI3MnRpdmFfZGVidWcuanBnJnc9MTUmaD0xNQ==_srcf1f55eedc85723a42b000a6ae056ed9e.jpg"><img src="/../../../cache/images/norm/2/7/2/c3JjPS9pbWFnZXMvbm9ybS8yLzcvMi8xMTI3MnRpdmFfZGVidWcuanBnJnc9MTQmaD0xNA==_srcf1f55eedc85723a42b000a6ae056ed9e.jpg" alt="" /></a>.</p>
<div class="img_caption right"><a class="highslide " onclick="return hs.expand(this)" href="/../../../cache/images/norm/2/6/9/c3JjPS9pbWFnZXMvbm9ybS8yLzYvOS8xMTI2OXRpdmFfcnlzXzguanBnJnc9NTE5Jmg9MzU1_srca8cc8316728c546fde87deb6aadc6ade.jpg"><img style="float: right;" src="/../../../cache/images/norm/2/6/9/c3JjPS9pbWFnZXMvbm9ybS8yLzYvOS8xMTI2OXRpdmFfcnlzXzguanBnJnc9MzAwJmg9MjA1_srca8cc8316728c546fde87deb6aadc6ade.jpg" alt="" /></a>
<p style="width: 304px;">Rysunek 8. Okno środowiska CCSv5 po wykonaniu budowania projektu qs-rgb.</p>
</div>
<p>Budowanie projektu gs-rgb zostało zakończone poprawnie (rysunek 8). Został utworzony ładowalny plik wynikowy qs-rgb.out oraz plik binarny qs-rgb.bin (okno Console). Pliki są umieszczone w folderze C:\home_dir\ work_rgb\qs-rgb\Debug foldera roboczego projektu qs-rgb. Zostało zgłoszone jedno nieistotne ostrzeżenie (okno Problems).</p>
<p style="padding-left: 30px;">18. Wykonaj polecenie Debug <a class="highslide " onclick="return hs.expand(this)" href="/../../../cache/images/norm/2/7/2/c3JjPS9pbWFnZXMvbm9ybS8yLzcvMi8xMTI3MnRpdmFfZGVidWcuanBnJnc9MTUmaD0xNQ==_srcf1f55eedc85723a42b000a6ae056ed9e.jpg"><img src="/../../../cache/images/norm/2/7/2/c3JjPS9pbWFnZXMvbm9ybS8yLzcvMi8xMTI3MnRpdmFfZGVidWcuanBnJnc9MTQmaD0xNA==_srcf1f55eedc85723a42b000a6ae056ed9e.jpg" alt="" /></a>.</p>
<p>Powoduje to 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&oacute;wnież perspektywa CCS Debug. Załadowany programu jest uruchamiany i jego wykonywanie jest zatrzymywane na pierwszej instrukcji funkcji main().</p>
<p style="padding-left: 30px;">19. W celu uruchomienia programu kliknij na przycisk Resume . Obserwuj stan diody RGB.</p>
<p>W taki sam spos&oacute;b można załadować do zestawu i uruchomić inne przykładowe projekty.</p>
<h5>Programowanie procesora</h5>
<div class="img_caption right"><a class="highslide " onclick="return hs.expand(this)" href="/../../../cache/images/norm/2/7/0/c3JjPS9pbWFnZXMvbm9ybS8yLzcvMC8xMTI3MHRpdmFfcnlzXzkuanBnJnc9MzMwJmg9MzYy_src0359eba5215d8cb475f6589de81989f9.jpg"><img style="float: right;" src="/../../../cache/images/norm/2/7/0/c3JjPS9pbWFnZXMvbm9ybS8yLzcvMC8xMTI3MHRpdmFfcnlzXzkuanBnJnc9MzAwJmg9MzI5_src0359eba5215d8cb475f6589de81989f9.jpg" alt="" /></a>
<p style="width: 304px;">Rysunek 9. Okno programu LM Flash Programmer</p>
</div>
<p>Przykładowe projekty pakietu TivaWare zawierają gotowe pliki binarne do programowania procesora. Do programowania można zastosować program LM Flash Programmer [6].</p>
<p style="padding-left: 30px;">1. Ustaw przełącznik SW3 (PWR Select) w prawej pozycji "Debug". Kablem USB podłącz gniazdko USB Micro-B "Debug" zestawu TM4C123G LaunchPad do wolnego portu USB komputera PC. Upewnij się, że środowisko CCSv5 nie jest uruchomione i dołączone do zestawu.</p>
<p style="padding-left: 30px;">2. Uruchom program LM Flash Programmer.</p>
<p style="padding-left: 30px;">3. Na zakładce Configuration w polu Quick Set wybierz zestaw TM4C123G LaunchPad.</p>
<p style="padding-left: 30px;">4. Na zakładce Program kliknij na Browse i wskaż plik binarny wybranego projektu w ścieżce C:\ti\TivaWare_C_ Series-2.0.1.11577\examples\boards\ek-tm4c123gxl\qs-rgb\ccs\Debug\ qs-rgb.bin.</p>
<p style="padding-left: 30px;">5. Wybierz opcję Erase Necessary Page oraz Verify After Program oraz Reset MCU After Program. (rysunek 9).</p>
<p style="padding-left: 30px;">6. Kliknij na przycisk Program. Po zakończeniu pracy zostanie na pasku stanu wyświetlona informacja Verify Complete - Passed.</p>
<p>Po zainstalowaniu oprogramowania narzędziowego i dołączeniu płytki zestawu ewaluacyjnego Tiva C Series TM4C123G LaunchPad do portu USB komputera, użytkownik może zająć się tworzeniem system&oacute;w czasu rzeczywistego dla r&oacute;żnych zastosowań: oświetlenie, sterowanie silnik&oacute;w, inteligentne budynki, akwizycja danych i wielu innych.</p>
<p style="text-align: right;"><strong>Henryk A. Kowalski</strong><br /> <a rel="nofollow" href="mailto:kowalski@ii.pw.edu.pl" target="_blank">kowalski@ii.pw.edu.pl</a></p>
<p><strong>Literatura</strong><br /> [1] Tiva C Series TM4C123GH6PM Microcontroller Data Sheet, 03 Mar 2014, SPMS376D<br /> [2] System Design Guidelines for the TM4C123x Family of Tiva C Series MCUs, 31 Jul 2013, SPMA059<br /> [3] Tiva C Series ARM Microcontrollers, 26 Feb 2014, SPMT285C<br /> [4] An Introduction to the Tiva C Series Platform of Microcontrollers, 12 Apr 2013, SPMY010<br /> [5] Getting Started with the TIVA C Series TM4C123G LaunchPad Workshop Revision 1.22, November 2013<br /> [6] Tiva C Series TM4C123G LaunchPad Evaluation Kit User's Manual, 15 Apr 2013, SPMU296<br /> [7] Tiva C Series TM4C123G LaunchPad Evaluation Kit ReadMe First, 28 Mar 2013, SPMU28A<br /> [8] Stellaris ICDI Drivers, SPMU287C<br /> [9] Tiva C Series LaunchPad Evaluation Board Sof tware, SWEK- TM4C123GXL (TivaWare)<br /> [10] TivaWare Peripheral Driver Library for C Series User's Guide, 28 Mar 2013, SPMU298<br /> [11] Tiva C Series PinMux Utility, 20 May 2013, SPMT279A<br /> [12] Reading Tiva C Series Documentation http://goo.gl/ M4S9gp<br /> [13] EK-TM4C123GXL Firmware Development Package, USER'S GUIDE, October 08, 2013 SW-EK-TM4C123GXLUG- 2.0.1.11577.pdf</p>
Artykuł ukazał się w
Elektronika Praktyczna
czerwiec 2014
DO POBRANIA
Pobierz PDF Download icon
Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik listopad 2024

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio listopad - grudzień 2024

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka, Podzespoły, Aplikacje listopad - grudzień 2024

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna listopad 2024

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich grudzień 2024

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów