1 / 28

ARM tanfolyam

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

Download Presentation

ARM tanfolyam

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 • 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 • 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 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) • Cortex M0 • 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)

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

More Related