嵌入式系统设计

上传人:枫** 文档编号:512793892 上传时间:2023-06-25 格式:DOCX 页数:14 大小:803.56KB
返回 下载 相关 举报
嵌入式系统设计_第1页
第1页 / 共14页
嵌入式系统设计_第2页
第2页 / 共14页
嵌入式系统设计_第3页
第3页 / 共14页
嵌入式系统设计_第4页
第4页 / 共14页
嵌入式系统设计_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《嵌入式系统设计》由会员分享,可在线阅读,更多相关《嵌入式系统设计(14页珍藏版)》请在金锄头文库上搜索。

1、嵌入式系统设计1嵌入式系统的概念 目前,对嵌入式系统的定义多种多样,但没有一种定义是全面的。下面给出两种比较合理定 义: 从技术的角度定义:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统 对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 从系统的角度定义:嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起 的计算机系统。术语嵌入式反映了这些系统通常是更大系统中的一个完整的部分,称为嵌入 的系统。嵌入的系统中可以共存多个嵌入式系统。2嵌入式处理器可以分为以下几大类:嵌入式微处理器;嵌入式微控制器;嵌入式DSP处理器;嵌入式片上系统(SOC)。3 嵌入式操作系

2、统 实时操作系统的特点 一般实时操作系统应用于实时处理系统的上位机和实时查询系统等实时性较弱的实时系统, 并且提供了开发、调试、运用一致的环境。嵌入式实时操作系统应用于实时性要求高的实时控制系统,而且应用程序的开发过 程是通过交叉开发来完成的,即开发环境与运行环境是不一致。嵌入式实时操作系统具有规 模小(一般在几K几十K内)、可固化使用实时性强(在毫秒或微秒数量级上)的特点 IEEE 的实时 UNIX 分委会认为实时操作系统应具备以下的几点: 异步的事件响应 。切换时间和中断延迟时间确定 。优先级中断和调度 抢占式调度 。内存锁定 。连续文件 。同步4一一实时操作系统(RTOS) 实时操作系统

3、是一段在嵌入式系统启动后首先执行的背景程序,用户的应用程序是 运行于RTOS之上的各个任务,RTOS根据各个任务的要求,进行资源(包括存储器、外设等) 管理、消息管理、任务调度、异常处理等工作。在 RTOS 支持的系统中, 每个任务均有一 个优先级,RTOS根据各个任务的优先级,动态地切换各个任务,保证对实时性的要求。 5一一非占先式内核非占先式内核要求每个任务自我放弃CPU的所有权。非占先式调度法也称作合作型多任务, 各个任务彼此合作共享一个CPU。异步事件还是由中断服务来处理。中断服务可以使一个高 优先级的任务由挂起状态变为就绪状态。但中断服务以后控制权还是回到原来被中断了的那 个任务,直

4、到该任务主动放弃 CPU 的使用权时,那个高优先级的任务才能获得 CPU 的使用 权。6一一占先式内核当系统响应时间很重要时,要使用占先式内核。因此绝大多数商业上销售的实时内核都是占 先式内核。最高优先级的任务一旦就绪,总能得到 CPU 的控制权。当一个运行着的任务使 一个比它优先级高的任务进入了就绪状态,当前任务的 CPU 使用权就被剥夺了,或者说被 挂起了,那个高优先级的任务立刻得到了 CPU 的控制权。如果是中断服务子程序使一个高 优先级的任务进入就绪态,中断完成时,中断了的任务被挂起,优先级高的那个任务开始运 行。7一一中断中断是一种硬件机制,用于通知 CPU 有个异步事件发生了。中断

5、一旦被识别, CPU 保存部 分(或全部)上下文即部分或全部寄存器的值,跳转到专门的子程序,称为中断服务子程序 (ISR)。中断服务子程序做事件处理,处理完成后,程序回到:1. 在前后台系统中,程序回到后台程序;2. 对非占先式内核而言,程序回到被中断了的任务;3. 对占先式内核而言,让进入就绪态的优先级最高的任务开始运行。8 使用实时操作系统的必要性 嵌入式实时操作系统在目前的嵌入式应用中用得越来越广泛,尤其在功能复杂、系统庞大的 应用中显得愈来愈重要。在嵌入式应用中,只有把 CPU 嵌入到系统中,同时又把操作系统 嵌入进去,才是真正的计算机嵌入式应用。使用实时操作系统主要有以下几个因素:

