Moduł wspierający diagnostykę i sprzętowe debugowanie

Podobne dokumenty
Architektura mikroprocesorów z rdzeniem ColdFire

ARCHITEKTURA PROCESORA,

Architektura komputerów

Wykorzystanie standardu JTAG do programowania i debugowania układów logicznych

Architektura mikroprocesorów z rdzeniem ColdFire

CompactPCI. PCI Industrial Computers Manufacturers Group (PICMG)

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

PRZERWANIA. 1. Obsługa zdarzeń, odpytywanie i przerwania Obsługa zdarzeń jest jedną z kluczowych funkcji w prawie każdym systemie czasu rzeczywistego.

Organizacja typowego mikroprocesora

Pośredniczy we współpracy pomiędzy procesorem a urządzeniem we/wy. W szczególności do jego zadań należy:

Architektura komputerów

2. Architektura mikrokontrolerów PIC16F8x... 13

Wbudowane układy komunikacyjne cz. 1 Wykład 10

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Architektura typu Single-Cycle

Standard transmisji równoległej LPT Centronics

Mikroprocesor Operacje wejścia / wyjścia

Hardware mikrokontrolera X51

Architektura komputerów

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie:

Technika Mikroprocesorowa II Wykład 1

(Rysunek z książki T.Starecki. Mikokontrolery jednoukładowe rodziny 51. NOZOMI W-wa 1996)

Technika Mikroprocesorowa

Architektura komputerów. Układy wejścia-wyjścia komputera

Mikroprocesory i Mikrosterowniki Magistrala szeregowa I2C / TWI Inter-Integrated Circuit Two Wire Interface

Architektura komputera. Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt

organizacja procesora 8086

Architektura komputerów. Komputer Procesor Mikroprocesor koncepcja Johna von Neumanna

Uniwersalny asynchroniczny. UART Universal Asynchronous Receier- Transmiter

Szkolenia specjalistyczne

Procesory rodziny x86. Dariusz Chaberski

Komunikacja w mikrokontrolerach. Magistrala szeregowa I2C / TWI Inter-Integrated Circuit Two Wire Interface

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

Technika mikroprocesorowa I Wykład 2

Architektura komputerów

Struktura i działanie jednostki centralnej

CPU. Architektura FLAGS Bit: dr Paweł Kowalczyk; DPTNS, KFCS UŁ. SI 16 bit. 16 bit. 16 bit.

Rozdział ten zawiera informacje na temat zarządzania Modułem Modbus TCP oraz jego konfiguracji.

Mikroinformatyka. Koprocesory arytmetyczne 8087, 80187, 80287, i387

1.1. Wymogi bezpieczeństwa Pomoc techniczna TIA Portal V13 instalacja i konfiguracja pakietu...18

Programowanie Mikrokontrolerów

Architektura komputerów

Architektura systemu komputerowego

Metody obsługi zdarzeń

Logiczny model komputera i działanie procesora. Część 1.

Komunikacja w mikrokontrolerach Laboratorium

Kurs Zaawansowany S7. Spis treści. Dzień 1

ICD Wprowadzenie. Wprowadzenie. Czym jest In-Circuit Debugger? 2. O poradniku 3. Gdzie szukać dodatkowych informacji? 4

o Instalacja środowiska programistycznego (18) o Blink (18) o Zasilanie (21) o Złącza zasilania (22) o Wejścia analogowe (22) o Złącza cyfrowe (22)

2. Code Composer Studio v4 zintegrowane środowisko projektowe... 41

Przerwania, polling, timery - wykład 9

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2

Współpraca procesora ColdFire z urządzeniami peryferyjnymi

Podstawy programowania sterowników SIMATIC S w języku LAD / Tomasz Gilewski. Legionowo, cop Spis treści

Programowanie mikrokontrolerów. 8 listopada 2007

asix4 Podręcznik użytkownika DMS500 - drajwer protokołu analizatorów DURAG DMS 500 Podręcznik użytkownika

Projekt prostego procesora

Systemy uruchomieniowe

Współpraca procesora z urządzeniami peryferyjnymi

UTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386

Magistrala SPI. Linie MOSI i MISO sąwspólne dla wszystkich urządzeńna magistrali, linia SS jest prowadzona do każdego Slave oddzielnie.

Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej

Spis treści. 1 Moduł Modbus TCP 4

PRZERWANIA. P1 - Procedura obslugi przerwania. Obsługa zdarzenia Z1 poprzez procedurę obsługi przerwania P1

Charakterystyka mikrokontrolerów. Przygotowali: Łukasz Glapiński, Mateusz Kocur, Adam Kokot,

Zespół Szkół Technicznych. Badanie wyświetlaczy LCD

Programowany układ czasowy APSC

Arduino dla początkujących. Kolejny krok Autor: Simon Monk. Spis treści

Współpraca procesora ColdFire z pamięcią

Funkcje sterownika CellBOX-UxR ModBUS RTU

Wstęp Architektura... 13

Kurs SIMATIC S7-300/400 i TIA Portal - Zaawansowany. Spis treści. Dzień 1

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

Interfejs urządzeń peryferyjnych

Projekt MARM. Dokumentacja projektu. Łukasz Wolniak. Stacja pogodowa

Mikrokontroler ATmega32. System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe

Kod produktu: MP01105

MAGISTRALA MODBUS W SIŁOWNIKU XSM Opis sterowania

Kod produktu: MP01611

PAMIĘCI SYNCHRONICZNE

Spis treści. Dzień 1. I Rozpoczęcie pracy ze sterownikiem (wersja 1707) II Bloki danych (wersja 1707) ZAAWANSOWANY TIA DLA S7-300/400

Układy czasowo-licznikowe w systemach mikroprocesorowych

Zarządzanie zasobami pamięci

Interfejsy. w systemach pomiarowych. Ryszard J. Barczyński, 2016 Materiały dydaktyczne do użytku wewnętrznego

AVR DRAGON. INSTRUKCJA OBSŁUGI (wersja 1.0)

1. Cel ćwiczenia. Celem ćwiczenia jest zestawienie połączenia pomiędzy dwoma sterownikami PLC za pomocą protokołu Modbus RTU.

Adresowanie. W trybie natychmiastowym pole adresowe zawiera bezpośrednio operand czyli daną dla rozkazu.

Industrial Ethernet Dokumentacja techniczna połączenia Sterowniki S7-400(300) firmy Siemens - System PRO-2000 firmy MikroB

Architektura Systemów Komputerowych. Bezpośredni dostęp do pamięci Realizacja zależności czasowych

Wstęp: Interfejs portu równoległego 6821 i portu szeregowego 6850 firmy Motorola

Komputery klasy PC. Dariusz Chaberski

Programowany układ czasowy

Magistrala I 2 C. Podstawy systemów mikroprocesorowych. Wykład nr 5 Interfejsy szeregowe c.d.

. III atyka, sem, Inform Symulator puterów Escape rchitektura kom A

Opis procedur asemblera AVR

Adres rejestru. szesnastkowo. Typ zmiennej. Numer funkcji Modbus. Opis zmiennej. (dziesiętnie)

LABORATORIUM UKŁADÓW PROGRAMOWALNYCH. PROCESORY OSADZONE kod kursu: ETD 7211 SEMESTR ZIMOWY 2017

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Przetwornik ADC procesora sygnałowego F/C240 i DAC C240 EVM

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Architektura Systemów Komputerowych. Transmisja szeregowa danych Standardy magistral szeregowych

Transkrypt:

Moduł wspierający diagnostykę i sprzętowe debugowanie 1

Diagnostyka mikroprocesorowego systemu czasu rzeczywistego Programowe emulatory procesorów, Sprzętowe emulatory procesorów, Debugery programowe, Debugery sprzętowe. Sprzętowy emulator procesora (in circuit emulator) Wady emulatorów sprzętowych: Wysoki koszt złącza oraz układu emulatora, ograniczenia maksymalnej częstotliwości pracy systemu mikroprocesorowego (ograniczenie długości magistral, crosstalk, zakłócenia, itp). 2

Debuger sprzętowy 3

4

5

6

