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