Upload
doandung
View
219
Download
0
Embed Size (px)
Citation preview
Podstawy architektury i programowania mikrokontrolerów
ARM CORTEX-M3
dr Marcin Lewandowski [ [email protected] ]
1
STRONA KURSU http://us4us.eu/wydarzenia
Dla kogo?
• Dla osób zorientowanych na praktyczne zastosowania uC w ich własnej pracy B+R
• WYMAGANE: – znajomośd języka C i ogólne obycie z
programowaniem na PC
– motywacja (czytaj: potrzeba zastosowania)
– notebook PC/Windows
• NIE WYMAGANE (chod pomocne): – Znajomośd elektroniki, systemów cyfrowych,
programowania w asemblerze, …
2
Formuła
• Wykład z dwiczeniami
– raz w tygodniu 2x45min
• Dwiczenia na płytce ewaluacyjnej z uC ARM CORTEX-3 (Atmel SAM3U/SAM7S, Stellaris)
– Płytki dostępne dla uczestników także po zajęciach!
– Wymagany własny notebook z zainstalowanym oprogramowaniem deweloperskim!
3
Zakres zagadnieo
• Programowanie uC obejmuje następujące zagadnienia: – architektura uC – zrozumienie koncepcji działania – peryferia uC – działanie, komunikacja, programowanie – programowanie uC – ograniczenia i specyfika
systemów wbudowanych – Interfejsy zewnętrzne uC – elementy elektroniki
• Wiem, że słuchacze potrzebują uC „do pracy”, dlatego wykład będzie zorientowany na praktyczne umiejętności programowania i wykorzystania mikrokontrolerów!!!
4
Materiały
• Wykład będzie w głównej części oparty na materiałach szkoleniowych firmy Texas Instruments: – Stellaris® One Day Workshop 2010
– Stellaris® MCU training module
• Uzupełniony materiałami firmy ARM oraz innych producentów mikrokontrolerów ARM (ADI, Atmel, Freescale, NXP, ST, etc.)
• A także moim własnym doświadczeniem
5
PLAN
• Ponieważ materiału i tematów jest BARDZO DUŻO wstępnie podzieliłem plan wykładu na części:
– A1 i A2 – podstawowe i obowiązkowe (1-2 semestry)
– B1 i B2 – dodatkowe, wymagające wyboru i doprecyzowania (1-2 semestry)
• Konkretne ustalenia dot. podziału materiału podstawowego i dodatkowego chciałbym zrobid z grupą zainteresowanych słuchaczy!!!
6
PLAN – część A1
• Zastosowania uC – przegląd zastosowao i wymagao – wybór i optymalizacja rozwiązao
• Mikrokontrolery ARM - przegląd rozwiązao i rynku • Przegląd architektur uC i procesorów ARM
– Portfolio uC ARM różnych producentów (podobieostwa i różnice) – Portfolio uC ARM CORTEX-M3 – Przegląd uC Texas Instruments STELLARIS
• Architektura uC ARM CORTEX-M3 – Architektura jądra ARM7TDMI i CORTEX-M3 – Szyny wewnętrzne (AMBA) – Zegar i reset – System przerwao – Pamięci wewnętrzne (RAM, FLASH), układ MMU, akceleratory FLASH – Peryferia
7
PLAN – część A2
• Architektura uC TI STELLARIS – Peryferia (GPIO, PWM, I2C, SPI, CAN, EPI, UART, MAC+PHY)
• Przegląd wybranych płyt i narzędzi uruchomieniowych dla uC ARM – Płytki ewaluacyjne, Płytki referencyjne, demonstratory
• Programowanie uC podstawy
– ALU, rejestry, jednostki wykonawcze, przerwania, peryferia
• Programowanie uC ARM – ALU, pamięci, przerwania, wyjątki, MMU, tryby pracy
• Kompilatory i narzędzia programistyczne dla uC ARM • Wsparcie debuggowania
– Programowanie w układzie – Emulator JTAG
• Przegląd wybranych systemów operacyjnych dla uC ARM • Biblioteki producentów uC ARM • Biblioteki ARM
8
PLAN – część B1
• Interfejsy w zastosowaniach: – Interfejs GPIO (LEDy, przyciski) – Interfejs PWM (sterowanie układów wykonawczych) – Interfejs I2C (układy pamięci, czujniki, peryferia) – Interfejs SPI (układy pamięci, przetworniki A/C i C/A,
peryferia) – Interfejs UART (RS-232, modemy) – Interfejsy pamięci (SRAM, SDRAM, FPGA) – Interfejs USB (HID, Serial, Mass Storage) – Interfejs CAN (czujniki, układy wykonawcze) – Interfejs Ethernet (TCP/IP)
9
PLAN – część B2
• Peryferia w zastosowaniach: – Przetworniki A/C i C/A
– Czujniki wielkości fizycznych
– Układy wykonawcze mocy (przekaźniki, SSR, triaki, MOSFET)
– Interfejsy użytkownika (przyciski, pokrętła, panele dotykowe)
– Wyświetlacze alfanumeryczne i graficzne (LCD, TFT, OLED)
– Karty pamięci i systemy plików (CompactFlash, SD, FAT)
– Komunikacja bezprzewodowa (GSM, Bluetooth, WiFi, ZigBee)
10
!!! UWAGA !!!
• PAMIĘTAJ o BHP przy pracy z: – urządzeniami elektrycznymi
– ostrymi i/lub gorącymi narzędziami
• Opanowanie uC wymaga: – Sporo czasu
– Dużo własnego POTU i ŁEZ
• ZALECAM podnoszenie kultury technicznej: – Czytanie książek i dokumentacji
– Pracę nad warsztatem elektronicznym
11
TI Stellaris (nasza baza)
• TI University Program http://focus.ti.com/general/docs/gencontent.tsp?contentId=76595
• TI Training http://focus.ti.com/general/docs/traininghome.tsp
• TI University Teaching ROMs http://www.ti.com/ww/eu/university/roms.html
• Stellaris One Day Workshop http://processors.wiki.ti.com/index.php/Stellaris_One_Day_Workshop
• Hands-On Training for TI Embedded Processors http://processors.wiki.ti.com/index.php/Hands-On_Training_for_TI_Embedded_Processors
13
Dokumentacja ARM
• CAŁA DOKUMENTCJA ARM http://infocenter.arm.com
• ARM Application Note 179: Cortex-M3 Embedded Software Development http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dai0179b/index.html
• Cortex-M3 processors http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0348c/index.html
14
Książki o ARM
• Steve Furber, ARM System-on-Chip Architecture, Addison-Wesley, 2000 – 432str.
• Andrew Sloss, Dominic Symes, Chris Wright, ARM System Developer's Guide: Designing and Optimizing System Software, Morgan Kaufmann, 2004 – 689str.
15
Książki o ARM
• Joseph Yiu, The Definitive Guide to the ARM Cortex-M3, Newnes, 2009 – 479str.
• William Hohl, ARM Assembly Language: Fundamentals and Techniques, CRC, 2009 – 371str.
16
Książki o programowaniu uC
• Michael Barr, Programming Embedded Systems: With C and GNU Development Tools, O'Reilly, 2006 – 307str.
• John Catsoulis, Designing Embedded Hardware, O'Reilly, 2005 – 400str.
18
… i czasopisma
• Elektronika Praktyczna – www.elektronikapraktyczna.pl
• Circuit Cellar – www.circuitcellar.com
19
Linki
• Wydawnictwo Newnes – www.newnespress.com
• Wydwnictwo BTC – www.btc.pl
• ARM Academic Books, Training, OS & Research Resources www.arm.com/support/university/academic-resources.php
• EECS 373 – Design of Microprocessor-Based Systems www.eecs.umich.edu/~prabal/teaching/eecs373-f10
• ECE 471 – Microprocessor Applications Engineering http://arch.eece.maine.edu/ece471/index.php
20
Moduły/Evale uC ARM
• Mbed (LPC1768) – http://mbed.org
• Hitex (LPC, STM32) – www.hitex.com
• ARM/Keil – www.keil.com/arm/boards
• KAMAMI – www.kamami.pl
• LPCXpresso (NXP LPC11xx, 13xx, 17xx) – http://ics.nxp.com/lpcxpresso http://ics.nxp.com/lpczone
21
Taksonomia uC
• Mikrokomputer zintegrowana w jednym układzie scalonym (procesor, pamięd danych i programu, peryferia), do zastosowao wbudowanych
• Wysokowydajne mikrokomputery z peryferiami w układzie określamy mianem SOC (System-on-Chip) – np. do smartfonów
23
Gdzie są uC !?
• WSZĘDZIE
• Wolumin uC w roku 2010*:
–20e9 szt.
–w tym >=2e9 szt. ARM
24 *wg. „The Definitive Guide to the ARM Cortex-M3”