Instrukcja Programator/Debugger Jtag Telwis



Podobne dokumenty
ZL24PRG. Interfejs JTAG dla mikrokontrolerów ARM

Warsztaty AVR. Instalacja i konfiguracja środowiska Eclipse dla mikrokontrolerów AVR. Dariusz Wika

1.Wstęp. 2.Generowanie systemu w EDK

Programator procesorów rodziny AVR AVR-T910

BF20 JTAG dla ARM ów z interfejsem USB Instrukcja obsługi

Informatyka I : Tworzenie projektu

Laboratorium Procesorów Sygnałowych

Instrukcja programowania płytek edycji 2014

1.1 Co to jest USBasp? Parametry techniczne Obsługiwane procesory Zawartość zestawu... 4

AsLinkEx instrukcja obsługi

Programowanie Systemów Czasu Rzeczywistego

Programowanie Systemów Wbudowanych

SKRÓCONA INSTRUKCJA INSTALACJI MODEMU I KONFIGURACJA POŁĄCZENIA Z INTERNETEM NA WINDOWS 8 DLA AnyDATA ADU-520L

Konfiguracja pakietu CrossStudio for MSP

WPROWADZENIE DO INFORMATYKI

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 8. Karol Tarnowski A-1 p.

Programowanie niskopoziomowe

Programowanie procesora Microblaze w środowisku SDK

Załącznik 1 instrukcje instalacji

Instalacja sieciowa Autodesk AutoCAD oraz wertykali

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

Tworzenie oprogramowania

Instrukcja instalacji oraz konfiguracji sterowników. MaxiEcu 2.0

Instalacja Aplikacji dla AutoCAD 2006 i następnych.

Instalacja i opis podstawowych funkcji programu Dev-C++

Programator AVR USBasp

NWD-210N Bezprzewodowy adapter USB n

