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

Podobne dokumenty
Szkolenia specjalistyczne

1. Wprowadzenie Programowanie mikrokontrolerów Sprzęt i oprogramowanie... 33

Wykład Mikroprocesory i kontrolery

Błąd pamięci karty graficznej lub Uszkodzona lub źle podpięta karta graficzna

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

dokument DOK wersja 1.0

Wstęp Architektura... 13

WPROWADZENIE Mikrosterownik mikrokontrolery

2. Architektura mikrokontrolerów PIC16F8x... 13

System mikroprocesorowy i peryferia. Dariusz Chaberski

Systemy na Chipie. Robert Czerwiński

1.2. Architektura rdzenia ARM Cortex-M3...16

Sprawozdanie z projektu MARM. Część druga Specyfikacja końcowa. Prowadzący: dr. Mariusz Suchenek. Autor: Dawid Kołcz. Data: r.

Architektura komputerów

Architektura komputera

Cyfrowy rejestrator parametrów lotu dla bezzałogowych statków powietrznych. Autor: Tomasz Gluziński

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

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

Wstęp do informatyki. Interfejsy, urządzenia we/wy i komunikacja. Linie magistrali

Budowa i zasada działania komputera. dr Artur Bartoszewski

Architektura komputerów

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

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

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

Spis treści. Wstęp... 10

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

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)

Technologia informacyjna. Urządzenia techniki komputerowej

LEKCJA TEMAT: Zasada działania komputera.

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

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

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

MIKROKONTROLERY I MIKROPROCESORY

KAmduino UNO. Rev Źródło:

Architektura systemów komputerowych. dr Artur Bartoszewski

STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

Technika Mikroprocesorowa

Magistrala systemowa (System Bus)

Wykład Mikrokontrolery i mikrosystemy Cele wykładu:

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

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

Współpraca procesora ColdFire z pamięcią

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

Urządzenia wejścia-wyjścia

Wykład I. Podstawowe pojęcia. Studia Podyplomowe INFORMATYKA Architektura komputerów

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

Sprawdzian test egzaminacyjny 2 GRUPA I

3. Sygnały zegarowe i ich konfiguracja, mechanizmy bezpieczeństwa... 47

Systemy wbudowane. Paweł Pełczyński

Rozdział 2. Programowanie Arduino i kodowanie społecznościowe (29)

STM32 Butterfly. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

Przykładowe pytania DSP 1

Sprawdzian test egzaminacyjny GRUPA I

IdyllaOS. Prosty, alternatywny system operacyjny. Autor: Grzegorz Gliński. Kontakt:

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

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

KARTA PRZEDMIOTU. Egzamin / zaliczenie na ocenę*

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

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

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

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

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

Test wiedzy z UTK. Dział 1 Budowa i obsługa komputera

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

Księgarnia PWN: Włodzimierz Stanisławski, Damian Raczyński - Programowanie systemowe mikroprocesorów rodziny x86

XXXII Olimpiada Wiedzy Elektrycznej i Elektronicznej. XXXII Olimpiada Wiedzy Elektrycznej i Elektronicznej

Mikrokontrolery AVR i ARM : sterowanie wyświetlaczami LCD / Tomasz Francuz. Gliwice, cop Spis treści

Programowanie Mikrokontrolerów

Programowanie sterowników przemysłowych / Jerzy Kasprzyk. wyd. 2 1 dodr. (PWN). Warszawa, Spis treści

Programator procesorów rodziny AVR AVR-T910

Mikroprocesory rodziny INTEL 80x86

Podstawy technologii informacyjnej. Beata Kuźmińska

Urządzenia zewnętrzne

MOD STM32 explorem0 z STM32F051C8T6. sklep.modulowo.pl akademia.modulowo.pl zestawy.modulowo.pl app.modulowo.pl blog.modulowo.

ISBN Copyright by Wydawnictwo BTC Legionowo 2008

BUDOWA KOMPUTERA. Monika Słomian

USB interface in 8-bit microcontrollers PIC18F family manufactured by Microchip.

Pamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4

Rys. 1. Schemat ideowy karty przekaźników. AVT 5250 Karta przekaźników z interfejsem Ethernet

Inteligentny czujnik w strukturze sieci rozległej

ZL25ARM. Płyta bazowa dla modułów diparm z mikrokontrolerami STR912. [rdzeń ARM966E-S]

Programowanie w językach asemblera i C

Informacje dla dociekliwych

1. Opis aplikacji. 2. Przeprowadzanie pomiarów. 3. Tworzenie sprawozdania

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

