Procesory osadzone ETD Wprowadzenie W

Podobne dokumenty
Wykład 2. Mikrokontrolery z rdzeniami ARM

Architektura mikroprocesorów TEO 2009/2010

Wykład 2. Mikrokontrolery z rdzeniami ARM

Wykład 5. Architektura ARM

Budowa Mikrokomputera

Wykład 4. Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430

Wykład 7. Architektura mikroprocesorów powtórka

Podstawy Techniki Mikroprocesorowej

Procesory firmy ARM i MIPS

Projektowanie. Projektowanie mikroprocesorów

PRZEWODNIK PO PRZEDMIOCIE

MIKROKONTROLERY I MIKROPROCESORY

Bibliografia: pl.wikipedia.org Historia i rodzaje procesorów w firmy Intel

Wykład 2. Przegląd mikrokontrolerów 8-bit: -AVR -PIC

Architektura Systemów Komputerowych. Rozwój architektury komputerów klasy PC

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

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

Budowa komputera Komputer computer computare

Wykład Mikroprocesory i kontrolery

Procesory osadzone ETD 7211 W

Architektura komputerów

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Budowa i zasada działania komputera. dr Artur Bartoszewski

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

Kurs programowania mikrokontrolerów ARM z rodziny Cortex-M3

Opis efektów kształcenia dla modułu zajęć

Wykład 6. Mikrokontrolery z rdzeniem ARM

Aparatura Elektroniczna (EAE) Stopień studiów i forma: I stopień, stacjonarna Rodzaj przedmiotu: obowiązkowy - 2

Systemy na Chipie. Robert Czerwiński

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa Wstęp... 11

Rok akademicki: 2015/2016 Kod: IIN s Punkty ECTS: 4. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

Układ sterowania, magistrale i organizacja pamięci. Dariusz Chaberski

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy

Rok akademicki: 2013/2014 Kod: EEL s Punkty ECTS: 2. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

Maszyny liczace - rys historyczny

ARCHITEKTURA PROCESORA,

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

RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC,

Architektura systemów komputerowych

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek

Szkolenia specjalistyczne

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

Organizacja typowego mikroprocesora

Procesory Sygnałowe Digital Signal Processors. Elektrotechnika II Stopień Ogólnoakademicki

Systemy Wbudowane. Założenia i cele przedmiotu: Określenie przedmiotów wprowadzających wraz z wymaganiami wstępnymi: Opis form zajęć

Architektura systemów komputerowych. dr Artur Bartoszewski

WPROWADZENIE Mikrosterownik mikrokontrolery

Podstawy techniki cyfrowej i mikroprocesorowej - opis przedmiotu

KARTA PRZEDMIOTU. Architektura Komputerów C4

2. Architektura mikrokontrolerów PIC16F8x... 13

LEKCJA TEMAT: Zasada działania komputera.

elektrotechnika I stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny) Kierunkowy (podstawowy / kierunkowy / inny HES)

PRZEWODNIK PO PRZEDMIOCIE

Liczniki, rejestry lab. 08 Mikrokontrolery WSTĘP

PRZEWODNIK PO PRZEDMIOCIE

Technika mikroprocesorowa. W. Daca, Politechnika Szczecińska, Wydział Elektryczny, 2007/08

Mikroprocesory i Mikrosterowniki

Schemat blokowy procesora rdzeniowego ATmega16. Głównym zadaniem JC jest zapewnienie poprawnego i szybkiego wykonywania programu.

KARTA PRZEDMIOTU. Programowanie niskopoziomowe, C2. Low Level Programming Informatyka

Rok akademicki: 2016/2017 Kod: JIS s Punkty ECTS: 6. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

KARTA PRZEDMIOTU. Programowanie niskopoziomowe, C1

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński

Mikrokontrolery czyli o czym to będzie...

AsLinkEx instrukcja obsługi

SYSTEMY OPERACYJNE WYKŁAD 1 INTEGRACJA ZE SPRZĘTEM

Magistrala systemowa (System Bus)

Elektrotechnika II Stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny)

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

Mikroprocesory i Mikrosterowniki

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2010/2011

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

System mikroprocesorowy i peryferia. Dariusz Chaberski

Elektronika i Telekomunikacja I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

Zapoznanie z technikami i narzędziami programistycznymi służącymi do tworzenia programów współbieżnych i obsługi współbieżności przez system.

STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

Wstęp Architektura... 13

STM32 Butterfly. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

Programowanie Mikrokontrolerów

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

Technika mikroprocesorowa. Linia rozwojowa procesorów firmy Intel w latach

System czasu rzeczywistego

Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer

Elementy składowe systemu komputerowego

Programowanie niskopoziomowe

Układy zegarowe w systemie mikroprocesorowym

PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH S Y L A B U S

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

Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer

Wykład Mikrokontrolery i mikrosystemy Cele wykładu:

Architektura Komputerów

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

Programowanie w asemblerze ARM wprowadzenie

Informatyka - studium realizacji dźwięku -

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Systemy Mikroprocesorowe Czasu Rzeczywistego

Mikroprocesory i mikrosterowniki

KARTA PRZEDMIOTU. Egzamin / zaliczenie na ocenę*

PRZEWODNIK PO PRZEDMIOCIE

Transkrypt:

Procesory osadzone ETD 7211 Wprowadzenie W1 8.10.2018

Informacje Prowadzący: mgr inż. Maciej Rudek Konsultacje: Strona kursu: Poniedziałek: 11 00-13 00 Środa: 11 00-13 00 http://www.w12.pwr.wroc.pl/mikro/ Kontakt: email: maciej.rudek@pwr.edu.pl lab. 015a/C2, 104b/C2 tel. 71 320 3651 2

Informacje Wykład: 1 X, 8 X, 15 X, 22 X, 5 XI, 12 XI, 19 XI, 26 XI, 3 XII 3 Zaliczenie: 10 XII termin I, 17 XII termin II,

Informacje laboratorium: Poniedziałek: B. Świadkowski + M. Rudek Czwarek: M. Rudek 4

Konsultacje Konsultacje 18 15 Konsultacje 5 Poniedziałek: 11 00-13 00 Środa: 11 00-13 00 104b, 015a w C-2

Zaliczenie Wykład: cykl 10 wykładów kolokwium zaliczeniowe -> test wyboru około 90 pytań (50 -?) termin ostatni wykład Pytania podciągające 6 Laboratorium: 15 godzin, zajęcia w TP, TN praca na zajęciach Kartkówki i sprawozdania projekt indywidualny wybór tematu założenia projektowe kod programu uruchomienie szczegółowa dokumentacja projektu

Materiały 7 http://www.w12.pwr.wroc.pl/mikro/po.html

Wymagania wstępne cel Zakładam, że podstawy już opanowane W tym roku ciąg edukacji w praktyce 8

Tematyka kursu wykład 9 15 wykładów 10 terminów!

10 Tematyka kursu - laboratorium

Literatura kursu W ramach powtórzenia techniki cyfrowej: [1] K. M. Noga, M. Radwański, Multisim, Technika cyfrowa w przykładach, Wydawnictwo BTC, 2009 [2] B. Wilkinson, Układy cyfrowe, Wydawnictwa Komunikacji i Łączności, 2003 [3], Brian W. Kernighan, Dennis M. Ritchie, Język ANSI C, WNT Warszawa, 2000 11 Układy ARM seri LPC, STM, Cortex [1] Bryndza Lucjan, LPC2000 Mikrokontrolery z rdzeniem ARM7, Wydawnictwo BTC [2] Stawski Emil, Mikrokontrolery LPC2000 w przykładach, Wydawnictwo BTC [3] Jacek Majewski, Programowanie mikrokontrolerów LPC2000 w języku C pierwsze kroki, Wydawnictwo BTC [4] William Hohl, Asembler dla procesorów ARM. Podręcznik programisty, Wydawca: Helion [5] Lucjan Bryndza, Mikrokontrolery z rdzeniem ARM9 w przykładach, Wydawnictwo BTC [6] Krzysztof Paprocki, Mikrokontrolery STM32 w praktyce, Wydawnictwo BTC [7] J. Pasierbiński, P. Zbysiński, Układy programowalne w praktyce, Wydawnictwo WKŁ, 2001 [8] Joseph Yiu, The Definitive Guide to ARM Cortex-M3 and Cortex-M4 Processors, Elsevier Science... i wiele wiele innych pozycji Źródła internetowe: [1] http://www.nxp.com/ [2] https://www.arm.com/ [3] http://www.st.com/ [4] http://www2.keil.com/mdk5/learn

