嵌入式系统精简版_第1页
嵌入式系统精简版_第2页
嵌入式系统精简版_第3页
嵌入式系统精简版_第4页
嵌入式系统精简版_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1嵌入式系统的定义和特点定义:嵌入到对象体系中的专用计算机应用系统特点:嵌入性,内含计算机,专用性 嵌入式系统的分类:嵌入式微处理器 Embedded Microprocessor unit EMPU微控制器 Microcontroller unitMCU(单片机)DSP处理器 digital signal processorDSP片上系统System on chip SOC2、嵌入式处理器分类:-1嵌入式微处理器:嵌入式微处理器的基础是通用计算机中的CPU。嵌入式微处理器及其存储器、总线、外设等安装在一块电路板上,称为单板计算机。嵌入式微控制器:嵌入式微控制器又称单片机,它是将整个计算机系统

2、集成到一块芯 片中。嵌入式DSP处理器:DSP处理器对系统结构和指令进行了特殊设计,使其适合于执行 DSP算法,编译效率较高,指令执行速度也较高。嵌入式片上系统(SOC):在一个硅片上实现一个更为复杂的系统3、存储器的字与半字一个字:以能被4整除的地址开始连续的4个字节构成一个字-arm指令长度半字:从偶数地址开始连续的2个字节构成一个半字-thnmb指令长度如果一个数据以字方式存储的,则字对齐 如果一个数据以半字方式存储的,则半字对齐4 ARM处理器状态ARM7TDMI处理器内核包含 2套指令系统,分别为 ARM指令集和Thumb指令,并且各 自对应1种处理器的状态:ARM状态:32位,处理

3、器执行字方式的 ARM指令,处理器默认为此状态; Thumb状态:16位,处理器执行半字方式的Thumb指令。无论处理器处于何种状态,ARM指令集与Thumb指令集不能同时混合使用5 ARM处理器模式ARM体系结构支持7种处理器模式,分别为:用户模式、快中断模式、中断模式、管 理模式、中止模式、未定义模式和系统模式。这样的好处是可以更好的支持操作系统并提高工作效率。ARM7TDMI完全支持这七种模式。除用户模式外,其它模式均为特权模式。异常模式:快中断模式、中断模式、管理模式、中止模式、未定义模式 何时进入异常模式,具体规定如下:处理器复位之后进入管理模式,操作系统内核通常处于管理模式;当处理