6、嵌入式实时操作系统提高了系统的可靠性。提高了开发效率,缩短了开发周期。嵌入式实时操作系统充分发挥了 32位CPU的多任务潜力。9实时操作系统的优缺点 优点:在嵌入式实时操作系统环境下开发实时应用程序使程序的设计和扩展变得容易,不需 要大的改动就可以增加新的功能。通过将应用程序分割成若干独立的任务模块,使应用程序 的设计过程大为简化;而且对实时性要求苛刻的事件都得到了快速、可靠的处理。通过有效 的系统服务,嵌入式实时操作系统使得系统资源得到更好的利用。缺点:但是,使用嵌入式实时操作系统还需要额外的ROM/RAM开销,25%的CPU额外负 荷,以及内核的费用。10常见的嵌入式操作系统嵌入式 Lin

7、uxWin CEVxWorkspC/OSdl第二章ARM7体系结构1 .ARM体系结构ARM 体系结构还有以下特点每条数据处理指令可同时包含算术逻辑单元(ALU)的运算和移位处理,实现ALU和移位器 的最大利用;使用地址自增和自减的寻址方式优化程序循环; 装载/保存指令对数据的批量传输,实现最大数据吞吐量;大多数指令的条件执行,实现最快速的代码执行2. 三级流水线ARM 处理器使用流水线来增加处理器指令流的速度,这样可使几个操作同时进行,并使处 理和存储器系统连续操作,能提供0.9MIPS/MHZ的指令执行速度。正常操作过程中,在执行一条指令的同时对下一条(第二条)指令进行译码,并将第三条指令

8、 从存储器中取出。3. ARM 处理器状态ARM7TDMI处理器内核包含2套指令系统,分别为ARM指令集和Thumb指令,并且各自对 应 1 种处理器的状态:ARM 状态: 32 位,处理器执行字方式的 ARM 指令,处理器默认为此状态;Thumb状态:16位,处理器执行半字方式的Thumb指令。 注意:两个状态之间的切换并不影响处理器模式或寄存器内容。4. ARM 处理器模式ARM体系结构支持7种处理器模式,分别为:用户模式、快中断模式、中断模式、管理模 式、中止模式、未定义模式和系统模式。除用户模式外,其它模式均为特权模式。ARM内部寄存器和一些片内外设在硬件设计上只 允许(或者可选为只允

9、许)特权模式下访问。此外,特权模式可以自由的切换处理器模式, 而用户模式不能直接切换到别的模式。这两种模式都不能由异常进入,想要进入必须修改CPSR,而且它们使用完全相同的寄存器 组。系统模式是特权模式,不受用户模式的限制。操作系统在该模式下访问用户模式的寄存 器就比较方便,而且操作系统的一些特权任务可以使用这个模式访问一些受控的资源。 这五种模式称为异常模式。它们除了可以通过程序切换进入外,也可以由特定的异常进入 当特定的异常出现时,处理器进入相应的模式。每种异常模式都有一些独立的寄存器,以避 免异常退出时用户模式的状态不可靠。何时进入异常模式,具体规定如下: 处理器复位之后进入管理模式,操

10、作系统内核通常处于管理模式; 当处理器访问存储器失败时,进入数据访问中止模式; 当处理器遇到没有定义或不支持的指令时,进入未定义模式;中断模式与快速中断模式分别对ARM处理器2种不同级别的中断作出响应。外理器模式说明用户伽n正常程序运行的工作模武不能直接从用户模武切换到其它模式弍系统冏$)用于支持操作系统的特权任务 等与用户模式类似但具有可以直接切换 到其它模式等特权我快中斷Wq)快速中断请求处理只有在FIQ异常响应时,才进入此模式中断中断请求处理只有在IRQ异常响应时,才进入此模式管理仗VC)供操作紧统使用的一种保护模 式只有在策统复&利软件中断响应时,才 进入此模式中 ik(abt)用于虚

