ARM Cortex-M3 Manuel d'utilisateur

Naviguer en ligne ou télécharger Manuel d'utilisateur pour Processeurs ARM Cortex-M3. Introduction to the Cortex-M3 and v7-M [en] Manuel d'utilisatio

  • Télécharger
  • Ajouter à mon manuel
  • Imprimer

Résumé du contenu

Page 1 - Introduction

1ARM Cortex-M3IntroductionARM University Relations

Page 2

10Cortex-M3 Register SetVery compiler friendlyLoad/Store Architecture32-bit registersFlexible register schemeLinear 32-bit address spaceProcessr8

Page 3

11Program Status RegisterOne Status Register consisting ofAPSR-Application Program Status Register–ALU flagsIPSR-Interrupt Program Status Register–

Page 4 - M3 Processor

12High PerformanceARM processorHigh-bandwidthon-chip RAMHighBandwidthExternalMemoryInterfaceDMABus MasterAPBBridgeKeypadUARTPIOTimerAHBAPBHigh Perform

Page 5 - M3 Microcontroller

13Memory MapVery simple linear 4GB memory mapThe Bus Matrix partitions memory access via the AHB and PPB busesDebugSYSTEM AHBThe image cannot be dis

Page 6

14NXP LPC1311/13/42/43 Block Diagram

Page 7 - ARM and Thumb Performance

15NXP LPC1311/13/42/43 Memory Map

Page 8 - 2 instruction set

16ARM Cortex-M3Application codeOSSystem Call (SVCall)Undefined InstructionPrivilegedProcessor PrivilegeMemoryInstructions & DataAbortsInterruptsRe

Page 9

17Memory Protection Unit (MPU)MPU provides access control for various memory regionsZero Latency Memory Protection8 register-stored regionsSame re

Page 10 - M3 Register Set

18Traditional Method of Atomic Manipulation00000000xxxxx1xx00000100Read byte from SRAMMask and ModifyBit ElementWrite byte to SRAM0x020000000x02000000

Page 11 - Program Status Register

19Word aliasPhysical bit32MBBit band alias32MB31MB1MBBit band regionBit band alias32MB31MB1MBBit band regionWrites to a word address in thebit band a

Page 12 - An Example AMBA System

2AgendaCortex-M3 Overviewv7-M Architecture/Programmers ModelData Path and PipelinesTools and mbed Platform

Page 13 - Memory Map

20Conditional ExecutionITTET EQInst 1Inst 2Inst 3Inst 4If–Then (IT) instruction added (16 bit)Up to 3 additional “then” or “else” conditions maybe s

Page 14

21Interrupt HandlingOne Non-Maskable Interrupt (INTNMI) supported1-240 prioritizable interrupts supportedInterrupts can be maskedImplementation op

Page 15

22Exception HandlingResetNMIFaultsHard FaultMemory ManageBus FaultUsage FaultSVCallDebug MonitorPendSVSysTick InterruptExternal Interrupt

Page 16 - Processor Privilege

23Multiple sleep modes supportedControlled by NVICSleep Now–Wait for Interrupt/Event instructionsSleep On Exit–Sleep immediately on return from la

Page 17 - Memory Protection Unit (MPU)

24Single steppingITM (Instrumentation Trace Module)Support for instrumented codeLike “printf” debugging, but single cycle writes to ITM module can

Page 18 - 0x02000000

25AgendaCortex-M3 Overviewv7-M Architecture/Programmers ModelData Path and PipelinesTools and mbed Platform

Page 19 - Physical bit

26Cortex-M3 DatapathRegisterBankMul/DivAddressIncrementerALUBAINTADDRI_HADDRAddressRegisterBarrelShifterWritebackALURead DataRegisterWrite DataRegiste

Page 20 - Conditional Execution

27Cortex-M3 has 3-stage fetch-decode-execute pipelineSimilar to ARM7Cortex-M3 does more in each stage to increase overallperformanceCortex-M3 Pipel

Page 21 - Interrupt Handling

28CycleOperationADDSUBORRANDEORORROptimal PipeliningAll operations here are on registers (single cycle execution)In this example it takes 6 clock cy

Page 22 - Exception Handling

29It takes 3 cycles to complete the branchWorst case scenario–indirect branch takenCycleAddressOperation0x8000BX r50x8002SUB0x8FEEORR0x8FECAND0x8FF0

Page 23 - Power Management

3Microcontrollers are gettingcheap32-bit ARM Cortex-M3 Microcontrollers @ $1Some microcontrollers sell for as little as $0.65Microcontrollers are

Page 24 - M3 Debug

30In this example it takes 7 clock cycles to execute 6 instructionsClock cycles per Instruction (CPI) = 1.2The read cycle must complete on the bus

Page 25

31Store buffer allows STR instruction to finish before storecycle completes on the busBack-to-back STR instructions pipeline on the AHB-Lite bus-Als

Page 26 - M3 Datapath

32AgendaCortex-M3 Overviewv7-M Architecture/Programmers ModelData Path and PipelinesTools and mbed Platform

Page 27 - M3 Pipeline

33RVMDK Software Development ToolsIncludes ARM macro assembler, compilers (ARM RealView C/C++Compiler, Keil CARM Compiler, or GNU compiler), ARM link

Page 28 - Optimal Pipelining

34RVMDK Software Development Tools

Page 29 - Branch Pipeline Example

35Cortex-M3 Development Platforms

Page 30 - LDR Pipeline Example

36Rapid Prototyping3D Moulding3D Printing2D/3D DesignWeb FrameworksRapid Prototyping helps industries create new productsControl, communication and

Page 31 - STR Pipeline Example

37Getting Started and Rapid Prototyping with ARM MCUsComplete Targeted Hardware, Software and Web 2.0 PlatformmbedLightweight Online CompilerCortex-M3

Page 32

38mbed Motor Controller Example#include"mbed.h“DigitalOutleftfwd(p16);DigitalOutleftrev(p17);PwmOutpwm(p21);AnalogInpot(p20);intmain(){pwm.period

Page 33

39DocumentationARM v7-M Architecture Reference Manual (ARM v7-MARM)Cortex-M3 Technical Reference Manual (TRM)ARM Debug Interface V5 Architecture Sp

Page 34

4ARM Cortex-M3 ProcessorFPBBKPTARMCortex-M3CoreETMInstructionTraceBus MatrixIDDAPJTAG/SWDNVIC1-240 Interrupts8-256 PrioritiesCode Busesto Flashto Code

Page 35 - M3 Development Platforms

40University Resourceshttp://www.arm.com/support/university/[email protected]http://www.mbed.org/http://www.keil.com/

Page 37

518 x 32-bit registersExcellent compiler targetReduced pin count requirementsEfficient interrupt handlingPower managementEfficient debug and dev

Page 38

6ARMv7M ArchitectureNo Cache-No MMUDebug is optimized for microcontroller applicationsVector table contains addresses, not instructionsDIV instru

Page 39 - Documentation

7ARM and Thumb PerformanceMemory width (zero wait state)05000100001500020000250003000032-bit16-bit16-bit with32-bit stackARMThumbDhrystone 2.1/sec@ 20

Page 40 - University Resources

8The Thumb-2 instruction setVariable-length instructionsARM instructions are a fixed length of 32 bitsThumb instructions are a fixed length of 16bi

Page 41

9AgendaCortex-M3 Overviewv7-M Architecture/Programmers ModelData Path and PipelinesTools and mbed Platform

Commentaires sur ces manuels

Pas de commentaire