Literatura kursu 12 http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0234b/i1005422.html

Laboratorium Programowanie układów ARM: LPC2368, Język programowania: assembler, C, C++ (?), Środowisko: Keil uvision5 Zestaw: EVBmm + MMlpc236x firmy PROPOX + peryferia dodatkowe ARM 7-TDMI firmy NXP LPC2368 13 dokumentacja: http://propox.com/

A co jeśli Suma: ~511 zł 14 Źródło: https://kamami.pl/ http://www.propox.com/

Przydatne linki 15 http://www.propox.com/download/docs/evbmmtm_pl.pdf http://www.propox.com/download/docs/mmlpc236x_sch.pdf http://www.propox.com/download/docs/mmlpc236x_pl.pdf http://www.nxp.com/documents/data_sheet/lpc2364_65_66_67_68.pdf

Środowisko Keil uvision5 szeroka gama obsługiwanych układów rodziny ARM, możliwość debugowania, kodowanie w asemblerze, C, C++, darmowy do 32 kb kodu https://www.keil.com/download/product/ MDK-ARM 16

Jak instalować? 2 1 3 1. 2. 17 1. https://www.keil.com/download/product/ 2. http://www2.keil.com/mdk5/legacy

Dlaczego? C:\Keil_v5\UV4\ 18

19 Najważniejsze by

Analiza danych w czasie rzeczywistym Analizator stanów logicznych firmy Digilent pełni rolę: oscyloskopu, 16-kanałowego analizatora stanów logicznych, 2-kanałowego generatora 20

Coś o samym procesorze ARM

Szerokość bramki? Prawo Moore a 22 Prawo Moore a 1965 przewiduje wykładniczy wzrost liczby tranzystorów w układach scalonych co 12 18 miesięcy

Struktura osadzona PLD, CPLF, FPGA ARM: architektura ARM powstała w latach 80-tych ubiegłego wieku, Powstał w zamian procesora MOS Technology 6502 (Apple II) produkt firmy Acorn RISC Machine, ARM - Advanced RISC Machine około 90% stosowanych procesorów 32- bitowych typu RISC to procesory z jądrem ARM 23 MIKROKONTROLER, PROCESOR

Struktura osadzona PLD, CPLF, FPGA ARM: architektura ARM powstała w latach 80-tych ubiegłego wieku, Powstał w zamian procesora MOS Technology 6502 (Apple II) produkt firmy Acorn RISC Machine, ARM - Advanced RISC Machine około 90% stosowanych procesorów 32- bitowych typu RISC to procesory z jądrem ARM 24 MIKROKONTROLER, PROCESOR 5 września 2016 r. 32 miliardy $ 2017 roku: 100 miliardów procesorów ARM

Krótka historia ARM 25 1978 - powstanie firmy Acorn Computers w Cambridge 0 1985 - Acorn Computer Group opracowuje pierwszy procesor typu RISC processor - firma zostaje przejęta przez Olicetti The company was taken over by Olivetti, after coming close to bankruptcy following the collapse of the UK home computer market the previous year. 1987-procesor firmy Acorn - ARM jest dostępny w pierwszym tanim komputerze PC 1990 - Powstaje firma ARM jako spin-off firm: Acorn i Apple, 1992 - firmy Sharp i GEC Plessy wykorzystując technologię ARM 1998 - wejście na giełgę w Londynie - ARM Holdings 1999 - firma ARM staje się członkiem FTSE 1000 (Financial Times Stock Exchange - 100 największych spółek w GB) 2001 - ARM posiada 76,8 % udziału w 32-bitowym rynku procesoró typu RISC 2007-98 % z ponad 1 mld telefonów komórkowych sprzedawanych co roku wykorzystuje co najmniej jeden procesor ARM. 2008 - wytworzenie 10 miliardowego procesora 2011 - wkroczenie w rynek ARM firmy Microsoft Steve Ballmer, dyrektor wykonawczy firmy Microsoft, zapowiada plany oparcia nowej generacji systemu operacyjnego Microsoft Windows na procesorach ARM

Historia ARM 1999-2000 ARM zostaje przejęty przez Micrologic i Infinite Designs. 2001 ARM przechodzi do rąk Noral Micrologics 2003 ARM nabywa Adelante Technologies 2004 ARM wykupuje Axys Design Automation 2005 ARM odkupuje KEIL Software 2006 ARM nabywa Falanx 2016 następuje przejęcie spółki przez japoński koncern SoftBank 26