11、拟内存和丿或存储器保护在ARM了内核中没有备大用处未定义(und)支持软件仿真的硬件协处理器只有在未定义指令异常响应时,才进入 此模式5.ARM 内部寄存器Thumb 状态寄存器集是 ARM 状态集的子集,程序员可以直接访问的寄存器为:8个通用寄存器R0R7;程序计数器(PC);堆栈指针(SP);链接寄存器(LR); 当前程序状态寄存器( CPSR)。6CPSR 和 SPSR寄存器CPSR为当前程序状态寄存器,在异常模式中,另外一个寄存器“程序状态保存寄存 器(SPSR) ”可以被访问。每种异常都有自己的SPSR,在进入异常时它保存CPSR的当前值, 异常退出时可通过它恢复CPSR。7当前程序

12、状态寄存器ARM内核包含1个CPSR和5个仅供异常处理程序使用的SPSR。CPSR反映当前处 理器的状态,其包含:4个条件代码标志(负标志N、零标志Z、进位标志C和溢出标志V );2个中断禁止位(IRQ禁止与FIQ禁止);5个对当前处理器模式进行编码的位(M4:0);1个用于指示当前执行指令的位(ARM指令还是Thumb指令)。8控制位中断禁止控制位 I 和 F当控制位I置位时,IRQ中断被禁止;当控制位F置位时,FIQ中断被禁止9.异常简介 只要正常的程序流被暂时中止,处理器就进入异常模式。10.异常的进入 当一个异常导致模式切换时,内核自动的做如下处理 将异常处理程序的返回地址(加固定的偏

13、移量)保存到相应异常模式下的LR; 将 CPSR 的当前值保存到相应异常模式下的 SPSR设置 CPSR 为相应的异常模式设置 PC 为相应异常处理程序的中断入口向量地址,跳转到相应的异常中断处理程序执行;11.异常的退出当异常处理程序结束时,异常处理程序必须:返回到发生异常中断的指令的下一条指令处执行,即就是说将LR中的值减去偏移量后移 入 PC ;将 SPSR 的值复制回 CPSR清零在入口处置位的中断禁止标志12IRQ 与 FIQ中断请求与快速中断请求IRQ:只有当CPSR中相应的中断屏蔽位被清除时,才可能发生IRQ异常,中断请求(IRQ) 异常由一个nIRQ输入端的低电平所产生的正常中

14、断。注:中断异常产生时,中断异常模式下的R14保存的是PC的值。FIQ:快速中断请求(FIQ)适用于对一个突发事件的快速响应,这得益于在ARM状态中,快中 断模式有 8 个专用的寄存器可用来满足寄存器保护的需要第四章LPC2000系列ARM硬件结构1片内FLASH程序存储器片内 Flash 通过 128 位宽度的总线与 ARM 内核相连,具有很高的速度,加上特有的存储器 加速功能,因此可以将程序直接放在Flash上运行。2片内 Flash 编程方法1. 使用 JTAG 仿真/调试器,通过芯片的 JTAG 接口下载程序;2使用在系统编程技术(即ISP),通过UARTO接口下载程序3使用在应用编程

15、技术(即IAP),在用户程序运行时对Flash进行擦除和/或编程操作,实现 数据的存储和固件的现场升级。2存储器映射:给物理存储器分配逻辑地址的过程称为存储器映射。3存储器重映射 将已经过映射的存储器再次映射的过程称为存储器重映射,它使同一物理存储单元出现多个 不同的逻辑地址。这些存储单元主要包括引导块“Boot Block”和用于保存异常向量表的少 量存储单元。注意:存储器重映射并不是对映射单元的内容进行了复制,而只是将多个地址指向了同一个 存储单元,这种效果是通过芯片内部的“存储器管理部件”实现的。4.AHB 和 VPBAHB (先进的高性能总线)和VPB(VLSI外设总线)外设区域都为2M字节,可各分配128 个外设。每个外设空间的规格都为16K字节,这样就简化了每个外设的地址译码。注意:外设寄存器的地址都是字对齐。 AHB 和 VPB 外设区域中不管是字还是半字,都是一 次性访问。5. 引导块及其功能引导块(Boot Block)是芯片设计厂家在LPC2000系列ARM内部固化的一段代码,用户无法修改或删除。这段代码在芯片复位后被首先运行,其功能主要是: 判断运行哪个存储器上的程序;检查用户代码是否有效;判断芯片是否被加密;芯片的在应用编程(IAP)以及在系统

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号