ARM tanfolyam 1 elads Trtneti kitekints ARM konzorcium

  • Slides: 28
Download presentation
ARM tanfolyam 1. előadás

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,

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

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ó

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

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 -

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

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

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

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

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

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

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

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

AMBA busz hiearchia

AMBA busz hiearchia

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

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 –

• 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

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 (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

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 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

Ó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 port felépítése (STM 32)

GPIO funkciók

GPIO funkciók

Fejlesztőkörnyezet • ARM-GCC! – Mentor graphics: Codesourcery G++ Lite – Eclipse CDT – Eclipse

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

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

CMSIS minták

Kód feltöltése, debug Feltöltés: - Bootloader (CAN, USB, UART) Debuggolás - Open. OCD (FT

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!

Köszönjük a figyelmet!