ARM Cortex-M3 Manual do Utilizador

Consulte online ou descarregue Manual do Utilizador para Processadores ARM Cortex-M3. Introduction to the Cortex-M3 and v7-M [en] Manual do Utilizador

  • Descarregar
  • Adicionar aos meus manuais
  • Imprimir

Resumo do Conteúdo

Página 1 - Introduction

1ARM Cortex-M3IntroductionARM University Relations

Página 2

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

Página 3

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

Página 4 - M3 Processor

12High PerformanceARM processorHigh-bandwidthon-chip RAMHighBandwidthExternalMemoryInterfaceDMABus MasterAPBBridgeKeypadUARTPIOTimerAHBAPBHigh Perform

Página 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

Página 6

14NXP LPC1311/13/42/43 Block Diagram

Página 7 - ARM and Thumb Performance

15NXP LPC1311/13/42/43 Memory Map

Página 8 - 2 instruction set

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

Página 9

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

Página 10 - M3 Register Set

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

Página 11 - Program Status Register

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

Página 12 - An Example AMBA System

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

Página 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

Página 14

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

Página 15

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

Página 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

Página 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

Página 18 - 0x02000000

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

Página 19 - Physical bit

26Cortex-M3 DatapathRegisterBankMul/DivAddressIncrementerALUBAINTADDRI_HADDRAddressRegisterBarrelShifterWritebackALURead DataRegisterWrite DataRegiste

Página 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

Página 21 - Interrupt Handling

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

Página 22 - Exception Handling

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

Página 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

Página 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

Página 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

Página 26 - M3 Datapath

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

Página 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

Página 28 - Optimal Pipelining

34RVMDK Software Development Tools

Página 29 - Branch Pipeline Example

35Cortex-M3 Development Platforms

Página 30 - LDR Pipeline Example

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

Página 31 - STR Pipeline Example

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

Página 32

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

Página 33

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

Página 34

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

Página 35 - M3 Development Platforms

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

Página 37

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

Página 38

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

Página 39 - Documentation

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

Página 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

Página 41

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

Comentários a estes Manuais

Sem comentários