Kurs SINAMICS G120 Konfiguracja i uruchomienie. Spis treści. Dzień 1

Warsztaty szkoleniowe. Technologia SafetyLon w systemach związanych z bezpieczeństwem funkcjonalnym Narzędzia SafetyLon Moduł 4.5.

SPIS TREŚCI: KARTY GRAFICZNE... 15

Kod produktu: MP01105

Programowalne Układy Cyfrowe Laboratorium

Mikroprocesor Operacje wejścia / wyjścia

System wizyjny OMRON Xpectia FZx

Procesor ma architekturę rejestrową L/S. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset nand Rx, Ry, A add Rx, #1, Rz store Rx, [Rz]

OPTIMA PC v Program konfiguracyjny dla cyfrowych paneli domofonowy serii OPTIMA ELFON. Instrukcja obsługi. Rev 1

Kurs STARTER S5. Spis treści. Dzień 1. III Budowa wewnętrzna, działanie i obsługa sterownika (wersja 0504)

Płyty główne rodzaje. 1. Płyta główna w formacie AT

ZL9AVR. Płyta bazowa dla modułów ZL7AVR (ATmega128) i ZL1ETH (RTL8019)

Skrócony przewodnik OPROGRAMOWANIE PC. MultiCon Emulator

ZL28ARM. Zestaw uruchomieniowy dla mikrokontrolerów AT91SAM7XC

Transkrypt:

Spis treści 3 Wstęp...9 1. Podstawowe informacje o mikroprocesorach AT91SAM9...11 1.1. Krótka charakterystyka wybranych mikroprocesorów serii AT91SAM9...12 1.1.1. Cechy wspólne... 12 1.1.2. Rodzina SAM9 w porównaniu z SAM7... 13 1.1.3. Przenośność kodu pomiędzy SAM7 i SAM9... 15 1.2. Rdzeń ARM926EJ-S...15 1.2.1. Szybkość działania... 15 1.2.2. Pamięci cache... 16 1.2.3. Architektura Harvard, ale...... 16 1.2.4. Jednostka zarządzania pamięcią MMU... 18 1.3. Pamięci...18 1.3.1. Pamięci w AT91SAM9260 co z nimi zrobić?... 19 1.3.2. Pamięci zewnętrzne... 19 1.3.3. Problem szybkości pamięci zewnętrznej... 21 1.3.4. Pamięci TCM... 22 2. Jak to podłączyć?... 23 2.1. Zasilanie...24 2.2. Taktowanie...26 2.3. Interfejsy USB...27 2.3.1. Podłączenie modułu UDP... 28 2.3.2. Podłączenie modułu UHP... 28 2.4. Interfejs JTAG...29 2.5. Wyprowadzenia do sterowania pracą mikroprocesora...30 2.5.1. JTAGSEL... 30 2.5.2. TST... 31 2.5.3. OSCSEL... 31 2.5.4. BMS... 31 2.5.5. SHDN... 32 2.5.6. WKUP... 32 2.6. Podłączanie pamięci do zewnętrznej magistrali równoległej...33 2.6.1. Pojedyncza pamięć SDRAM z interfejsem 16-bitowym... 33 2.6.2. Projekt płytki drukowanej... 34 2.6.3. Dwie pamięci SDRAM i interfejs 32-bitowy... 36 2.6.4. Pamięci Flash... 38 2.7. Tanie płytki testowe dla mikroprocesorów z rodziny AT91SAM926x...40

4 Spis treści 3. Zaczynamy... 43 3.1. Co się dzieje po zresetowaniu mikroprocesora?...44 3.1.1. Program w zewnętrznej pamięci równoległej... 45 3.1.2. Program bootloadera w pamięci ROM... 45 3.1.3. Rozpoznawanie programu wykonywalnego... 47 3.1.4. Wykonanie skopiowanego programu... 48 3.2. Instalacja programu SAM-BA...48 3.2.1. Wyłączenie inicjalizacji pamięci SDRAM... 49 3.3. Uruchamianie własnych programów na AT91SAM9260...50 3.3.1. Działanie i uruchamianie bootloadera DataFlash_Programmer... 50 3.3.2. Działanie bootloadera SDRAM_Bootloader_cache... 55 3.3.3. Konfiguracja bootloadera SDRAM_Bootloader_cache... 56 3.3.4. Programowanie pamięci SDRAM za pomocą terminalu... 57 4. Pierwsze programy... 59 4.1. Dostępne obszary pamięci i ich właściwości...60 4.1.1. Wewnętrzne pamięci mikrokontrolera... 60 4.1.2. Pamięć SDRAM... 62 4.1.3. Moduły peryferyjne... 62 4.1.4. TT i pozostałe obszary pamięci... 62 4.2. Projekt zerowy...63 4.2.1. main.c... 63 4.2.2. board.h... 63 4.2.3. common.h... 65 4.2.4. Makefile... 66 4.2.5. delay.c... 66 4.2.6. syscalls.c... 67 4.2.7. Pozostałe pliki... 68 4.3. Plik startowy Ccstartup.S...69 4.3.1. Realizowane zadania... 69 4.3.2. Obsługa wyjątków... 69 4.3.3. Rozpoczęcie programu... 70 4.3.4. Obsługa wyjątku IRQ... 74 4.3.5. Obsługa wyjątku FIQ... 76 4.3.6. Obsługa wyjątków Abort... 77 4.4. Plik cstartup_sam9.c...78 4.4.1. Inicjalizacja sygnałów zegarowych... 78 4.4.2. Inicjalizacja kontrolera przerwań AIC... 81

