Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
1
ARM tanfolyam 1. előadás
2
Történeti kitekintés ARM konzorcium
Architektúrákat tervez és licenszel, de nem gyárt NXP, ATMEL, ST, EnergyMicro, TI, Apple … Manapság a 32bites mikrovezérlők több mint 90%-a ARM alapú - Hatékony architektúra Olcsó A buszrendszer jól kidolgozott Perifériakészlet Spec utasításkészletek
3
Az ARM architektúra RISC tulajdonságok Load/store architektúra
Csak szóhatárhoz illeszkedő(aligned) memória hozzáférés Ortogonális utasítások (minden címzési mód egységes) Nagy (31x31 bit) regiszterblokkok Egyszerű 32 bites utasítások 1 utasítás 1 órajelperiódus (pipeline)
4
Az ARM architektúra Egyedi ARM jellemzők
Utasítások feltételes végrehajthatósága Megadható hogy az utasítás állítsa-e a flageket Barrel shifter (1-32bit eltolás) Sok magasszintű nyelveket támogató címzési mód Többféle megszakítás típus
5
ARM családok ARM7TDMI ARM9TDMI/ARM9JE ARM11TDMI
Thumb+Debug+Multiplier+ICE Thumb utasításkészlet bevezetése (16 bit korlátozásokkal) ARM9TDMI/ARM9JE Jazelle technológia (8 bites Java byte code HW támogatása) MMU (OS támogatás, linux) cache (8k/16k) ARM11TDMI Thumb2 utasításkészlet (16 bit és 32 bit vegyesen, korlátozások nélkül) NEON technológia, SIMD utasítások (DSP migráció, MPEG-4, JPEG) VFP (Vector Floating Point) lebegőpontos regiszterek, ARM CortexM/R/A sorozat
6
Betűszavak feloldása Mit tudnak az egyes magok?
T - Thumb architecture extension D - Core has debug extensions M - Core has enhanced multiplier I - Core has EmbeddedICE Macrocell Extension E - Core has Enhanced DSP instructions J - Core has Jazelle Java Byte code HW acceleration S - synthesiable Core
7
Cortex család A: Application R: Real-time M: Microcontroller
High-end alkalmazások (tablet, mobil, TV stb) MMU, OS támogatás R: Real-time Valósidejű alkalmazások M: Microcontroller Low cost, kisebb teljesítményű
8
Thumb mód Sokszor az adatbusz 16bit szélességű, ezért feleslegesek a 32bites operandusok A kódsűrűség növelése érdekében az utasítások és az adat bitszáma 16 bitre csökkenthetű Hátrány: bizonyos utasítások paraméterezhetősége csökken pl: feltételes utasításvégrehajtás, feltételes ugró utasítások
9
Thumb-2 A Thumb mód javítása
Keverten találhatók 16 és 32 bites utasítások Csak azon utasítások hosszát csökkentik, ahol veszteségmentesen megtehető
10
VFP Vector floating point
Egyszeres illetve dupla pontosságú lebegőpontos számábrázolás Mobil és Tablet piaci alkalmazások egyre növekvő számítási igénye követelte meg Később a NEON technológia váltotta fel
11
NEON DSP jellegű kiegészítés SIMD műveletek támogatása
Kép és videófeldolgozási algoritmusok 64 és 128 bites kombinált regiszterkészlet
12
Jazelle A JAVA bytekód utasításszintű támogatása
A JAVA virtuális gép részleges hardveres megvalósítása Mobil és PDA piac igényelte
13
Az előbbi technológiák összefoglalása
14
AMBA busz hiearchia
15
Cortex M széria M: mikrovezérlős feladatokra Pipeline Opcionális:
Systick timer MMU
16
Cortex M0 Cortex M3 Cortex M4 ARMv6-M 3 lépcsős pipeline
Hiányos Thumb és Thumb2 utasításkészlet Szorzó M0+ 2 lépcsős pipeline MPU (opcionális) Cortex M3 ARMv7-M 3 lépcsős pipeline Elágazás becslés Teljes Thumb/Thumb2 MPU (opc.) Garantált IT késleltés (12cikl) Szorzó Cortex M4 ARMv7E-M DSP utasítások MPU (opc) FPU (opc)
17
Egy CortexM3 MCU felépítése
(LPC17xx) Buszmátrix AHB busz APB busz
18
Memória térkép (LPC17xx)
19
Memória térkép A kódolás megkezdése előtt ismerni kell! Ezzel lehet kiválasztani hogy milyen mikrovezérlőt raktál a panelba
20
Órajel előállítás (STM32F103)
21
Órajel konfigurálás (STM32F103)
Ezen kívül a perifériáknak órajel adás, de azt majd máskor...
22
GPIO port felépítése (STM32)
23
GPIO funkciók
24
Fejlesztőkörnyezet ARM-GCC! Atollic True Studio (méretkorlát) KEIL ARM
Mentor graphics: Codesourcery G++ Lite Eclipse CDT Eclipse ARM plugin Atollic True Studio (méretkorlát) KEIL ARM Crossworks
25
CMSIS Cortex Microcontroller Software Interface standard
- Könnyebb használat, és felkonfigurálás - Nagyobb kódméret - Lassabb futás - Hibák lehetnek
26
CMSIS minták
27
Kód feltöltése,debug Feltöltés: - Bootloader (CAN, USB, UART)
Debuggolás - OpenOCD (FT2232) - Gyártó specifikus eszköz (STLinkV2)
28
Köszönjük a figyelmet!
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.