Sprzętowy moduł diagnostyczny BDM (1) Interfejs BDM Zalety modułu diagnostycznego BDM: Niski koszt interfejsu łączącego diagnozowany układ z komputerem PC (port równoległy, USB), brak ograniczeń związanych z zakłóceniami praca z maksymalną częstotliwością, możliwość dostępu do prawie wszystkich rejestrów procesora oraz pamięci, możliwość warunkowego przerwania programu (pułapki). 7

Sprzętowy moduł diagnostyczny BDM (2) Manual BreakPoint (HALT) PST = 0xF Szeregowy kanał diagnostyczny BDM Diagnostyka w czasie rzeczywistym DDATA zawartość rejestru RBS (Reg. Breakpoint Status), adres operandu lub operand instrukcji, instrukcja WDDATA. Linie DDATA są aktualizowane na narastającym zboczu zegara. PST stan procesora, wykonywana operacja. Linie PST są aktualizowane na narastającym zboczu zegara. 8

Sprzętowy moduł diagnostyczny BDM (3) Śledzenie programu w czasie rzeczywistym (Realtime Trace Support). 8-bitowy interfejs umożliwia dynamiczne śledzenie wykonywanego przez procesor programu (execution path). Kanał diagnostyczny BDM (Background debug mode). Szeregowy interfejs BDM umożliwia debugowanie wykonywanego programu na niskim poziomie. Zatrzymanie procesora umożliwia dostęp do większości rejestrów oraz innych zasobów procesora. Diagnostyka w czasie rzeczywistym (Real-time debug mode). Dostęp do zasobów procesora w czasie rzeczywistym poprzez 8-bitową magistralę, rozbudowany system pułapek sprzętowych. 9

Diagnostyczny interfejs równoległy 10

Szeregowy interfejs BDM 11

Real-time Trace Support PST stan procesora, wykonywana operacja. Linie PST są aktualizowane na zboczu zegara. DDATA zawartość rejestru RBS (Reg. Breakpoint Status), adres operandu lub operand instrukcji, instrukcja WDDATA. Linie DDATA są aktualizowane na zboczu zegara. DDATA 4-bit ColdFire PST 4-bit Analizator (obraz programu) CLKOUT Dane wysyłane są w postaci czterobitowej począwszy od najmniej znaczącego bitu. Możliwe transfery: 4, 8, 16, 32 bity. LSB...MSB 12

Linie PST stan procesora (1) 13

Linie PST stan procesora (2) 14

Rejestry sterujące modułem diagnostycznym 15

Rejestr konfiguracyjny/statusowy CSR (1) Zapis rejestru modułu diagnostycznego lea wdebug data1, %a0 (%a0) data0:.byte align 4 data1:.long data2:.long 0 test.asm: Assembler messages: test.asm:115: Error: unaligned opcodes detected in executable segment 2C80.ABCD EF01.0000 16

WDEBUG.L <ea>y (1) Instrukcja pobiera dwa długie słowa umieszczone w pamięci pod adresem <ea> ((Ay), (d16, Ay)) i konfiguruje wskazany rejestr Drc (Debug Control Register). Instrukcja synchronizuje potok. Instrukcja musi zostać wyrównana do granicy 4 bajtów (4 słowa). Umożliwia to wykonanie rozkazów modułu BDM bezpośrednio z procesora ColdFire. 17

WDEBUG.L <ea>y (2) 18

Rejestr konfiguracyjny/statusowy CSR (2) 19

Rejestr konfiguracyjny/statusowy CSR (3) 20

Przykład diagnostyki dla instrukcji jmp (%A0) W przypadku instrukcji JMP, JSR adres efektywny <ea>x jest wyświetlany wyłącznie podczas użycia jednego z wymienionych trybów adresowania (An), (d16,an), (d8,an,xi), (d8,pc,xi). 21

Address Attribute Trigger Register AATR 22

Address Breakpoint Registers ABLR, ABHR Rejestry definiują obszary pamięci, które mogą zostać wykorzystane do zgłoszenia pułapek sprzętowych. Konfiguracja pułapek ustalana jest w rejestrze TDR (Trigger Definition Register). ABLR (low) ABHR (high) 23

Data Breakpoint/Mask Registers DBR/DBMR Zawartość rejestru DBR porównywana jest z 32-bitową dana odczytaną z głównej magistrali procesora. Konfiguracja zgłaszanych pułapek znajduje się w rejestrze TDR. DBR DBMR 24

