Elementy składoweµc - przypomnienie



Podobne dokumenty
SWB - Programowanie mikrokontrolerów - wykład 10 asz 1. Programowanie mikrokontrolerów - wykład 10

Mikrokontroler AVR ATmega32 - wykład 9

Techniki mikroprocesorowe i systemy wbudowane

Mikrokontrolery 8 bit - wprowadzenie

MIKROKONTROLERY I MIKROPROCESORY

Organizacja typowego mikroprocesora

Technika mikroprocesorowa. Języki programowania mikrokontrolerów

Mikroprocesory i Mikrosterowniki

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

2. Architektura mikrokontrolerów PIC16F8x... 13

Mikroprocesory i Mikrosterowniki

Maszyny liczace - rys historyczny

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

Mikroprocesory i mikrosterowniki

Systemy wbudowane. Wprowadzenie. Struktura. Mikrokontrolery AVR. Wprowadzenie do programowania w C

Liczniki, rejestry lab. 08 Mikrokontrolery WSTĘP

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

Wstęp Architektura... 13

Systemy Wbudowane. Arduino, AVR. Arduino. Arduino. Arduino. Oprogramowanie. Mikrokontroler. Mikrokontroler Platforma Arduino. Arduino IDE: Arduino C:

Kurs Elektroniki. Część 5 - Mikrokontrolery. 1/26

Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów

dokument DOK wersja 1.0

Metody obsługi zdarzeń

Podstawy Techniki Mikroprocesorowej

Narzędzia programowe

Architektura komputerów

Systemy wbudowane Mikrokontrolery

Akademia Górniczo- Hutmicza w Krakowie Katedra Elektroniki WIET

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

Podstawy programowania

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

43 Pamięci półprzewodnikowe w technice mikroprocesorowej - rodzaje, charakterystyka, zastosowania

Moduł uruchomieniowy AVR ATMEGA-16 wersja 2

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

KAmduino UNO. Rev Źródło:

System mikroprocesorowy i peryferia. Dariusz Chaberski

KAmduino UNO. Płytka rozwojowa z mikrokontrolerem ATmega328P, kompatybilna z Arduino UNO

Opis funkcjonalny i architektura. Modu³ sterownika mikroprocesorowego KM535

WPROWADZENIE Mikrosterownik mikrokontrolery

Komunikacja w mikrokontrolerach. Wydział Elektroniki Mikrosystemów i Fotoniki Piotr Markowski

Programowanie mikrokontrolerów AVR

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

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

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

ARCHITEKTURA PROCESORA,

Podstawy techniki mikroprocesorowej. Dr inż. Grzegorz Kosobudzki p.311a A-5. Tel

Wykład Mikroprocesory i kontrolery

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych

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

Charakterystyka mikrokontrolerów

1. Wstęp Różnice pomiędzy mikrokontrolerami ST7 a ST7LITE Rdzeń mikrokontrolerów ST7FLITE... 15

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/ / 24

Systemy wbudowane. Paweł Pełczyński

11.Mikrokomputeryjednoukładowe

Elementy składowe systemu komputerowego

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

Systemy wbudowane. Przykłady kodu Assembler

LEKCJA TEMAT: Zasada działania komputera.

Programowanie komputerów

Architektura komputerów

Tworzenie nowego projektu w asemblerze dla mikroprocesora z rodziny 8051

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

Grzegorz Cygan. Wstęp do programowania mikrosterowników w języku C

Przerwania, polling, timery - wykład 9

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Szkolenia specjalistyczne

Mikrokontrolery AVR ATmega

Ćwiczenie 5 Zegar czasu rzeczywistego na mikrokontrolerze AT90S8515

Wykład IV. Układy we/wy. Studia Podyplomowe INFORMATYKA Architektura komputerów

STM32 Butterfly. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

Programowanie niskopoziomowe

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami

Programowanie Niskopoziomowe

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

Podstawy techniki cyfrowej i mikroprocesorowej II. Urządzenia wejścia-wyjścia

Programator procesorów AVR, część 1

Wstęp Podstawowe informacje o mikroprocesorach AT91SAM9...11

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy

Mikrokontroler ATmega32. Język symboliczny

ZL8AVR. Płyta bazowa dla modułów dipavr

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)

Kompilator języka C na procesor 8051 RC51 implementacja

Mikroprocesor Operacje wejścia / wyjścia

Moduł prototypowy X3-DIL64 z procesorem ATxmega128A3U-AU

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

Instrukcja obsługi programatora AVR Prog USB v2

Użycie AVR Studio do kompilacji AVRUB

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

Instrukcja obsługi programatora AVR Prog USB v2

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

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

Komunikacja z urzadzeniami zewnętrznymi

Schemat blokowy architektury AVR

UNO R3 Starter Kit do nauki programowania mikroprocesorów AVR

Przedmiot : Programowanie w języku wewnętrznym. Ćwiczenie nr 4

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