Spis treści 5 5. Jednostka MMU,zarządzanie pamięciąi inne nieprzyjemne rzeczy... 83 5.1. Coś nowego, coś innego...84 5.1.1. Przestrzeń adresowa... 84 5.1.2. Zabezpieczenia... 85 5.1.3. Tabela translacji... 86 5.1.4. Pamięci cache... 87 5.1.5. Bufor TLB... 89 5.1.6. Bufor zapisu... 89 5.2. Rozmowa z MMU...90 5.2.1. Rejestry koprocesora i dostęp do nich... 90 5.2.2. Tworzymy wstawkę... 91 5.2.3. Gotowe funkcje obsługi koprocesora... 92 5.2.4. Uaktywnianie samej pamięci ICache... 93 5.3. Jak uaktywnić pamięć DCache?...94 5.3.1. Domeny... 94 5.3.2. Tworzenie tabeli translacji... 95 5.3.3. Włączenie MMU i uaktywnienie pamięci cache... 100 5.4. Zabezpieczenie pamięci... 101 5.4.1. Uruchomić program dostarczony z zewnątrz... 101 5.4.2. Zarys sytuacji... 102 5.4.3. Program testowy Supervisor_Simple... 103 5.4.4. Programy użytkownika... 103 5.4.5. Poprawny program... 104 5.4.6. Program nieprawidłowy... 105 5.4.7. Uruchamianie programu użytkownika... 107 5.4.8. Obsługa wyjątku SWI... 109 5.4.9. Obsługa wyjątków Abort... 112 5.5. Translacja adresów w praktyce...115 5.5.1. Program przykładowy Supervisor_Virtual... 115 5.5.2. Analiza kodu programu Supervisor_Virtual... 117 5.5.3. Eksperyment z pamięciami cache... 117 5.6. Tablice stron...118 5.6.1. Translacja adresów pod lupą... 118 5.6.2. Pierwszy program przykładowy... 121 5.6.3. Drugi program przykładowy... 126 5.6.4. Dalsze pomysły... 129 5.7. Wprowadzenie do wielozadaniowego systemu operacyjnego... 130 5.7.1. Podejście najprostsze... 130 5.7.2. Zastosowanie pamięci wirtualnej... 131 5.7.3. Zastosowanie sprzętowego wspomagania w przełączaniu zadań... 133