4、器访问存储器失败时,进入数据访问中止模式; 当处理器遇到没有定义或不支持的指令时,进入未定义模式; 中断模式与快速中断模式分别对ARM处理器2种不同级别的中断作出响应。式-=-JiSr 户特权模式O v- )t( 系用等异常模式r 3 入3 冷式 有诫 只此7、当前程序状态寄存器ARM内核包含1个CPSR和5个仅供异常处理程序使用的SPSR CPSR反映当前处理器的状态,其包含:4个条件代码标志(负标志N、零标志Z、进位标志C和溢出标志 V );2个中断禁止位(IRQ禁止与FIQ禁止);5个对当前处理器模式进行编码的位(M4:0);1个用于指示当前执行指令的位 (ARM指令还是Thumb指8

5、ARM体系的异常(异常中断的进入与退出是重中之重)只要正常的程序流被暂时中止,处理器就进入异常模式。如果同时发生两个或更多异常,那么将按照固定的顺序来处理异常。异常优先级1Mrs*3FIQ4IRQ预1耽拍屮止6Jte舍中止6駄舞中阿評議当一个异常导致模式切换时,内核自动的做如下处理:(即异常的进入)将异常处理程序的返回地址(加固定的偏移量)保存到相应异常模式下的LR;将CPSR勺当前值保存到相应异常模式下的SPSR设置CPS为相应的异常模式;设置PC为相应异常处理程序的中断入口向量地址,跳转到相应的异常中断处理程序执行;当异常处理程序结束时,异常处理程序必须:(即异常的退出)返回到发生异常中断

6、的指令的下一条指令处执行,即就是说将LR中的值减去偏移量后移入PC将SPS啲值复制回CPSR清零在入口处置位的中断禁止标志。9、片内存储器片内FLASH程序存储器LPC2000系列中除了 LPC2210/2220/2290夕卜,其它的ARM微处理器内部都带有容量不等的Flash,这为ARM芯片的单片应用带来可能。片内Flash通过128位宽度的总线与的存储器加速功能,因此可以将程序直接放在 片内Flash编程方法1. 使用JTAG仿真/调试器,通过芯片的2. 使用在系统编程技术(即ISP),通过ARM内核相连,具有很高的速度,加上特有Flash上运行。JTAG接口下载程序;UART 0接口下载

7、程序;3使用在应用编程技术(即IAP),在用户程序运行时对 Flash进行擦除和/或编程操作, 实现数据的存储和固件的现场升级。片内静态RAMLPC2000系列微控制器的片内 RAM为静态RAM (SRAM),它们可用作代码和/或数据的存储。SRAM支持8位、16位和32位的读写访问。10、片外存储器在CPU外部扩展连接的存储器芯片称为片外存储器,这些器件通常都具有数据线、地址线和控制线等。主要器件有ROM、FLASH SRAM等。片外Flash编程方法Flash的擦写操作需要配合一段符合 Flash编程时序的代码,这段代码称为装载程序, 一般由用户编写。下载用户代码时,首先得在CPU内运行装

8、载程序,通过它把从串口(或其它接口)接收的代码写到片外 Flash中。11、存储器重映射及引导块存储器映射:给存储器分配地址的过程为存储器映射存储器重映射:为了增强系统 的灵活性,系统中有部分存储单元可以同时出现在不同的地 址上,这称为存储器重映射存储器重映射包括:引导快和保存异常向量表的少量存储单元注意:存储器重映射并不是对映射单元的内容进行了复制,而只是将多个地址指向了同一个存储单元,这种效果是通过芯片内部的“存储器管理部件”实现的。引导块(Boot Block)是芯片设计厂家在 LPC2000系列ARM内部固化的一段代码, 用户无法修改或删除。这段代码在芯片复位后被首先运行,其功能主要是

9、:判断运行哪个存储器上的程序;检查用户代码是否有效;判断芯片是否被加密;芯片的在应用编程(IAP)以及在系统编程功能(ISP)12、任务的优先级中断关联性:与中断服务程序(ISR)有关联的任务应该安排尽可能高的优先级,以便及时 处理异步事件,提高系统的实时性。如果优先级安排得比较低,CPU有可能被优先级比较高 的任务长期占用,以致于在第二次中断发生时连第一次中断还没有处理,产生信号丢失现象;紧迫性:因为紧迫任务对响应时间有严格要求,在所有紧迫任务中,按响应时间要求排序, 越紧迫的任务安排的优先级越高。紧迫任务通常与ISR关联;关键性:任务越关键安排的优先级越高,以保障其执行机会;频繁性:对于周

10、期性任务,执行越频繁,则周期越短,允许耽误的时间也越短,故应该安排的优先级也越高,以保障及时得到执行;快捷性:在前面各项条件相近时,越快捷(耗时短)的任务安排的优先级越高,以使其它就 绪任务的延时缩短;传递性:信息传递的上游任务的优先级高于下游任务的优先级。如信号采集任务的优先级高于数据处理任务的优先级。13、时间管理卩C/OS-II提供了若干个时间管理服务函数,可以满足任务在运行过程中对时间管理 的需求。在使用时间管理服务函数时,必须十分清楚一个事实:时间管理服务函数是以系统 节拍为处理单位的,实际的时间与希望的时间是有误差的,最坏的情况下误差接近一个系 统节拍。因此时间管理服务函数只能用在

11、对时间精度要求不高的场合,或者时间间隔较长的场合。1. 系统延时函数OSTimeDly()2. 系统延时函数 OSTimeDlyHMSM()3. 强制延时的任务结束延时函数OSTimeDlyResume()4. 获取系统时间函数 OSTimeGet()和设置系统时间函数 OSTimeSet()14、 ARM7TDMI是基于ARM体系结构 V4版本的低端 ARM核。 其弥补了 ARM6很难在低 于5V电压下稳定工作的不足,还增加了后缀所对应的功能:T支持高密度16位的Thumb指令集D支持片上调试M 支持64位乘法 I支持EmbededICE观察硬件S- ARM7TDMI的可综合(synthes

12、izable)版本(软核),对应用工程师来说其编程模型与 ARM7TDMI 一致;15、GPIO使用注意事项:1引脚设置为输出方式时,输出状态由IOxSET和IOxCLR中最后操作的寄存器决定2.LP2000系列ARM大部分的I/O引脚为推挽方式输出, 但是具有I2C总线功能的I/O引脚为 开漏输出3推挽输出的I/O引脚正常拉出/灌入电流均为4mA,短时间极限值为 40mA 4复位后大部分引脚默认作为GPIO功能,并且均为输入状态5. LPC2210/2220/2212/2214中的p2.30和p2.31比较特殊,无论他们作为什么功能,第二功能的A/D输入始终有效,当他们连接高于3.3V的电平

13、时,将影响其他的A/D转换的结果216、I C操作模式主模式I2C:在该模式中,LPC2000系列ARM作为主机,向从机发送数据(即,主发送模式) 及接收从机的数据(即主接收模式)当进入主模式,I2 CONSET必须按图进行初始化从模式I2C: LPC2000系列ARM配置为I2C从机时,I2C主机可以对它进行读/写操作,此时 从机处于从发送/接收模式。17、3级流水线ARM处理器使用流水线来增加处理器指令流的速度,这样可使几个操作同时进行,并使处理和存储器系统连续操作,能提供 0.9MIPS/MHZ的指令执行速度。正常操作过程中,在执行一条指令的同时对下一条(第二条)指令进行译码,并将第三条

14、指令从存储器中取出。ARM7TDMI的流水线分3级,分别为:PCS-tF!剧 胳要建伙荷 的捕令-从3詐氨產嶷一秦崩条程序计数器R15(PC总、是指向“正在取指”的指令,而不是指向“正在执行”的指令或“正在译码”的指令。一般来说,人们习惯性约定将“正在执行”的指令作为参考点,则:PC值=当前程序执行位置+8注:ARM状态时,每条指令为 4字节长。例题:执行 ADD PC,PC,#4指令后,PC的值为多少?0x40000x40040x4008 0x4000ADD PC PC. #4PC指向0x4008地址,执行 ADD指令,所以指令执行的结果为 :PC=PC+4= 0x4008 + 4 = 0x400C。18、时钟部件PLL锁相环)LPC2000系列芯片内部均具有 PLL电路,振荡器产生的时钟 Fosc通过PLL升频,可以获得更 高的系统时钟(Fcclk)。PLL设置举例系统要求 Fosc= 10MHz , Fcclk= 60MHz。根据这些要求:确定 Fcclk= 60MHz;选择 Fosc= 10MHz;计算 M= Fcclk/Fosc= 60MHz/10MHz = 6。M-1 = 5,所以写入 PLLCFG

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论