PODSUMOWANIE DOŚWIADCZEŃ NAUCZANIA PROGRAMOWANIA MIKROKONTROLERÓW 8-BITOWYCH AVR W ŚRODOWISKU AVRSTUDIO

JTAG Isolator. Separator galwaniczny JTAG dla ARM, AVR i FPGA

SYSTEMY CZASU RZECZYWISTEGO (SCR)

Transkrypt:

SWB - Programowanie mikrokontrolerów - wykład 8 asz 1 Elementy składoweµc - przypomnienie Elementy składoweµc: procesor z ALU pamięć komputera (zawierająca dane i program) urządzenia wejścia/wyjścia

SWB - Programowanie mikrokontrolerów - wykład 8 asz 2 Obraz pamięci ROM i RAM µc AVR ATMega32 posiada architekturę Harwardzką - osobna przestrzeń adresowa (szyny danych i adresowe) dla pamięci ROM i pamięci RAM Pamięć ROM - 16kB pamięci Flesh (programu) zorganizowanej po 16 bitów. Szacowana żywotność pamięci Flesh - kilka tysięcy cykli zapisu i odczytu. Do adresowania pamięci stosuje się 14 bitowy licznik programu - rejestr PC. Pamięć RAM - 32kB pamięci zorganizowanej po 8 bitów.

SWB - Programowanie mikrokontrolerów - wykład 8 asz 3 Obraz pamięci programu bootloader - istnieje możliwość uruchomienia programu z bootloadera po resecie, bootloader umożliwia programowanie pamięci programu bez użycia programatora (tryby SPI, JTAG, albo równoległego), "właściwy" program umieszczany jest na początku przestrzeni programu.

SWB - Programowanie mikrokontrolerów - wykład 8 asz 4 Pamięć danych W pierwszych 96 komórkach RAM są umieszczone Rejestry i pamięć I/O, Od 97 do 2048 jest wewnętrzna pamięć SRAM, 32 rejestry ogólnego przeznaczenia, 64 rejestry I/O. Jest pięć sposobów (trybów) adresowania danych: bezpośrednie, pośrednie z przemieszczeniem, pośrednie, pośrednie z preinkrementacja, pośrednie z postinkremetacja, Do adresowań pośrednich wykorzystuje się rejestry od R26 do R31.

SWB - Programowanie mikrokontrolerów - wykład 8 asz 5 Nieulotna pamięć danych EEPROM ATmega32 zawiera 1024 bajty nieulotnej pamięci danych EEPROM. Przestrzeń adresowa jest liniowa od 0 do 1023. Przestrzeń ta jest zorganizowana jako osobna przestrzeń danych z zapisem i odczytem bajtowym, Dostęp do pamięci w specjalny sposób poprzez rejestry EEARH EEARL (rejestry adresu), EEDR (rejestr danych), EECR - rejestr kontrolny

SWB - Programowanie mikrokontrolerów - wykład 8 asz 6 Odczyt i zapis z pamięci danych EEPROM

SWB - Programowanie mikrokontrolerów - wykład 8 asz 7 Kod maszynowy Kod maszynowy to postać programu komputerowego (zwana postacią wykonywalną lub binarną) przeznaczona do bezpośredniego lub prawie bezpośredniego wykonania przez procesor. Jest ona dopasowana do konkretnego typu procesora i wyrażona w postaci rozumianych przez niego kodów rozkazów i ich argumentów, Po kompilacji kod maszynowy zapisywany jest w plikach o rozszerzeniu hex albo bin, Bardzo trudna i nieczytelna do bezpośredniej analizy.

SWB - Programowanie mikrokontrolerów - wykład 8 asz 8 Asembler Asembler jest językiem niskopoziomowym, gdzie każdej instrukcji procesora odpowiada słowne polecenie (mnemonik) wraz z operandami np.: ldi r16, 15 inc r16

SWB - Programowanie mikrokontrolerów - wykład 8 asz 9 Podstawowe elementy języka Asembler Etykieta dyrektywy makra podoprogramy

SWB - Programowanie mikrokontrolerów - wykład 8 asz 10 Dyrektywy asemblera.def nazwa=rxx Przypisanie rejestrowi Rxx nazwy nazwa..equ etykieta=wyr Dyrektywa przypisuje etykiecie wartość określoną wyrażeniem. Wartość przypisana etykiecie nie może być zmieniona.set etykieta=wyr Dyrektywa przypisuje etykiecie wartość określoną wyrażeniem..org wyrażenie - Ustawia licznik lokacji pamięci ROM na wartość określoną wyrażeniem.

SWB - Programowanie mikrokontrolerów - wykład 8 asz 11 Stos i rejestr Wskaźnik stosu Miejsce na stosie (adres stosu) wskazuje wskaźnik stosu, Wskaźnik stosu składa się z dwóch rejestrówsph ispl zawierających odpowiednio starszy i młodszy bajt adresu stosu. Jeśli chcemy korzystać ze stosu musimy go najpierw zainicjalizować - wpisać adres do rejesrtów sp np.: ldi R17, 0x08 ldi R16, 0x5f Out Sph, R17 Out Spl, R16

