ARM tanfolyam 1 elads Trtneti kitekints ARM konzorcium




























- Slides: 28

ARM tanfolyam 1. előadás

Történeti kitekintés ARM konzorcium Architektúrákat tervez és licenszel, de nem gyárt NXP, ATMEL, ST, Energy. Micro, TI, Apple … Manapság a 32 bites 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

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 (31 x 31 bit) regiszterblokkok – Egyszerű 32 bites utasítások – 1 utasítás 1 órajelperiódus (pipeline)

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 -32 bit eltolás) Sok magasszintű nyelveket támogató címzési mód Többféle megszakítás típus

ARM családok • ARM 7 TDMI – Thumb+Debug+Multiplier+ICE – Thumb utasításkészlet bevezetése (16 bit korlátozásokkal) • ARM 9 TDMI/ARM 9 JE – Jazelle technológia (8 bites Java byte code HW támogatása) – MMU (OS támogatás, linux) – cache (8 k/16 k) • ARM 11 TDMI – Thumb 2 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 Cortex. M/R/A sorozat

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 Embedded. ICE Macrocell Extension E - Core has Enhanced DSP instructions J - Core has Jazelle Java Byte code HW acceleration S - synthesiable Core

Cortex család A: Application - 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ű

Thumb mód • Sokszor az adatbusz 16 bit szélességű, ezért feleslegesek a 32 bites 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

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ő

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

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

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

Az előbbi technológiák összefoglalása

AMBA busz hiearchia

Cortex M széria M: mikrovezérlős feladatokra Pipeline Opcionális: • Systick timer • MMU

• Cortex M 0 – ARMv 6 -M – 3 lépcsős pipeline – Hiányos Thumb és Thumb 2 utasításkészlet – Szorzó M 0+ – 2 lépcsős pipeline – MPU (opcionális) • Cortex M 3 – ARMv 7 -M – 3 lépcsős pipeline – Elágazás becslés – Teljes Thumb/Thumb 2 – MPU (opc. ) – Garantált IT késleltés (12 cikl) – Szorzó • Cortex M 4 – – ARMv 7 E-M DSP utasítások MPU (opc) FPU (opc)

Egy Cortex. M 3 MCU felépítése (LPC 17 xx) • Buszmátrix • AHB busz • APB busz

Memória térkép (LPC 17 xx)

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

Órajel előállítás (STM 32 F 103)

Órajel konfigurálás (STM 32 F 103) Ezen kívül a perifériáknak órajel adás, de azt majd máskor. . .

GPIO port felépítése (STM 32)

GPIO funkciók

Fejlesztőkörnyezet • ARM-GCC! – Mentor graphics: Codesourcery G++ Lite – Eclipse CDT – Eclipse ARM plugin • Atollic True Studio (méretkorlát) • KEIL ARM • Crossworks

CMSIS Cortex Microcontroller Software Interface standard - Könnyebb használat, és felkonfigurálás - Nagyobb kódméret - Lassabb futás - Hibák lehetnek

CMSIS minták

Kód feltöltése, debug Feltöltés: - Bootloader (CAN, USB, UART) Debuggolás - Open. OCD (FT 2232) - Gyártó specifikus eszköz (STLink. V 2)

Köszönjük a figyelmet!