ARM w świecie 27 https://www.arm.com https://www.arm.com/support/university/students

Do jakiej rodziny należy ARM? CISC vs RISC CISC Complex Instruction Set Computer obszerna lista rozkazów 100-300, złożone polecenia, duża liczba trybów adresowania dostępna w rozkazach wewnętrznych, mała liczba rejestrów roboczych, zróżnicowane czasy wykonywania rozkazów rozbudowana architektura struktury krzemowej, większy pobór mocy RISC Reduced Instruction Set Computer zredukowana lista rozkazów do 128, rozkazy mają prostą treść operacyjną mała liczba trybów adresowanie dostępna w rozkazach wewnętrznych (do 4), jednakowa długość słowa rozkazowego, ujednolicony czas wykonania rozkazów, duża liczba rejestrów roboczych brak bezpośredniego odwołania do pamięci 28 Mały rozmiar kodu, znacznie większa liczba cykli zegara Nacisk na część sprzętową Niewielka liczba cykli zegarowych, znacznie obszerniejszy rozmiar kodu (prostsze instrukcje) Nacisk na część programową

Jaką architekturę posiada ARM? Architektura: von Neumanna vs harwardzka von Neumann Wspólna magistrala dla pamięci danych i pamięci programu Dane przechowywane są wspólnie z instrukcjami Pamięć składa się z ponumerowanych komórek Możliwość wprowadzenie programu przez urządzenia zewnętrzne harwardzka Rozdzielona magistrala zapewniająca dostęp do pamięci programu i danych Możliwość równoczesnego pobierania danych i instrukcji W wypadku mikrokontrolerów dane programu zapisywane są najczęściej w pamięci ROM natomiast dane tymczasowe w pamięci RAM Rdzeń ALU Pamięć Pamięć instrukcji Rdzeń Pamięć danych 29 Układy we/wy

Architektura układów ARM Warianty architektury układów ARM ARM v1 ARM v2 ARM v3 ARM v4 ARM v5 ARM v6 ARM v7 ARM v8 rok 1985 wersja testowa, rok 1987 I - wersja produkcyj na rok 1989 rok 1993 rok 1998 rok 2002 rok 2006 rok 2012 30 ARM1 ARM2 ARM250 ARM3 ARM6 ARM7 ARM8 ARM7TDMI ARM7TDMI-S ARM9TDMI SC100 ARM7EJ ARM9E ARM10E ARM11, Cortex-M0, Cortex-M0+, Cortex- M1, SC000, Cortex- M3, SecurCore SC300, Cortex-M4, Cortex-M7, Cortex- R4, Cortex-R5, Cortex-R7, Cortex-A5, Cortex-A7, Cortex-A8, Cortex-A9, Cortex- A12, Cortex-A15, Cortex-A17 Cortex-A53, Cortex-A57, Cortex-A72

Architektura układów ARM 31 ARM v1 ARM v2 ARM v2a ARM v3 ARM v4 ARM v5 ARM v6 ARM v7, ARM v8 pierwsza wersja procesora ARM, adresowanie 26-bitowe, brak mnożenia, brak koprocesora pierwsza wersja komercyjna, dodano mnożenie 32-bitowe, pojawia się koprocesor pierwsze użycie pamięci cache, do 12 MIPS przy 25 MHz adresowanie 32-bitowe, magistrala do pamięci cache oraz do koprocesora, kontroler pamięci, 40 MIPS przy 56 MHz 3 oraz 5 stanowe przetwarzanie potokowe (pipelining), instrukcje ARM/Thumb, układy kontroli pamięci, do 200 MIPS przy 200 MHz, najbardziej popularna wersja stosowana do dzisiaj 6 oraz 7 stanowe przetwarzanie potokowe (pipelining), instrukcje ARM/Thumb/Jazell/DSP, wielopoziomowy cache, do 1000 MIPS 8 oraz 9 stanowe przetwarzanie potokowe (pipelining), instrukcje ARM/Thumb/Jazell/DSP, wielopoziomowy cache, optymalizowany pod kątem audio i wideo rodzina Cortex (pomijając M0, M1), 13 stanowe przetwarzanie potokowe, sprzętowe mnożenie i dzielenie stało i zmiennoprzecinkowe, do 10000 MIPS, wsparcie dla kryptografi