Laboratorium 1. I. Zainstaluj program Eclipse (wersja C/C++ w odpowiednim systemie operacyjnym

Instalacja NOD32 Remote Administrator

Jak rozpocząć pracę z mikrokontrolerami?

Włączanie/wyłączanie paska menu

Instalacja Aplikacji dla AutoCAD 2006 i następnych.

Instrukcja instalacji środowiska testowego na TestingCup wersja 1.0

INSTRUKCJA UŻYTKOWNIKA MPCC

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

Programowanie proceduralne INP001210WL rok akademicki 2017/18 semestr letni. Wykład 7. Karol Tarnowski A-1 p.

BF30 OCDLINK/USBASP ARM-JTAG/AVR-ISP Programmer-debugger Instrukcja obsługi

Projektowanie z użyciem procesora programowego Nios II

AKTYWNY SAMORZĄD. Instrukcja instalacji, aktualizacji i konfiguracji.

TECHNIKA MIKROPROCESOROWA II

Moduł USB GREISINGER EBW3 EASYBUS

Tomasz Greszata - Koszalin

Krótka instrukcja instalacji Adobe Acrobat Reader

Programowanie Urządzeń Mobilnych. Laboratorium nr 7, 8

Konfigurowanie sterownika CX1000 firmy Beckhoff wprowadzenie. 1. Konfiguracja pakietu TwinCAT do współpracy z sterownikiem CX1000

Instalacja środowiska Eclipse

Kopiowanie i instalowanie pliku w systemie Windows CE

Załącznik 1 instrukcje instalacji

Galileo v10 pierwszy program

Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

PRACA W ZINTEGROWANYM ŚRODOWISKU URUCHOMIENIOWYM - IDE Keil μvision 2

Instrukcja instalacji sterowników USB dla urządzeń Posnet Polska S.A.

Rozdział 1. Informacje ogólne

Programator AVR MKII. Instrukcja obsługi. Copyright by Barion

USB AVR JTAG. Instrukcja obsługi rev.1.0. Copyright 2011 SIBIT

Przygotowanie środowiska Java do prawidłowej obsługi podpisu elektronicznego w epuap

Konfiguracja usługi OnePhone dla modelu telefonu Nokia E72

1. Opis. 2. Wymagania sprzętowe:

JDK 7u25 NetBeans Zajęcia 1 strona - 1

Nagrywamy podcasty program Audacity

Konfiguracja usługi OnePhone dla modelu telefonu Nokia E52

Instrukcja instalacji oprogramowania dla środowiska Windows

Konfiguracja Javy. Jak prawidłowo skonfigurować środowisko Java. Jak zacząć? Poradnik dla systemów Windows 7,8, 8.1 i 10. Wersja 1.

NWD310N. Bezprzewodowa karta sieciowa PCI N. Skrócona instrukcja obsługi. Wersja 1.00 Październik 2007 Wydanie 1

INSTRUKCJA INSTALACJA MODEMU HUAWEI E220 DLA SYSTEMU WINDOWS

Instrukcja instalacji BMW INPA do interfejsu BMW USB VIAKEN

Ćw. I. Środowisko sieciowe, połączenie internetowe, opcje internetowe

Instrukcja obsługi programatora AVR Prog USB v2

Praca z programami SAS poza lokalną siecią komputerową UZ. Zestawienie tunelu SSH oraz konfiguracja serwera proxy w przeglądarce WWW

EASY CAP VIDEO GRABBER SZYBKI START. Instalacja sterowników

SKRÓCONA INSTRUKCJA INSTALACJI MODEMU I KONFIGURACJA POŁĄCZENIA Z INTERNETEM NA WINDOWS 8 DLA AnyDATA ADU-510L

Podgląd z rejestratorów IPOX na komputerze z systemem WINDOWS za pomocą programu NVMS-2.0 LITE

Dodawanie stron do zakładek

Konfigurowanie modułu BK9050 firmy Beckhoff wprowadzenie

Instrukcja obsługi programatora AVR Prog USB v2

Spis treści

Projekt procesora NIOSII w strukturze programowalnego układu logicznego CYCLONEII EP2C35F672C6 wersja startowa dla słuchaczy studiów niestacjonarnych.

MikloBit ul. Cyprysowa 7/ Jaworzno. JTAG + ISP dla AVR. rev

FAQ: /PL Data: 3/07/2013 Konfiguracja współpracy programów PC Access i Microsoft Excel ze sterownikiem S7-1200

Instrukcja obsługi debugera JTAG-AVR USB v2

Laboratorium - Instalacja Virtual PC

Konfiguracja współpracy urządzeń mobilnych (bonowników).

Aby uruchomić Multibooka, należy podłączyć nośnik USB do gniazda USB w komputerze, na którym program ma być używany.

Instrukcja obsługi programatora AVR Prog USB v2

Instrukcje dotyczące systemu Windows w przypadku drukarki podłączonej lokalnie

Instalacja protokołu PPPoE

KolNet. Konfiguracja kolektora Honeywell i instalacja programu. NET Innovation Software Sp. z o. o.

Unreal Engine 4 - Samsung Gear VR

Instrukcja obsługi programu PLOMP PLUS FM

MM002 Sweex USB DVB-T Dongle. Uwaga! Przed podłączeniem Sweex USB DVB-T Dongle należy zainstalować sterownik.

Instrukcja instalacji i konfiguracji Karty EDGE/GPRS SonyEricsson GC85

TwinCAT 3 konfiguracja i uruchomienie programu w języku ST lokalnie

Spis treści Ustawienia zaawansowane: Dotyczy użytkowników, którzy używają proxy... 40

Instrukcja obsługi. PROGRAMATOR dualavr. redflu Tarnów

Konfiguracja oprogramowania w systemach MS Windows dla kont z ograniczonymi uprawnieniami

inode instalacja sterowników USB dla adaptera BT 4.0

INSTRUKCJA UŻYTKOWANIA CZYTNIKA KART PROCESOROWYCH SYGNET 5v1 IU SY5

Dodatki. Dodatek A Octave. Język maszyn

Instrukcja obsługi programatora AVR Prog USB v2

Transkrypt:

Instrukcja Programator/Debugger Jtag Telwis www.telwis.pl Spis Treści ARM toolchain... 1 Debugger OpenOCD... 2 Edytor (IDE) Eclipse... 2 Start OpenOCD w Eclipse.... 6 Instalacja sterowników... 7 Podstawy poruszania się w menu... 9 Złącze 16 pinowe... 10 Diody LED... 10 zworka... 10 Aby OpenOCD działał w środowisku Eclipse trzeba wykonać trzy podstawowe kroki: 1. zainstalować Sourcery G++ Lite Edition for ARM w wersji EABI. Jest to TOOLCHAIN, który możemy za darmo pobrać ze strony Codesourcery. szukać należy tutaj: http://www.mentor.com/embedded-software/sourcerytools/sourcery-codebench/editions/lite-edition/ 2. zainstalować Debugger OpenOCD. Źródło jest tutaj: http://openocd.sourceforge.net/ 3. zainstalować Eclipse IDE for C/C++ Developers. http://www.eclipse.org/downloads/ Jest to aplikacja działająca pod systemem Windows i pozwalająca w trybie okienkowym (windowsowym) uruchomić zewnętrzną aplikacją OpenOCD a więc kompilować oraz zaprogramować i debugowac kod wynikowy. Do pracy z Eclipse wymagana jest możliwie najnowsza wersja Java. Poniższy przykład oparty jest na mikrokontrolerze STM32F103 oraz interface ie Jtag-Telwis. ARM toolchain Proces instalacji Sourcery G++ Lite Edition for ARM w wersji EABI jest standartowy. Należy tylko pamiętać aby podczas instalacji zezwolić na wpisanie zmiennej środowiskowej PATH chociaż po zainstalowaniu programu możemy ją wpisać ręcznie. Aby sprawdzić czy zmienna PATH się zainstalowała oraz czy prawidłowo działa program, możemy w linii poleceń (Start > Uruchom... (Run...) -> cmd) wpisać komendę arm-none-eabi-gcc --version na co program w odpowiedzi da nam następujący komunikat:

C:\>arm-none-eabi-gcc version arm-none-eabi-gcc (Sourcery G++ Lite 2009q1-161) 4.6.1 Copyright (C) 2008 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE Debugger OpenOCD Proces instalacji OpenOCD też jest standardowy i niezależny od instalacji Toolchaina. Należy pamiętać aby sprawdzić czy plik wykonawczy OpenOCD.exe jest wpisany w zmienną środowiskową co pozwoli nam na uruchamianie debugera OpenOCD z linii poleceń z każdego miejsca na dysku. Poprawność instalacji sprawdzamy z linni komend (Start > Uruchom... (Run...) -> cmd). W dowolnym folderze wpisujemy komendę: openocd --version, na co program odpowie komunikatem: C:\>openocd --version Open On-Chip Debugger 0.6.1 (2012-10-07-10:34) Release Licence under GNU GPL v2. For BUG reports,read http://opensourceforge.net/doc/doxygen/bugs.html Edytor (IDE) Eclipse Eclipse umożliwia sterownie zainstalowanymi wcześniej aplikacjami wykorzystując plik makefile do kompilacji, uruchamiania w tle OpenOCD a tym samym zaprogramowanie do mikrokontrolera kodu wynikowego i za pomocą GDB debugowanie tego kodu. Eclipse nie wymaga instalacji. Jest gotowy do działania od razu po rozpakowaniu. Aby zaprzęgnąć toolchaina oraz debuggera w środowisko Eclipse potrzebna jest konfiguracja składająca się z kilku kroków. Aby stworzyć nowy projekt trzeba kliknąć: File > New > C Project i w pole Project name wpisać własną nazwę nowego projektu. W oknie Project type należy wybrać: Makefile project\empty Project \Other Toolchain i kliknąć na Finish. Opcje projektu można zmienić później klikając w menu Project\Properties.

W zakładce Project->Properties->C\C++ Build i na karcie Builder Settings należy odznaczyć opcję Use default build command i w polu tekstowym zmienić wpis na cs-make. W zakładce Project->Properties->Settings na karcie Binary Parsers należy zaznaczyć GNU Elf Parser w odpowiednich polach tekstowych tej karty wpisać ścieżki dostępu do odpowiednich plików z programu CodeSoucery, który wcześniej zainstalowaliśmy. Standardowo zainstalowany Codesoucery ma ścieżki dostępu widoczne na poniższym screenie.

Teraz skonfigurujemy GDB Debugger w środowisku Eclipse. Otwieramy zakładkę Run z menu i wybieramy Debug Configurations W panelu z lewej należy kliknąć na GDB Hardware Debugging aby aktywować tą zakładkę. Następnie należy kliknąć na przycisk New aby utworzyć nową konfigurację. W rezultacie uruchomi się okno z nową konfiguracją do wypełnienia. W zakładce Main trzeba wprowadzić własną nazwę tej konfiguracji Jeżeli okno Project jest puste, klikamy zakładkę Browse I wybieramy projekt, który chcemy debugować. Automatycznie w zakładce C/C++ Application puste pole wypełni się odpowiednim plikiem Elf. Następnie trzeba odznaczyć pole wyboru (ustawić jako puste) Disable auto build aby zbudowana binarka (plik binarny) przypadkiem nie miała złych ustawień. Lepiej jest później użyć komendy Project->Build All z menu głównego za każdym razem kiedy zmieni się kod źródłowy. Upewnić się czy wybrany jest Standard GDB Hardware Debugging. Jeżeli nie to kliknąć na Select other... aby zmienić. Z pewnych powodów Debugger Services Framework nie działa prawidłowo z OpenOCD.

Teraz należy przejść do zakładki Debugger i kliknąć przycisk Browse... aby wstawić ścieżkę dostępu do pliku wykonawczego debugera GNU arm-none-eabi-gdb w katalogu BIN. W polu Port Number należy wstawić nr portu 3333 w którym Eclipse będzie się komunikować z OpenOCD. Na następnej karcie Startup (zrzut ekranu poniżej) w oknie Initialization Commands należy odznaczyć Reset and Delay. Podobno (sam nie testowałem) nie działają prawidłowo z toolchainami dla procesorów ARM. W polu tekstowym tego okna możemy wpisać komendy wydawane bezpośrednio dla OpenOCD. Dla układu z mojego przykładu STM32F103 należy wpisać nast. Komendy GDB: -mon reset reset układu -mon halt zatrzymuje rdzeń -load ładuje nowy obraz

W dolnym okne - Runtime Options należy zaznaczyć Set breakpoint at i w pole tekstowe wpisać main aby w czasie pierwszego debugowania program zatrzymał się na tym breakpoint cie. Często Resume też musi być zaznaczone. Start OpenOCD w Eclipse. Teraz trzeba jeszcze utworzyć konfigurację za pomocą której jednym kliknięciem uruchomi się OpenOCD w środowisku Eclipse. Aby poprawnie skonfigurować Eclipse trzeba wejść w zakładkę External Tools (zielony przycisk w menu narzędziowym z małą skrzyneczką) I z rozwiniętego menu wybrać zakładkę External Tools Configuration. W zakładce External Tools Configuration należy w pole tekstowe Location wstawić ścieżkę dostępu do pliku wykonawczego openocd.exe w zakładce Working Directory wstawić ścieżkę dostępu do naszego projektu w zakładce Arguments wpisać komendy jakie OpenOCD musi wykonać aby się uruchomił. OpenOCD po uruchomieniu pobiera informacje z plików [interface].cfg oraz z [target].cfg.

Są to pliki konfiguracyjne znajdujące się w katalogu OpenOCD\scripts. Poniższy przykład oparty jest na mikrokontrolerze STM32F103 oraz interface ie jtagkey i takie właśnie pliki konfiguracyjne figurują na poniższym przykładzie. Instalacja sterowników Podłaczyć jtag do portu USB. System wykryje nowe urządzenie i otworzy okno wizzard a. Wymagana jest ręczna instalacja sterownika ponieważ windowsowy wizzard najprawdopodobniej zainstaluje nam domyślne sterowniki ze strony ftdi podczas gdy wymagane sterowniki są z biblioteki libusb-win32. Ręczna instalacja polega na tym, aby system operacyjny nie wyszukiwał sam sterowników. W trakcie instalacji musimy więc zaznaczyć opcję Nie szukaj,sam wybiorę sterownik do zainstalowania i w tym miejscy należy samemu wskazać systemowi katalog, w którym znajduje się wymagany sterownik. Do pracy z OpenOCD w środowisku Eclipse należy zainstalować sterowniki jtag-telwisdriver z katalogu Drivers\libusb-win32 (są dostępne na www.telwis.pl w dziale wsparcie Techniczne->Sterowniki). Sterowniki te należy instalować tylko dla pierwszego kanału układu FT2232 (kanał A), ponieważ tylko ten kanał obsługuje interface jtag, natomiast drugi kanał tego układu (kanał B) wymaga sterowników ftd2xx z katalogu Drivers/ftd2xx. Po zainstalowaniu sterowników oraz podłaczeniu jtaga, w menadżerze urządzeń powinny pojawić się nazwy zainstalowanych sterowników (zrzut ekranu poniżej).

Jeżeli wszystko skonfigurowano poprawnie to w celu sprawdzenia należy podłączyć jatg a z podłączonym docelowym układem i następnie uruchomić Eclipsa. Powinien być widoczny ostatnio wczytany projekt. Klikamy kolejno Run->External Tool->[nazwa projektu]. W przykładzie poniżej jest to OpenOCD+jtagkey+stm32F1x. Jeżeli wszystko przebiegnie prawidłowo to w dolnej zakładce Console powinna pojawić się lista komunikatów podobna do poniższej. adapter speed: 1000 khz adapter_nsrst_delay: 100 jtag_ntrst_delay: 100 cortex_m3 reset_config sysresetreq Info : clock speed 1000 khz Info : JTAG tap: stm32f1x.cpu tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3) Info : JTAG tap: stm32f1x.bs tap/device found: 0x16410041 (mfg: 0x020, part: 0x6410, ver: 0x1) Info : stm32f1x.cpu: hardware has 6 breakpoints, 4 watchpoints Oznacza to, że jtag skomunikował się z OpenOCD, rozpoznał podłączony mikrokontroler i można przystąpić do załadowania image do mikrokontrolera i debugowania, wstawiając break pointy i testując nasz kod źródłowy. Jednym ze sposobów jest kliknięcie kolejno: Run->Debug History-> [nazwa wcześniej utworzonej konfiguracji debugowania] w tym przypadku jest to: 1 stm_blink_test Debug.

