资源预览内容
第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
亲,该文档总共6页全部预览完了,如果喜欢就下载吧!
资源描述
1、嵌入式系统的定义和特点 定义:嵌入到对象体系中的专用计算机应用系统 特点:嵌入性,内含计算机,专用性嵌入式系统的分类:嵌入式微处理器Embedded Microprocessor unit EMPU微控制器 Microcontroller unit MCU(单片机)DSP处理器digital signal processor DSP片上系统 System on chip SOC2、 嵌入式处理器分类:嵌入式微处理器:嵌入式微处理器的基础是通用计算机中的CPU。嵌入式微处理器及其存储器、总线、外设等安装在一块电路板上,称为单板计算机。嵌入式微控制器:嵌入式微控制器又称单片机,它是将整个计算机系统集成到一块芯片中。嵌入式DSP处理器:DSP处理器对系统结构和指令进行了特殊设计,使其适合于执行DSP算法,编译效率较高,指令执行速度也较高。嵌入式片上系统(SOC):在一个硅片上实现一个更为复杂的系统3、存储器的字与半字一个字:以能被4整除的地址开始连续的4个字节构成一个字-arm指令长度半字:从偶数地址开始连续的2个字节构成一个半字-thnmb指令长度如果一个数据以字方式存储的,则字对齐如果一个数据以半字方式存储的,则半字对齐4 ARM处理器状态ARM7TDMI处理器内核包含2套指令系统,分别为ARM指令集和Thumb指令,并且各自对应1种处理器的状态:ARM状态:32位,处理器执行字方式的ARM指令,处理器默认为此状态;Thumb状态:16位,处理器执行半字方式的Thumb指令。无论处理器处于何种状态,ARM指令集与Thumb指令集不能同时混合使用5 ARM处理器模式ARM体系结构支持7种处理器模式,分别为:用户模式、快中断模式、中断模式、管理模式、中止模式、未定义模式和系统模式。这样的好处是可以更好的支持操作系统并提高工作效率。ARM7TDMI完全支持这七种模式。除用户模式外,其它模式均为特权模式。异常模式:快中断模式、中断模式、管理模式、中止模式、未定义模式何时进入异常模式,具体规定如下:l 处理器复位之后进入管理模式,操作系统内核通常处于管理模式;l 当处理器访问存储器失败时,进入数据访问中止模式;l 当处理器遇到没有定义或不支持的指令时,进入未定义模式;l 中断模式与快速中断模式分别对ARM处理器2种不同级别的中断作出响应。7、 当前程序状态寄存器 ARM内核包含1个CPSR和5个仅供异常处理程序使用的SPSR。CPSR反映当前处理器的状态,其包含: 4个条件代码标志(负标志N、零标志Z、进位标志C和溢出标志V ); 2个中断禁止位(IRQ禁止与FIQ禁止); 5个对当前处理器模式进行编码的位(M4:0); 1个用于指示当前执行指令的位(ARM指令还是Thumb指8、 ARM体系的异常(异常中断的进入与退出是重中之重)只要正常的程序流被暂时中止,处理器就进入异常模式。如果同时发生两个或更多异常,那么将按照固定的顺序来处理异常。异常优先级当一个异常导致模式切换时,内核自动的做如下处理: (即异常的进入) 将异常处理程序的返回地址(加固定的偏移量)保存到相应异常模式下的LR;将CPSR的当前值保存到相应异常模式下的SPSR;设置CPSR为相应的异常模式;设置PC为相应异常处理程序的中断入口向量地址,跳转到相应的异常中断处理程序执行;当异常处理程序结束时,异常处理程序必须:(即异常的退出) 返回到发生异常中断的指令的下一条指令处执行,即就是说将LR中的值减去偏移量后移入PC;将SPSR的值复制回CPSR;清零在入口处置位的中断禁止标志。9、 片内存储器l 片内FLASH程序存储器 LPC2000系列中除了LPC2210/2220/2290外,其它的ARM微处理器内部都带有容量不等的Flash,这为ARM芯片的单片应用带来可能。 片内Flash通过128位宽度的总线与ARM内核相连,具有很高的速度,加上特有的存储器加速功能,因此可以将程序直接放在Flash上运行。片内Flash编程方法1. 使用JTAG仿真/调试器,通过芯片的JTAG接口下载程序;2. 使用在系统编程技术(即ISP),通过UART0接口下载程序;3.使用在应用编程技术(即IAP),在用户程序运行时对Flash进行擦除和/或编程操作,实现数据的存储和固件的现场升级。l 片内静态RAMLPC2000系列微控制器的片内RAM为静态RAM (SRAM),它们可用作代码和/或数据的存储。SRAM支持8位、16位和32位的读写访问。10、 片外存储器 在CPU外部扩展连接的存储器芯片称为片外存储器,这些器件通常都具有数据线、地址线和控制线等。主要器件有ROM、FLASH、SRAM等。片外Flash编程方法 Flash的擦写操作需要配合一段符合Flash编程时序的代码,这段代码称为装载程序,一般由用户编写。 下载用户代码时,首先得在CPU内运行装载程序,通过它把从串口(或其它接口)接收的代码写到片外Flash中。11、 存储器重映射及引导块存储器映射:给存储器分配地址的过程为存储器映射存储器重映射: 为了增强系统 的灵活性,系统中有部分存储单元可以同时出现在不同的地址上,这称为存储器重映射 存储器重映射包括:引导快和保存异常向量表的少量存储单元 注意:存储器重映射并不是对映射单元的内容进行了复制,而只是将多个地址指向了同一个存储单元,这种效果是通过芯片内部的“存储器管理部件”实现的。 引导块(Boot Block)是芯片设计厂家在LPC2000系列ARM内部固化的一段代码,用户无法修改或删除。这段代码在芯片复位后被首先运行,其功能主要是: 判断运行哪个存储器上的程序; 检查用户代码是否有效; 判断芯片是否被加密; 芯片的在应用编程(IAP)以及在系统编程功能(ISP)12、任务的优先级中断关联性:与中断服务程序(ISR)有关联的任务应该安排尽可能高的优先级,以便及时处理异步事件,提高系统的实时性。如果优先级安排得比较低,CPU有可能被优先级比较高的任务长期占用,以致于在第二次中断发生时连第一次中断还没有处理,产生信号丢失现象;紧迫性:因为紧迫任务对响应时间有严格要求,在所有紧迫任务中,按响应时间要求排序,越紧迫的任务安排的优先级越高。紧迫任务通常与ISR关联;关键性:任务越关键安排的优先级越高,以保障其执行机会;频繁性:对于周期性任务,执行越频繁,则周期越短,允许耽误的时间也越短,故应该安排的优先级也越高,以保障及时得到执行;快捷性:在前面各项条件相近时,越快捷(耗时短)的任务安排的优先级越高,以使其它就绪任务的延时缩短;传递性:信息传递的上游任务的优先级高于下游任务的优先级。如信号采集任务的优先级高于数据处理任务的优先级。13、时间管理 C/OS-II提供了若干个时间管理服务函数,可以满足任务在运行过程中对时间管理的需求。在使用时间管理服务函数时,必须十分清楚一个事实:时间管理服务函数是以系统节拍为处理单位的,实际的时间与希望的时间是有误差的,最坏的情况下误差接近一个系统节拍。因此时间管理服务函数只能用在对时间精度要求不高的场合,或者时间间隔较长的场合。 1. 系统延时函数OSTimeDly()2. 系统延时函数OSTimeDlyHMSM()3. 强制延时的任务结束延时函数OSTimeDlyResume()4. 获取系统时间函数OSTimeGet()和设置系统时间函数OSTimeSet()14、ARM7TDMI是基于ARM体系结构V4版本的低端ARM核。 其弥补了ARM6很难在低于5V电压下稳定工作的不足,还增加了后缀所对应的功能:T支持高密度16位的Thumb指令集D支持片上调试 M支持64位乘法 I支持EmbededICE观察硬件SARM7TDMI 的可综合(synthesizable)版本(软核),对应用工程师来说其编程模型与ARM7TDMI 一致;15、GPIO使用注意事项:1. 引脚设置为输出方式时,输出状态由IOxSET和IOxCLR中最后操作的寄存器决定2. LP2000系列ARM大部分的I/O引脚为推挽方式输出,但是具有I2C总线功能的I/O引脚为开漏输出3. 推挽输出的I/O引脚正常拉出/灌入电流均为4mA,短时间极限值为40mA4. 复位后大部分引脚默认作为GPIO功能,并且均为输入状态5. LPC2210/2220/2212/2214中的p2.30和p2.31比较特殊,无论他们作为什么功能,第二功能的A/D输入始终有效,当他们连接高于3.3V的电平时,将影响其他的A/D转换的结果16、 I2C操作模式主模式I2C:在该模式中,LPC2000系列ARM作为主机,向从机发送数据(即,主发送模式)及接收从机的数据(即主接收模式)当进入主模式,I2 CONSET必须按图进行初始化从模式I2C:LPC2000系列ARM配置为I2C从机时,I2C主机可以对它进行读/写操作,此时从机处于从发送/接收模式。17、 3级流水线ARM处理器使用流水线来增加处理器指令流的速度,这样可使几个操作同时进行,并使处理和存储器系统连续操作,能提供0.9MIPS/MHz的指令执行速度。 正常操作过程中,在执行一条指令的同时对下一条(第二条)指令进行译码,并将第三条指令从存储器中取出。 ARM7TDMI的流水线分3级,分别为: 程序计数器R15(PC)总是指向“正在取指”的指令,而不是指向“正在执行”的指令或“正在译码”的指令。 一般来说,人们习惯性约定将“正在执行”的指令作为参考点,则:PC值当前程序执行位置8 注:ARM状态时,每条指令为4字节长。例题:执行ADD PC,PC,#4指令后,PC的值为多少? PC指向0x4008地址,执行ADD指令,所以指令执行的结果为: PC=PC+40x400840x400C。18、 时钟部件PLL(锁相环)LPC2000系列芯片内部均具有PLL电路,振荡器产生的时钟Fosc通过PLL升频,可以获得更高的系统时钟(Fcclk)。PLL设置举例系统要求Fosc10MHz,Fcclk60MHz。 根据这些要求:确定Fcclk60MHz;选择Fosc10MHz;计算M= Fcclk/Fosc60MHz/10MHz6。M-15,所以写入PLLCFG4:000101;计算P=Fcco/( Fcclk*2),其中Fcco为156320 MHz。当Fcco156MHz时,P=156MHz/(2*60MHz)1.3当Fcco320MHz时, P=2.67P取整数2,所以写入PLLCFG6:5=01。19、最小系统:提供嵌入式处理器运行所必须的条件的电路与嵌入式处理器共同构成了这个嵌入式处理器的最小系统最小系统的组成部分:电源;时钟;调试测试接口;复位及复位配置系统;存储器系统
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号