Architektura układów ARM Rdzenie stosowane w układach Wersja architektury ARM Zestawy instrukcji i technologie 32

Rodzina układów CORTEX Cortex-A Cortex-R Cortex-M - procesory do zastosowań aplikacyjnych, - obsługa systemów operacyjnych, - stosowane w sprzętach ogólnego użytku: tablety, telefony, dekodery HDTV itp. - procesory przeznaczone do zastosowań w systemach czasu rzeczywistego, - niski pobór mocy, - stosowane w układach ABS, sterownikach HDD, Ethrnet Motoryzacja, lotnictwo, energetyka - procesor pełniący głównie rolę mikrokontrolera, - niski pobór mocy, - niska cena, - stosowane w aplikacjach homemade, inteligente czujniki itp. - wsparcie dla RTOS 33

34 Rodzina układów CORTEX

35 Rodzina układów CORTEX-M

36 Architektura układów ARM w liczbach

Oznaczenia rdzeni ARM ARM {x} {y} {z} {T} {D} {M} {I} {E} {J} {F} {S} 37 x y z T D M I E J F S rodzina rdzenia, na jej podstawie można określić architekturę zarządzanie pamięcią/ ochrona pamięcia pamięć cache Thumb, rdzeń może wykonywać 16-bitowe rozkazy Debug, rdzeń został wyposażony w JTAG umożliwiający debugowanie Multiplier, układ wyposażony w sprzętowy układ mnożący In-Circuie Emulator, możliwość debugowania w układzie Enhanced DSP, wydajne instrukcje DSP Tryb Jazelle Floating Point, wsparcie dla obliczeń zmiennoprzecinkowych Synthesizable dostępna wersja syntezowalna, kody źródłowe

Czy Thumb się opłaca? ARM/Thumb ARM polecenia 32-bitowe (szerokość słowa 32-bity) rozwiązanie mało ekonomiczne pamięć Flash składanie słów ogranicza prędkość działania Thumb po raz pierwszy w rdzeniach ARM v4 zmodyfikowany zestaw poleceń procesor może wykonywać program z pamięci o szerokości magistrali 8 lub 16-bitów, podczas gdy standardowa szerokość słowa wynosi 32-bity 38 Polecenia na liście Thumb są tak samo efektywne jak polecenia na liście ARM

Rozkazy procesora Rdzeń procesora ARM może pracować w jednym z następujących trybów: ARM Thumb Jazelle - 32-bitowe instrukcje, kod programu zostaje wyrównany do 4 bajtów, - szybszy nawet o 40% - Stosowany gdy wydajność jest parametrem krytyczny - zestaw 16-bitowych instrukcji, - upakowanie kodu większe nawet do 70% w stosunku do ARM, - zużycie mniejszej ilości pamięci/zasobów nawet do 30% - Mniejsze zużycie energii - tryb pozwalający na bezpośrednie wykonywanie instrukcji zgodnych ze specyfikacją języka Java, - wszystkie instrukcje są 8 bitowe, - procesor odczytuje zawsze 4 kolejne instrukcje 39

Potokowość (pipelining) podział zadania na odrębne części, 3 etapowe przetwarzanie potokowe każda instrukcja musi mieć te same fazy wykonania, jeśli dana instrukcja nie wykorzystuje wszystkich faz, procesor wykonuje puste cykle zegara dla tej instrukcji, w danym cyklu, procesor wykonuje jednocześnie kilka instrukcji, ale każda znajduje się w innym stopniu zaawansowania Instrukcja Pobranie Dekodowanie Wykonanie ADDS R0, R4, R8 ADCS R1, R5, R9 ADDS R0, R4, R8 ORR R0, R0, #3 ADCS R1, R5, R9 ADDS R0, R4, R8 ADCS R3, R7, R1 ORR R0, R0, #3 ADCS R1, R5, R9 ADDS R0, R4, R8 ADCS R3, R7, R1 ORR R0, R0, #3 ADCS R1, R5, R9 Cykl zegara N N+1 N+2 N+3 N+4 40

ARM7TDMI-S

