




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1系统及开发环境介绍2010, 32ARM 架构发展路线图Reference from ARM3Cortex-M 处理器发展路线图Reference from ARM4Cortex-M0 处理器ARM有史以来最低功耗的处理器只有ARM7TDMI-S 处理器1/3的面积和功耗最小配置, 180ULL 工艺只有12K gates count,47 A/MHz功耗运算能力可以达到 0.9 DMIPS/MHz拥有32-bit 运算能力,16-bit 芯片面积和功耗可以将M0用于超低功耗的场合Binary and tools 向上和 ARM Cortex-M3 处理器兼容Reference from A
2、RM5Cortex-M0 性能Reference from ARM6Cortex 微处理器编程标准Reference from ARM7Cortex-M0 架构概述ARMv6-M (ARMv7-M的子集, 向上兼容)只支持Thumb 指令集. 不需要Interworking 代码.总共有56 条指令. 6条是32-bit长, 其它的都是16-bit长32-bit 指令有 : BL, DMB, DSB, ISB, MRS, MSR支持 byte (8-bit), halfword (16-bit) 和 word (32-bit), 每种类型的数据在访问的时候要求地址对齐.处理器有两种模式:Thr
3、ead 和 Handler.总是在privilege模式支持硬件上下文切换 (ISR周围不需要汇编代码).内嵌定时器(SysTick)和中断控制器 (NVIC)I/O是Memory mapped的32-bit 寻址空间ARMv6-M不支持虚拟地址.取指令总是halfword对齐8Program Register所有的寄存器都是 32-bit 的13 个通用目的寄存器寄存器 r0 r7 (Low registers)寄存器 r8 r12 (High registers)3 个特别用途寄存器r13 - Stack Pointer (SP)r14 - Link Register (LR)r15 -
4、Program Counter (PC)Stack registersMain stack SP_main Thread 和 Handler 模式都可以用 在系统复位的时候被初始化, 从地址0处加载Process stack SP_process 只在Thread模式使用(CONTROL/EXC_RETURN).9Program Register cont.状态寄存器 (xPSR)APSR : 可以由某些指令设定标志位IPSR : 在异常进入和退出的过程中被写.在thread 模式, 它的值是 0在handler模式,它的值是 异常号EPSR : 包含T-bit ,不能由指令正常读写10异常模
5、型每个异常有异常号, 优先级和向量地址向量表基地址固定在0 x00000000地址 0 的内容用来初始化SP_main(MSP)寄存器Word 1(地址0 x00000004) 是异常号 1 的处理函数的起始地址, 以此类推11异常模型Cortex-M0 异常定义异常号异常号异常异常优先级优先级1Reset-32NMI-23HardFault-111SVCall由寄存器SHPR2配置14PendSV由寄存器SHPR3配置15SysTick由寄存器SHPR3配置16外部中断 (0)由寄存器NVIC_IPRx配置16 + N外部中断 (N)由寄存器NVIC_IPRx配置12异常模型 cont.异常
6、优先级和抢占优先级值越低优先级越高如果有多个相同优先级的异常同时发生时,异常号越低优先级越高.只有高优先级的异常(更低的优先级数值)可以抢占一个激活的异常.13上下文保存和恢复关键的上下文保存和恢复递减式堆栈 (PUSH时递减,POP时增加)xPSR, ReturnAddress(), LR (R14), R12, R3, R2, R1, and R0 xPSRReturnAddressLRr12r3r2r1r0SPSPHL在异常返回时加载到PC中14Cortex-M0 地址映射CodeTypically ROM or flash memory, WT0 x00000000 0 x1FFFFF
7、FFTypically used for on-chip RAM, WBWA0 x20000000 0 x3FFFFFFFon-chip peripheral, XN0 x40000000 0 x5FFFFFFF0 x60000000 0 x7FFFFFFF0 x80000000 0 x9FFFFFFF0 xA0000000 0 xBFFFFFFF0 xC0000000 0 xDFFFFFFFsystem segment including the PPB, XN0 xE0000000 0 xFFFFFFFFSRAMPeripheralSystemNote 1 : Event entry po
8、ints (vectors), system control, and configuration 都定义在物理地址Note 2 : 穿过0.5G地址边界的多字节访问是UNPREDICTABLE的15Keil设定Example for building execution binary16System Control Space (SCS)由下面几部分组成CPUID 空间.系统控制, 配置和状态.SysTick 系统定时器Nested Vectored Interrupt Controller (NVIC)0 xE000E000 - 0 xE000E00FAuxiliary Control r
9、egister0 xE000E010 - 0 xE000E0FFSystem Timer0 xE000E100 - 0 xE000ECFFNVIC0 xE000ED00 - 0 xE000ED8FSystem control and ID registers0 xE000EDF0 - 0 xE000EEFFDebug control and configuration17System Control Space cont.地址名字功能属性复位值0 xE000E008ACTLRAuxiliary Control RegisterR/WIMPLEMENTATIONDEFINED0 xE000ED0
10、0CPUIDCPUID RegisterROIMPLEMENTATIONDEFINED0 xE000ED04ICSRInterrupt Control State RegisterR/W0 x000000000 xE000ED08VTORVector Table Offset RegisterRO0 x000000000 xE000ED0CAIRCRApplication Interrupt/Reset Control RegisterR/Wbits 10:8 = 0000 xE000ED10SCRSystem Control Register (optional)R/Wbits 4,2,1
11、= 0000 xE000ED14CCRConfiguration and Control RegisterRObits 9,3 = 10 xE000ED1CSHPR2System Handler Priority Register 2R/WSBZ0 xE000ED20SHPR3System Handler Priority Register 3R/WSBZ0 xE000ED24SHCSRSystem Handler Control and State RegisterR/W0 x000000000 xE000ED30DFSRDebugFault Status Register(Debug Ex
12、tension only)R/W0 x00000000系统控制和ID寄存器18System Control Space cont.Application Interrupt and Reset Control Register (AIRCR)19System timer - SysTickSysTick 提供一个简单的24-bit,写清零, 递减,自装载计数器.使能之后,定时器开始倒数,到0之后COUNTFLAG 状态位将被置.参考时钟可以是CPU 时钟或者外部时钟.20Nested Vectored Interrupt Controller (NVIC)最多支持32个外部中断 (IRQ31:
13、0) 可以是level-sensitive 或者 pulse-sensitive.NVIC 中断可以enabled/disabled, pended/un-pended 并且可以通过设定NVIC寄存器来区分优先次序21NVIC cont.NVIC registersAddressNameFunctionTypeReset Value0 xE000E100NVIC_ISERIrq 0 to 31 Set-Enable RegisterR/W0 x000000000 xE000E180NVIC_ICERIrq 0 to 31 Clear-Enable RegisterR/W0 x000000000
14、 xE000E200NVIC_ISPRIrq 0 to 31 Set-Pending RegisterR/W0 x000000000 xE000E280NVIC_ICPRIrq 0 to 31 Clear-Pending RegisterR/W0 x000000000 xE000E400NVIC_IPR0Irq 0 to 3 Priority RegisterR/W0 x000000000 xE000E404NVIC_IPR1Irq 4 to 7 Priority RegisterR/W0 x000000000 xE000E408NVIC_IPR2Irq 8 to 11 Priority Re
15、gisterR/W0 x000000000 xE000E40CNVIC_IPR3Irq 12 to 15 Priority RegisterR/W0 x000000000 xE000E410NVIC_IPR4Irq 16 to 19 Priority RegisterR/W0 x000000000 xE000E414NVIC_IPR5Irq 20 to 23 Priority RegisterR/W0 x000000000 xE000E418NVIC_IPR6Irq 24 to 27 Priority RegisterR/W0 x000000000 xE000E41CNVIC_IPR7Irq
16、28 to 31 Priority RegisterR/W0 x00000000System Reset2223Power ManagementNUC1xx支持3种操作模式Normal 模式Idle 模式(_WFI();)Power down 模式Power down关闭Sytem clock:包括 CPUCLK, HCLKx, PCLKx, are all OFF。一切以HCLK和PCLK为clock source的IP都被disable12M, 22M关闭PLL关闭Flash memoryActive10K, 32K 所有以10K, 32K 作为clock source 的peripher
17、al IPS. eg:WDTRTCPWM24Cont从power down模式唤醒CPU的方法1. EINT: any change on EINT pin can wake up system. It doesnt need a clock2. RTC: it nees a 32K clock3. WDT: It needs a clock4. GPIO: any change on GPIO pin, if interrupt eabled, can wake up system. It doesnt need a clock.5. BOD: It needs a 10K clock6.
18、USBD: It doesnt need a clock7. UART: it doesnt need a clock , /CTS pin8. CAN: it doesnt need a clock9. ACMP: it doesnt need a clockPWM and Timer CAN NOT wake up system in power down mode.25NuMicro 全部功能方块图AHB Lite InterfacePeripheralsAnalog Macro时钟源26M051 Series Full Function Block Diagram27Power Dow
19、n Control Register (PWRCON)28Sample code/* Enter power down mode */Un_Lock_Reg();/* Indicate waking from sleep might take longer. */SCR |= SLEEPDEEP;/* Disable interrupt occur when Power down mode wakeup */PWRCON &= PD_WU_IE;/* Power down control */PWRCON &= PD_WAIT_CPU;(PWRCON |=PD_WAIT_CPU
20、;)PWRCON |= PWR_DOWN_EN;Lock_Reg();_WFI();29Power consumptionIdle mode, 3V, 12M, if all peripherals clock are disable - 4mA; if all peripheral clock are enabled - 12mA.Deepsleep - 20uA typical case. 25uA with RTC active30EVB boardJTAG InterfaceNu-Link SWD interfaceDC 5V InputUSB device interface31Nu
21、-Link-Me紅色: For NUC100紫色: For NUC120黑色: For NUC130藍色: For NUC140綠色: For M052 Series Nu-Link SWD interfaceUSB device interfaceNu-Link USB interface32UARTICE BridgeNu-Link5V DCPowerUSBDevice GPIOBuzzerCAN/LIN7-Segment LED128*64 Dot MatrixLCD panelLED3x3 Key MatrixVariable Resistance Key GPB15ResetEEPROMSPI FlashWAU8822CodecLine outLine inNUC140VE3AN利用这一块板子可以学会所有 NuMicro NUC100 系列产品33仅需:仅需:一台一台NotebookNotebook一根一根Cable Cable 一块学习板一块学习板34仅需:仅需:一台一台NotebookNotebook一根一根Cable Cable 一块学习板一块学习板35Keil uVison IDE WindowProject WroksspaceOutput WindowMain WindowMemor
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论