6 Spis treści 6. Obsługa kart pamięciza pomocą kontrolera MCI...137 6.1. MMC, SD, SDHC... najważniejsze, by się nie pogubić... 138 6.2. Interfejs elektryczny... 140 6.3. Transmisja danych kontrolnych... 141 6.3.1. Wysyłanie komend... 142 6.3.2. Rejestr MCI_CMDR... 144 6.3.3. Komendy ACMD... 145 6.4. Inicjalizacja kontrolera MCI i karty SD/SDHC... 146 6.4.1. Inicjalizacja kontrolera MCI w funkcji mciinit... 146 6.4.2. Rozpoznawanie i inicjalizacja kart SD/SDHC w funkcji cardinit... 149 6.4.3. Odczyt rozmiarów karty przez program nadrzędny... 155 6.5. Transfery danych bez użycia kanału DMA... 156 6.5.1. Odczyt pojedynczego bloku... 156 6.5.2. Zapis pojedynczego bloku do pamięci Flash karty... 158 6.6. Transfery danych z wykorzystaniem kanału DMA... 159 6.6.1. Odczyt danych z karty... 160 6.6.2. Zapis danych na kartę... 162 6.7. Funkcje interfejsowe sterownika sd.c... 164 6.8. Program przykładowy i integracja z biblioteką FatFS... 165 6.8.1. Inicjalizacja biblioteki FatFS i karty SD... 166 6.8.2. Wyświetlenie listy plików i katalogów obsługa długich nazw... 166 6.8.3. Odczyt pojemności karty pamięci... 171 6.8.4. Zapis i odczyt pliku... 171 6.8.5. Test szybkości zapisu i odczytu... 172 7. Przetwarzanie dźwięku,czyli jedno z najciekawszych zastosowań modułu SSC...175 7.1. Czym się zajmiemy?... 176 7.2. Magistrala szeregowa I 2 S... 176 7.2.1. Hierarchia układów na magistrali I 2 S... 177 7.2.2. Realizacja transmisji danych przez I 2 S... 179 7.3. Współpraca mikroprocesora z kodekiem na przykładzie AT91SAM9260 i UDA1380... 180 7.3.1. Połączenie elektryczne kodeka i mikroprocesora... 180 7.4. Oprogramowanie kodeka... 183 7.4.1. Inicjalizacja kodeka... 183 7.4.2. Inicjalizacja kontrolera SSC funkcja codecsscconfig... 183 7.4.3. Przesyłanie danych do i z kodeka... 190

Spis treści 7 7.4.3. Włączenie i wyłączenie sygnału zegarowego... 192 7.4.5. Pozostałe funkcje obsługi kodeka... 196 7.5. Magnetofon cyfrowy... 197 7.5.1. Obsługa magnetofonu... 197 7.5.2. Działanie programu... 199 7.6. Realizacja prostych algorytmów przetwarzania dźwięku... 204 7.6.1. Obsługa programu... 204 7.6.2. Działanie programu... 205 7.6.3. Realizacja filtru FIR... 208 7.6.4. Skąd wziąć współczynniki filtru, czyli przyspieszony kurs Octave... 210 7.6.5. Efekt cyfrowego echa... 213 8. Interfejs sensora obrazu ISI...215 8.1. Krótkie wprowadzenie, czyli o co chodzi?... 216 8.2. Sensory obrazu... 217 8.2.1. Typowe sygnały modułu kamery... 217 8.2.2. Przesyłanie danych graficznych... 219 8.3. Moduł ISI... 222 8.3.1. Podstawowe funkcje realizowane przez ISI... 222 8.3.2. Zapis danych do pamięci RAM... 223 8.3.3. Interfejs elektryczny modułu ISI oraz podłączenie kamery do mikroprocesora... 225 8.4. Program przykładowy... 227 8.4.1. Podłączamy sprzęt... 227 8.4.2. Uruchamiamy program... 228 8.4.3. Inicjalizacja modułu ISI... 229 8.4.3. Komunikacja z sensorami obrazu PO2030 i PO6030... 231 8.4.4. Konfiguracja modułu ISI... 233 8.4.5. Wyświetlanie obrazu ze ścieżki podglądu... 237 8.4.7. Pobieranie obrazu ze ścieżki kodeka... 238 8.5. Co dalej?... 240 Dodatek A. Przyspieszony kurs asemblera...241 A.1. Jak zacząć?... 242 A.2. Kod asemblera we własnym programie... 243 A3. Rodzaje instrukcji asemblera... 243 A.3.1. Instrukcje skoków... 244 A.3.2. Instrukcje służące do przetwarzania danych... 246 A.3.3. Operacje mnożenia... 249 A.3.4. Rozkazy dostępu do słowa statusowego... 250

8 Spis treści A.3.5. Rozkazy przesłań (instrukcje Load i Store)... 251 A.3.6. Rozkazy przesłań wielu rejestrów i działania na stosie... 253 A.4. Wstawki asemblera w języku C... 255 A.4.1. Podejście najprostsze... 255 A.4.2. Pełna składnia polecenia asm... 256 A.5. Przypisanie rejestru do zmiennej... 258 Dodatek B. Jak napisać skrypt linkera?...259 B.1. Zadanie do wykonania... 260 B.2. Podstawowe zasady tworzenia skryptów linkera... 263 B.3. Bardzo prosty skrypt linkera... 264 B.4. Rozbudowa skryptu... 266 B.5. Definicja regionów pamięci... 268 B.6. Usunięcie sekcji.bss z pliku wynikowego... 270 B.7. Ostateczna postać skryptu linkera: sdram.lds... 272 B.8. Wybór sekcji dla zmiennych... 276 Literatura...277