Oznaczenia rdzeni ARM ARM {x} {y} {z} {T} {D} {M} {I} {E} {J} {F} {S} 42 x y z T D M I E J F S rodzina rdzenia, na jej podstawie można określić architekturę zarządzanie pamięcią/ ochrona pamięcia pamięć cache Thumb, rdzeń może wykonywać 16-bitowe rozkazy Debug, rdzeń został wyposażony w JTAG umożliwiający debugowanie Multiplier, układ wyposażony w sprzętowy układ mnożący In-Circuie Emulator, możliwość debugowania w układzie Enhanced DSP, wydajne instrukcje DSP Tryb Jazelle Floating Point, wsparcie dla obliczeń zmiennoprzecinkowych Synthesizable dostępna wersja syntezowalna, kody źródłowe

Oznaczenia rdzeni ARM ARM7 TDMI-S ARM {x} {y} {z} {T} {D} {M} {I} {E} {J} {F} {S} 43 x y z T D M I E J F S rodzina rdzenia, na jej podstawie można określić architekturę zarządzanie pamięcią/ ochrona pamięcia pamięć cache Thumb, rdzeń może wykonywać 16-bitowe rozkazy Debug, rdzeń został wyposażony w JTAG umożliwiający debugowanie Multiplier, układ wyposażony w sprzętowy układ mnożący In-Circuie Emulator, możliwość debugowania w układzie Enhanced DSP, wydajne instrukcje DSP Tryb Jazelle Floating Point, wsparcie dla obliczeń zmiennoprzecinkowych Synthesizable dostępna wersja syntezowalna, kody źródłowe

ARM7TDMI (architektura ARMv4) architektura ARM v4t, von Neumanna, rodzina ARM7 32 bitowa szerokość magistrali 44 LPC2368, ARM7TDMI-S

ARM7TDMI organizacja pamięci Ogólnie 37 rejestrów.. Rejestry R0 R12 przeznaczenie ogólne R13 SP wskaźnik stosu R14 LR rejestr powrotny R15 PC licznik programu CPSR (Current Program Status Register) rejestr statusowy Dane pamięć RAM Stałe pamięć Flash Pamięć posiada organizację bajtową 45. a co z pozostałymi rejestrami?

Rejestr statusowy Rejestr statusowy CPSR podaje aktualny stan w jakim znajduje się mikroprocesor. Rejestr ten podzielony jest na bity i pola bitowe. Znaczenie flag: N = ujemny wynik operacji Z = wynik operacji =0 C = przeniesienie/pożyczka V = przepełnienie Znaczenie bitów: I = wyłączenie przerwania IRQ F = wyłączenie przerwania FIQ T = tryb Thumb lub ARM 46

Rejestr statusowy tryby pracy Pole bitowe M4:0 w rejestrze CPSR odzwierciedlają aktualny tryb pracy rdzenia. Tryb pracy określa, z których zasobów w danym momencie można skorzystać: np. obszary pamięci, rejestry, układy peryferyjne 47 TRYB USER - tryb użytkownika, przeznaczony do wykonywania programów użytkownika, brak wpływu na CPSR FIQ - tryb obsługujący przerwania i wyjątki o wysokich priorytetach (super szybki) IRQ - obsługa przerwań z niskim priorytetem (może zostać przerwany przez FIQ) ABORT - obsługa wyjątków związanych z pamięcią UNDEF - obsługa nieznanych/niezdefiniowanych rozkazów SYSTEM - dostęp do rejestrów tak jak w trybie USER jednak możliwy dostęp do różnych obszarów pamięci SVC - tryb superużytkownika, zaraz po włączeniu zasilania

Pierwsze kroki podczas zajęć laboratoryjnych

Zakładanie projektu Keil uvision5 Pasek narzędzi Okno projektu Okno komunikatu 49

Zakładanie projektu Keil uvision5 1 2 3 Szukamy LPC 2368 4 5 6 50

Zakładanie projektu Keil uvision5 #include <lpc23xx.h> int main(void) { while(1); } 51

Programowanie programujemy z JTAG-iem programujemy z RS-em 52

53 Keil - programowanie JTAG

54 Keil - programowanie JTAG

55 Keil - programowanie JTAG

56 Debugger - podglądanie

57 Dziękuję za uwagę

Materiały do przygotowania Podstawowe wiadomości z obsługi Keil a, Co to jest JTAG, Czym różni się JTAG od szeregowego po SPI i RS-232, Jakie układy znajdują się na makiecie, Jak podłączyć ARM a do makiety, Materiały na stronie www.