Program Counter Breakpoint/Mask Registers PBR, PBMR Adres pobieranej instrukcji (PC) porównywany jest z zawartością rejestru PBR. Konfiguracja zgłaszanych pułapek znajduje się w rejestrze TDR PBR PBMR 25

Trigger Definition Register TDR (1) Rejestr umożliwia konfigurację sprzętowych pułapek ABHR/ABLR/AATR, PBR/PBMR, and DBR/DBMR. 26

Trigger Definition Register TDR (2) 27

Debugowanie w czasie rzeczywistym Podczas debugowania aplikacji pracujących w czasie rzeczywistym procesor musi nieustannie wykonywać program. Nie można zatrzymać pracy procesora (komenda HALT), jednak pracujący system może tolerować niewielkie opóźnienia. Daje to możliwość wykorzystania pułapek sprzętowych i przesłania kluczowych informacji (PULSE / WDDATA / BDM / PORT). Moduł diagnostycznych procesorów ColdFire obsługuje trzy rodzaje pułapek: pułapka wyzwalana zawartością PC (bity maskowalne, pułapka obsługiwana podobnie jak przerwanie), pułapka wyzwalana adresem operandu, pułapka wyzwalana przetwarzaną daną (bity maskowalne). Przechwycona pułapka powoduje wykonanie polecenia ustalonego w rejestrze TDR. Pułapki mogą generować przerwanie (wyjątek 12) o poziomie wyższym niż przerwania niemaskowalne. W czasie obsługi wyjątku pozostałe przerwania są ignorowane. 28

Przykładowe kody PST/DDATA 29

Background Debug Mode (BDM) 30

Background Debug Mode (BDM) Cykle synchronizacyjne Szeregowa transmisja Full-Duplex Maksymalna częstotliwość zegara DSCLK = 1/5 x CLKOUT Protokół umożliwia przesyłanie pakietów o długości 17 bitów (16 bitów danych + bit statusu/sterujący) Transmisja odbywa się na narastającym zboczu zegara CLKOUT (iloczyn logiczny CLKOUT z DSCLK) Najpierw przesyłany jest bit msb, lsb na końcu 31

Struktura pakietów BDM (1) Pakiet odbiorczy (debug module -> procesor) Pakiet nadawczy (procesor -> debug module) 32

Struktura pakietów BDM (2) 33

Rozkazy interfejsu BDM 34

Transmisja rozkazu przez interfejs BDM 17-bitowy rozkaz Oczekiwanie na zakończenie operacji odczyt 16-bit S=1, Data=0x0001 Sukces/Niepowodzenie 17-bitowa odpowiedź 35

RAREG / RDREG RAREG/RDREG - odczytuje 32-bitowy rejestr danych lub adresowy Odczyt 32-bit 36

WAREG / WDREG WAREG/WDREG zapisuje 32-bitowy rejestr danych lub adresowy Zapis 32-bit 37

Resume execution (GO) Wznawia pracę procesora zatrzymanego instrukcją HALT. 38

Read Control Register RCREG Instrukcja pozwala odczytać rejestr specjalny procesora ColdFire. 39

Write Control Register WCREG Instrukcja pozwala zapisać rejestr specjalny procesora ColdFire (podobnie jak MOVEC). 40

Read Debug Module Register RDMREG Instrukcja pozwala odczytać rejestr modułu diagnostycznego CSR (Debug Register). Odczyt powoduje wyzerowanie flag CSR[FOF, TRG, HALT, BRKT] oraz bitu statusowego CSR[BSTAT]. 41

Write Debug Module Register WDMREG Instrukcja pozwala zapisać rejestr modułu diagnostycznego DRc (Debug Register). 42

Testowanie połączeń elektrycznych 43

Interfejs diagnostyczny JTAG (1) Interfejs JTAG zgodny ze standardem IEEE1149.1 przeznaczony jest do testowania połączeń elektrycznych pomiędzy procesorem, a obwodem drukowanym. 44

Interfejs diagnostyczny JTAG (2) 45

Automat stanowy sterujący kontrolerem TAP Reset lub TMS > '11111' data register instruction register 46

Komendy JTAG 47