SWB - Programowanie mikrokontrolerów - wykład 8 asz 12 Licznik rozkazów Licznik rozkazów (PC) - rejestr procesora zawierający adres aktualnie wykonywanej lub następnej w kolejności instrukcji kodu maszynowego. Licznik rozkazu nie może być modyfikowany poprzez bezpośrednie wpisanie wartości W przerwaniach, instrukcjach typu call zawartość rejestru PC kładziona jest na stos

SWB - Programowanie mikrokontrolerów - wykład 8 asz 13 Kompilacja Kompilacja to proces automatycznego tłumaczenia kodu napisanego w języku programowania na kod maszynowy. Dane wejściowe najczęściej nazywa się kodem źródłowym. Kompilacja może być częścią większego "procesu tłumaczenia", tworzony w jej trakcie kod wynikowy ( object code) jest przekazywany do innych programów ( linkera), Nazwa kompilacja na co dzień jest używana w kontekście tłumaczenia z języka wyższego poziomu na język niższego poziomu. Tłumaczenie w odwrotnym kierunku określa się terminem dekompilacji.

SWB - Programowanie mikrokontrolerów - wykład 8 asz 14 Języki wysokiego rzędu W językach tych pojedynczej instrukcji zazwyczaj odpowiada wiele instrukcji procesora, W wyniku kompilacji otrzymany kod jest daleki od najbardziej efektywnego, zaletą jest łatwość w programowaniu.

SWB - Programowanie mikrokontrolerów - wykład 8 asz 15 Łaczenie języków programowania - wstawki asemblerowe W BASCOM-AVR używamy $ASM i kończymy $END ASM, nie wszystkie dyrektywy i makra są dostępne w BASCOM-AVR.

SWB - Programowanie mikrokontrolerów - wykład 8 asz 16 Tryb adresowania bezpośrednie, pośrednie z przemieszczeniem, pośrednie, pośrednie z preinkrementacją, pośrednie z postinkremetacją.

SWB - Programowanie mikrokontrolerów - wykład 8 asz 17 Sposoby programowania mikrokontrolerów Mikrokontrolery można programować na trzy sposoby: 1. High voltage Programming czyli sposób programowania wprowadzony ponad 15lat temu do programowania pamięci EPROM za pomocą sygnałów 12V. 2. Emulacja pamięci ROM 3. ISP (In-System Programmable) które nie wymaga wyjmowania układu z systemu w którym pracuje. 4. wykorzystuje Bootloader, czyli "kawałek" kodu który programuje nasz mikrokontroler np. przez port szeregowy, Bluetooth czy USB. Nie wymaga posiadania programatora poza pierwszym programowaniem (jakoś trzeba wgrać Bootloader).

SWB - Programowanie mikrokontrolerów - wykład 8 asz 18 JTAG JTAG (ang. Joint Test Action Group) to nazwa standardu IEEE 1149.1 definiującego protokół używany do testowania połączeń na płytkach drukowanych, Stosowany także do uruchamiania i programowania układów programowalnych i systemów mikroprocesorowych, Jednym z najważniejszych założeń standardu JTAG jest możliwość programowania układu bez zewnętrznego programatora (ang. In-System Programming, w skrócie ISP).

SWB - Programowanie mikrokontrolerów - wykład 8 asz 19 Programowanie poprzez ISP In-System Programming lub ISP umożliwiające zaprogramowanie układu bez demontażu, Możliwość połączenia programowania i testowania w jednej fazie produkcyjnej, Układy scalone wyposażone w ISP mają wewnętrzne obwody, generujące napięcia, niezbędne do zaprogramowania wbudowanej pamięci, z typowego napięcia zasilającego, a także interfejs szeregowy, umożliwiający komunikację z programatorem. Do komunikacji większość układów wykorzystuje protokół JTAG, choć są w tym celu wykorzystywane także inne protokoły, np. SPI.

SWB - Programowanie mikrokontrolerów - wykład 8 asz 20 Zadania na ćwiczenia Wszystkie zadania należy wykonać w środowisku BASCOM-AVR 1. Napisz program, który posługując się językiem asembler, wpisze zawartość rejestru r16 do zmiennej typu integer. Zmienną tą wyślij na konsole, używając funkcji Bascom-AVR. 2. Napisz program, który posługując się językiem asembler, zapisuje do obszaru nieulotnej pamięci danych 1 bajt. 3. Napisz program, który posługując się językiem asembler, liczy liczbę resetów. Licznik ma liczyć resety nawet po odłączeniu zasilania. Wynik (liczbę resetów) wyślij na konsole, używając funkcji Bascom-AVR.