Jeżeli kod programu zostanie załadowany do mikrokontrolera, wtedy otrzymamy w oknie konsoli komunikat jak na poniższym listingu. load D:\\Programowanie\\C\\JtakTest\\stm32_blink_led-1.2.1-120107\\out\\stm32_blink_led.elf Loading section.text, size 0x4b8 lma 0x8000000 Start address 0x8000130, load size 1208 Transfer rate: 2 KB/sec, 1208 bytes/write. tbreak main Temporary breakpoint 2 at 0x80002f2: file main.c, line 79. Note: automatically using hardware breakpoints for read-only addresses. continue Temporary breakpoint 2, main () at main.c:79 79 volatile uint32_t count, count_max = 1000000; Oznacza to, że teraz można przejść do edytora C/C++, otworzyć plik main.c i wstawiać breakpointy testując kod źródłowy. Podstawy poruszania się w menu 1.przyciski odpowiedzialne za uruchom, wstrzymaj, zatrzymaj debugowanie. 2.wskazuje gdzie wstawiono przykładowy break point (nr linii w kodzie) 3.Po zatrzymaniu debugowania OpenOCD jest wciąż uruchomiony i działa w tle. Aby zakończyć i opuścić OpenOCD trzeba nacisnąć przycisk 4.

Złącze 16 pinowe JVREF ntrst TDI TMS TCK n/c TDO nsrst JVREF Diody LED Na płytce JTAG-Telwis znajdują się dwie diod LED. Zielona - obecność prawidłowego napięcia JVCC zasilającego bufory interfejsu i układ docelowy Żółta - linia nsrst jest w stanie aktywnym (stan niski) układ docelowy jest zresetowany, zworka Zworka służy do kontroli zasilania. Nieprawidłowa konfiguracja zworki może doprowadzić do uszkodzenia JTAGa, układu docelowego lub portu USB w komputerze PC! Domyślnie zworka jest wyjęta. Możliwe są nast. pozycje: 1. Założenie zworki w pozycję 3V3 powoduje zasilanie buforów JTAGa (oraz układu docelowego za pośrednictwem linii JVCC) napięciem 3,3V. Możliwie jest wtedy debuggowanie układów bez doprowadzania do JTAGa napięcia zasilającego bufory i / lub zasilanie układu docelowego za pośrednictwem JTAGa. 2. Założenie zworki w pozycję 5V powoduje zasilanie buforów JTAGa (oraz układu docelowego za pośrednictwem linii JVCC) napięciem 5V. Możliwie jest wtedy debuggowanie układów bez doprowadzania do JTAGa napięcia zasilającego bufory i / lub zasilanie układu docelowego za pośrednictwem JTAGa. 3. Jeśli układ docelowy ma własne zasilanie, które doprowadzone jest liniami JVCC, zworka musi być bezwzględnie zdjęta!