嵌入式 arm 内核的概述

Click here to load reader

Upload: alijah

Post on 14-Jan-2016

97 views

Category:

Documents


0 download

DESCRIPTION

嵌入式 ARM 内核的概述. 报告人:王黎明 Email : [email protected]. 概述. ARM 公司不生产芯片,只出售芯片技术授权 ARM 技术 IP 核的微处理器--汽车、消费电子、工业控制、海量存储、网络、安保、无线等 目前世界前 5 大半导体公司全部使用了 ARM 的技术授权,前 10 大半导体有 9 家,全世界有 70 多家公司生产 ARM 芯片。. ARM 技术的应用领域. 无线设备 蓝牙技术 互联网 消费电子 汽车电子 海量存储 成像 安全产品 PDA 产品 手持仪器 工业控制. ARM 芯片特点. - PowerPoint PPT Presentation

TRANSCRIPT

  • [email protected]

  • ARMARMIP5ARM10970ARM

  • ARMPDA

  • ARMARMRISC 12load/store34ARM1 2 3Load/Store 4

  • ARM

  • ARM

  • ARM6

  • ARMexception

  • ARM311R0~R72R8~R14 R13ARM R143PC R15CPSR SPSR

  • ARM

  • ARM

  • ARMARM1 234PSR5load/Store678

  • ARM

    ARM 1 2PC

    ARM32MB 1B 2BL 3BLX 4BX

  • ARM1 MOV2 ADDSUBAND 3 TST

    Example ADD RdRxRxLRL #n RdRxRx2*n

  • ARM1323226464

    Example MUL R0,R1,R2 ;R0=R1*R2MULS R0,R1,R2 ;R0R1*R2 ,CPSRNZ

  • ARMCPSRTThumbBX

    1MRS 2MSR

    ExampleMRS R0CPSR CPSRBIC R0R00x1F ORR R0R00x13 MSR CPSR_C, R0

  • ARMLoad/Store1load2store 3LDM 4STM

    ExampleLDR R0[R1,#4] ;R14R0STR R0 [R1,#0x4] ;R0R10x4)

  • ARM1SWI 2BKPT SWISWIBKPT

  • ARM1SWP 2SWPB SWP ,,[]

    ExampleSWP R1R2[R3] R3R1 R2R3SWP R1R1[R2]R1R2

  • ARMARM

    1CDP 2LDC3STC4MCR ARM5MRCARM

  • ARM

  • ARMSymbol definition)(Data definition)(Assembly controlFrame descriptionReporting

  • ARM1GBLAGBLLGBLS2LCLALCLLLCLS 3SETASETLSETS4RLIST 5CN 6CP7DNSN VFP8FN FPA

  • ARM1LTORG2MAP ^3FIELD #4SPACE0 5DCD &6DATA7DCDBDCFDDCFSDCIDCQDCW

  • ARM1IFELSE ENDIF2WHILEWEND3MACROMEND4MEXIT

    Example count SETA 1 count1WHILE count

  • ARM1ASSERT2INFO3OPT4TTL5SUBTExample INFO 0Version 1.0 IF endofdata
  • ARM 1ALIGN2AREA3CODE16CODE32ThumbARM4ENTRY5EXPORTGLOBAL6GETINCLUDEExample AREA ExampleCODEREADONLY EXPORT DoAddDoAdd ADD R0R0R1

  • ARMARM1ADRPC2ADRLPC ADR3LDR324NOP

  • ARM

  • ARMARM31ARMPC4ThumbPC22BBLBXBLX3

  • ARM

  • ARM

  • ARMARM12CPSR3Ir_mode4PCExampleIRQR14_irq=address of next instruction to be executed + 4 SPSR_irq=CPSR CPSR[4:0]=0b10010 IRQ CPSR[5]=0 ARM CPSR[7]=1 IRQ if high vectors configured then pc=0xFFFF0018 else pc=0x00000018

  • ARM1SPSR_modeCPSR2lr_modePC34PC

  • ARM10x0ROMLDRPC20x0RAMPCROMRAMExampleMOV R8#0ADR R9, Vector_Init_BlockLDMIA R9!,{R0-R7} ;STMIA R8!,{R0-R7} LDMIA R9!,{R0-R7} ;STMIA R8!,{R0-R7}

  • ARMC 12384258060xea00 0000

  • ARMExampleroutinevectorUnsigned Install_Handler (unsigned routine,unsigned *vector)/*vector*//*routine*//**/{ unsigned vec ,oldvec;vec=((routine-(unsigned)vector-0x08)>>2);If (vec & 0xff000000){ printf( Installation of Handler failed) exit1}vec=0xea000000 | vec;oldvec = *vector;*vector = vecReturn ( oldvec);}CUnsigned *irqvec = (unsigned *)0x18Install_Handler ((unsigned) IRQHandler, irqvec);

  • ARM123840xe59ff0005

  • ARMExample loctionvector unsigned Install_handler (Unsigned location, unsigned *vector)/*vectorLDR pc [pc#offset] *//*location*//**/{ unsigned vec, oldvec;Vec = ((unsigned)location (unsigned)vector-0x8) | 0xe59ff000;Oldvec= *vector*vector=vec;Return (oldvec);}CUnsigned *irqvec = (unsigned *)0x18Install_Handler ((unsigned) IRQHandler, irqvec);

  • ARMFIQIRQ1ARMFIQIRQCPU2FIQ0x1c,FIQ0x1c3FIQ5FIQ5FIQ

  • ARM

  • ARMARMregionoutput sectioninput section1234

    0RORWZI

  • ARM

    1

    2

    1.1

    1.2

    1.3

    2.1

    1.1.1

    1.1.2

    1.2.1

    1.3.1

    1.3.2

    2.1.1

    2.1.2

    2.1.3

  • ARMARM1 2

    RWRO

    RWRO

    ROM

    RAM

    ROM

    0x0

    0x4000000

    Vectors

    RW

    ZI

    RWRO

    0x4000000

    0x80000

    0x60000

    0x20000

    0x0

    Flash

    SDRAM

  • ARMARM1 2

  • [email protected]