ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:194.39KB ,
资源ID:2157788      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2157788.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(嵌入式重点.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

嵌入式重点.docx

1、嵌入式重点第一章IEEE对嵌入式系统的定义为:嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”(devices used to control、monitor、or assist the operation of equipment、machinery or plants)这主要是从应用对象上加以定义,涵盖了软、硬件及辅助机械设备。国内普遍认同的嵌入式系统定义为:以应用为中心、以计算机技术为基础、软硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。嵌入式系统是“专用计算机应用系统”,它具有一般计算机组成的共性,也是由硬件和软件组成;嵌入式系统的硬件是

2、以嵌入式处理器为核心,配置必要的外围接口部件。嵌入式系统的硬件是嵌入式系统软件环境运行的基础,它提供了嵌入式系统软件运行的物理平台和通信接口;嵌入式操作系统和嵌入式应用软件则是整个系统的控制核心,控制整个系统运行、提供人机交互的信息等。F嵌入式处理器可以分为三类: 嵌入式微处理器(Microprocessor)F嵌入式微处理器的基础是通用计算机中的CPU,是嵌入式系统的核心。在应用中,嵌入式微处理器具有体积小、重量轻、成本低、可靠性高的优点. 嵌入式微控制器MCU(Microcontroller Unit) 嵌入式DSP(Digital Signal Processor) 第二章Cortex-

3、M3和Cortex-M4属于真正的ARMv7-M架构,采用哈佛总线结构,具有高效的数字信号处理能力和低功耗、低成本和易于使用的优点。处理器内核:pARMv7-M构架:Thumb-2 指令集(ISA)子集,包含所有基本的16位和32位Thumb-2指令# 只有分组的 SP堆栈指针# 硬件除法指令,SDIV 和UDIV# 处理模式(Handler mode)和线程模式(Thread mode)# Thumb 状态和调试状态Cortex-M3处理器内核是单片机的中央处理单元(CPU)。完整的基于Cortex-M3的MCU还需要很多其它组件。Cortex-M3处理器内核采用ARMv7-M架构,建立在一

4、个高性能哈佛结构的三级流水线基础上,实现了Thumb-2指令集,既获得了传统 32 位代码的性能,又具有16 位的高代码密度。其主要特性如下:p采用Thumb-2 指令集架构(ISA)的子集p采用哈佛处理器架构p采用三级流水线+分支预测Cortex-M3处理器紧密结合一个可配置的嵌套向量中断控制器(Nested Vectored Interrupt Controller,NVIC),具有低延迟的中断和异常处理性能。NVIC支持11个系统异常和240个优先级可动态配置的中断,每个中断的优先级有256个选择。除非特别说明,否则所有的NVIC寄存器都可采用字节、半字和字方式进行访问。不管处理器存储字

5、节的顺序如何,所有NVIC寄存器和系统调试寄存器都是采用小端(LE)字节排列顺序,即低位字节存储在低地址。# 采用哈佛总线体系结构的芯片内部程序空间和数据空间是分开的,这就允许同时取指和取操作数,由于取指令和存取数据分别经由不同的存储空间和不同的总线,使得各条指令可以重叠执行,实现流水线操作。三级流水线:正常操作过程中,在执行一条指令的同时对下一条(第二条)指令进行译码,并将第三条指令从存储器中取出。Cortex-M3内核采用三级流水线结构,每条指令的执行分取指、译码和执行三个阶段,可实现多条指令的并行执行,在不提高系统时钟频率的条件下减少每条指令的执行时间。nCortex-M3 处理器支持两

6、种工作模式:线程模式(Thread mode)和处理模式(Handler mode)。n在复位时处理器进入线程模式,异常返回时也会进入该模式。特权和用户(非特权代码能够在线程模式下运行。p出现异常时处理器进入处理模式,在处理模式中,所有代码都是特权访问的。nCortex-M3 处理器有两种工作状态:pThumb 状态:这是16 位和32 位半字对齐的Thumb 和Thumb-2 指令的正常执行状态。p调试状态:处理器停机调试时进入该状态。nCortex-M3处理器支持两种特权分级特权级和用户级,代码可以是特权执行或非特权执行。非特权执行时对有些资源的访问受到限制或不允许访问。特权执行可以访问所

7、有资源。n处理模式始终是特权访问,线程模式可以是特权或非特权访问。n线程模式在复位之后为特权访问,但可通过MSR 指令清零CONTROL0,将它配置为用户(非特权)访问。用户访问禁止:p部分指令的使用,例如设置 FAULTMASK 和PRIMASK 的CPS 指令。p对系统控制空间(SCS)的大部分寄存器的访问。n当线程模式从特权访问变为用户访问后,本身不能回到特权访问。只有处理操作能够改变线程模式的访问特权。处理模式始终是特权访问的。Cortex-M3下的操作模式和特权级别如图2-5所示。n在Cortex-M3运行主应用程序时(线程模式),既可以使用特权级,也可以使用用户级;但是异常服务例程

8、必须在特权级下执行。复位后,处理器默认进入线程模式,特权级访问。n在特权级下,程序可以访问所有范围的存储器(如果有MPU,还要在MPU规定的禁地之外),并且可以执行所有指令。 n从用户级到特权级的唯一途径就是异常:如果在程序执行过程中触发了一个异常,处理器总是先切换入特权级,并且在异常服务例程执行完毕退出时,返回先前的状态,或者手工指定返回的状态。n操作系统的内核通常都在特权级下执行,所有没有被MPU禁掉的存储器都可以访问。在操作系统开启了一个用户程序后,通常都会让它在用户级下执行,从而使系统不会因某个程序的崩溃或恶意破坏而受损。nCortex-M3处理器内核拥有两个堆栈指针,然而它们属于分组

9、寄存器,任一时刻只能使用其中的一个。当引用SP时,引用到的是当前正在使用的那一个,另一个必须用特殊的指令来访问(MRS,MSR指令)。n这两个堆栈指针分别是:p主堆栈指针(MSP):或写作SP_main。复位后缺省使用的堆栈指针,用于操作系统内核以及异常处理例程(包括中断服务例程) p进程堆栈指针(PSP):或写作SP_process。由用户的应用程序代码使用(不处于异常服用例程中时)。n1、通用寄存器p通用寄存器 r0-r12 没有在结构上定义特殊的用法p寄存器 r13、r14、r15 具有以下特殊功能:n堆栈指针 寄存器 r13 用作堆栈指针(SP)。由于SP 忽略了写入位1:0的值,因此

10、它自动与字,即4字节边界对齐。n处理模式始终使用 SP_main,而线程模式可配置为SP_main 或SP_process。 n链接寄存器 寄存器 r14 是子程序的链接寄存器(LR)。p在执行分支(branch)和链接(BL)指令或带有交换的分支和链接指令(BLX)时,LR 用于接收来自PC 的返回地址。pLR 也用于异常返回。p 其它任何时候都可以将 r14 看作一个通用寄存器。n程序计数器 寄存器 r15 为程序计数器(PC),指向当前的程序地址。该寄存器的位 0 始终为0,因此,指令始终与字或半字边界对齐。如果修改它的值,就能改变程序的执行流。 n2、程序状态寄存器(xPSR)p系统级

11、的处理器状态可分为3类,因此有3个程序状态寄存器。对程序状态寄存器的访问使用MRS和MSR指令,在访问时可以把它们作为单独的寄存器,3个中的任两个组合,或3个组合。这3个寄存器为:n应用 PSR(APSR)n中断 PSR(IPSR)n执行 PSR(EPSR)n3、中断屏蔽寄存器组p中断屏蔽寄存器组包括PRIMASK, FAULTMASK和BASEPRI三个寄存器,用于控制异常的使能和禁止。 n4、控制寄存器(CONTROL)p控制寄存器有两个用途,其一用于定义特权级别,其二用于选择当前使用哪个堆栈指针。由两个比特来行使这两个职能。 nCortex-M3的存储器系统与传统ARM架构的相比,有非常

12、大的变化:pCortex-M3的存储器映射是预定义的,并且规定总线使用的存储区域。pCortex-M3的存储器系统支持位带(Bit-band)操作,实现了在特殊的存储器区域对单一比特的原子操作。pCortex-M3的存储器系统支持非对齐访问和互斥访问。pCortex-M3的存储器系统支持小端配置和大端配置。n在SRAM区的下部,有一个1MB的区间,被称为“位带区”。该位带区还有一个对应的32MB的 “位带别名(alias)区”,容纳了8M个“位变量”(对比8051的只有128个位变量)。位带区对应的是最低的1MB地址范围,而位带别名区里面的每个字对应位带区的一个比特。位带操作只适用于数据访问,

13、不适用于取指。通过位带的功能,可以把多个布尔型数据打包在单一的字中,却依然可以从位带别名区中,像访问普通内存一样地使用它们。n处理器存储器映射包括两个位带区域。它们分别为SRAM 和外设存储区域中的最低的1MB。这些位带 区域将存储器别名区的一个字映射为位带 区的一个位。nCortex-M3 存储器映射有2 个32MB 别名区,它们被映射为两个1MB 的位带 区。n对 32MB SRAM 别名区的访问映射为对1MB SRAM位带 区的访问。n对 32MB 外设别名区的访问映射为对1MB 外设位带 区的访问。Cortex-M3处理器能够以小端格式或大端格式访问存储器中的数据字,而访问代码时始终使

14、用小端格式。小端格式是 ARM 处理器默认的存储器格式。 异常模型pCortex-M3在内核水平上搭载了一个异常响应系统,支持为数众多的系统异常和外部中断。其中,编号为115的对应系统异常,大于等于16的则全是外部中断。除了个别异常的优先级被定死外,其它异常的优先级都是可编程的。pCortex-M3 处理器和嵌套向量中断控制器(NVIC)对所有异常按优先级进行排序并处理。所有异常都在处理模式中操作。出现异常时,自动将处理器状态保存到堆栈中,并在中断服务程序(ISR)结束时自动从堆栈中恢复。在状态保存的同时取出向量快速地进入中断。n优先级的数值越小,则优先级越高。Cortex-M3支持中断嵌套,

15、使得高优先级异常会抢占低优先级异常。有3个系统异常:复位,NMI以及硬Fault,它们有固定的优先级,并且它们的优先级号是负数,从而高于所有其它异常,所有其它异常的优先级则都是可编程的,但不能被编程为负数。固态函数库固态函数库遵从以下命名规则:PPP表示任一外设缩写,例如:ADC。系统、源程序文件和头文件命名都以“stm32f10x_”作为开头,例如:。常量仅被应用于一个文件的,定义于该文件中;被应用于多个文件的,在对应头文件中定义。所有常量都由英文字母大写书写。寄存器作为常量处理。他们的命名都由英文字母大写书写。外设函数的命名以该外设的缩写加下划线为开头。每个单词的第一个字母都由英文字母大写书写,例如:SPI_SendData。在函数名中,只允许存在一个下划线,用以分隔外设缩写和函数名的其它部分。名为PPP_Init的函数,其功能是根据PPP_InitTypeDef中指定的参数,初始化外设PPP,例如TIM_Init. 名为PPP_DeInit的函数,其功能为复位外设PPP的所有寄存器至缺省值,例如TIM_DeInit. 名为PPP_StructInit的函数,其功能为通过设置PPP_InitTypeDef 结构中的各种参数来定义外设的功能,例如:USART_StructInit 名为PPP_Cmd的函数,其功能为使能或者失能外设PPP,例如:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1