嵌入式系统绪论
1.1嵌入式系统概述
一. 定义
嵌入式系统是以应用为中心、以计算机技术为基础、软件硬件可剪裁、适应于对系统功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统。这个定义主要包含两个信息,一是嵌入式系统是专用计算机系统,因此必须要有处理器,具备计算机系统的基本特征。二是嵌入式系统的功能是有严格要求并按照指定的应用而设计的。
二. 嵌入式系统的应用领域
交通管理、工控设备、智能仪器、汽车电子、环境监测、电子商务、医疗仪器、移动计算、网络设备、通信设备、军事电子、机器人、智能玩具、信息家电等等
三.嵌入式系统的组成
硬件层:包括嵌入式微处理器、存储器、通用设备接口和I/O接口。
中间层:也称为硬件抽象层(HAL)或板级支持包(BSP),它将系统上层软件与底层硬件分离开来,使系统的底层驱动程序与硬件无关。
软件层:系统软件层由实时多任务操作系统(RTOS)、文件系统、图形用户接口(GUI)、网络系统及通用组件模块组成。RTOS是嵌入式应用软件的基础和开发平台。
四.嵌入式系统的特点:
l 系统内核小
l 专用性强
l 系统精简
l 高实时性OS
五.嵌入式系统发展:
l 系统工程化
l 开源化
l 功能多样化
l 节能化
l 人性化
l 网络化
1.2嵌入式处理器
嵌入式处理器是嵌入式系统的核心。嵌入式处理器可以分为嵌入式微处理器、嵌入式微控制器、嵌入式DSP处理器和嵌入式片上系统(SOC)。
1.3嵌入式操作系统
嵌入式操作系统纸是指用于嵌入式系统的操作系统。嵌入式操作系统可以将复杂的应用分解成多个任务,这些任务在系统内部分时运行,人物之间以优先级作为切换的依据由操作系统按照一定的机制进行调度。
嵌入式操作系统的特点:
l 系统内核小
l 专用性强
l 系统精简
l 高实时性
l 多任务的操作系统
l 需要开发工具和环境
嵌入式实时操作系统
嵌入式操作系统可以分为实时和通用两种, 实时操作系统(Real-Time Operating System,RTOS)并不是指它是一种速度很快的操作系统,而是指操作系统必须在限定的时间内,对过程调用产生正确的响应。与通用操作系统相比较,实时操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。
实时操作系统应具备以下特点:
l 异步事件响应
l 切换时间和中断延迟时间确定
l 优先级中断和调度
l 抢占式调度
l 内存锁定
l 连续文件和同步
常见的嵌入式操作系统
uClinux——没有MMU的CPU
Android——开源智能手机、移动终端
Win CE——掌上设备、无线设备、占用内存大
VxWorks——使用最广泛、市场占有率最高
Nucleus——抢占式多任务
OSE——充当着实时操作系统以及分布式和容错性应用的先锋
μC/OS-II——源码公开、可移植、可固化、可裁剪、占先式的实时多任务操作系统。
1.4嵌入式工程师设计
1. 应用需求是什么?
不了解需求而做成的产品往往是失败的。需求一般由用户提出,需要确定设计任务和目标,并制定说明规格文档,作为下一步设计的指导和验收标准。这个问题的解决往往要与用户反复交流,以明确系统功能需求,性能需求,环境、可靠性、成本、功耗、资源等需求。
2、 需要多少硬件
硬件作为嵌入式系统的基本组成,硬件的设计对于项目的开发也是至关重要的,硬件方面需要考虑的问题有: CPU的选择, 相应的外围芯片的选择。系统的主要I/O分配;系统的电源要求; 硬件的尺寸要求、外壳设计等。
3、 如何满足实时性?
由于嵌入式系统是嵌入到对象体系中的专用计算机应用系统,实现对象体系的智能化控制,因此,都存在着对象体系对控制过程的时间要求,以及嵌入式系统能否满足这一要求的实时性问题。解决实时性需要从硬件和软件等多方面入手。
4、如何满足低功耗?
对于便携式设备,低功耗是非常重要的问题,主要的解决办法有:尽量采用低电压的器件;降低处理器的时钟频率;分区/分时供电技术;编译低功耗优化技术;软件设计采用中断驱动技术;延时程序设计;软件算法优化等。
5、如何保证系统可升级?
当设备出现了系统漏洞或者用户不满足现有功能而提出更多需求时,就要对系统升级或者维护系统功能,其主要方法有SD卡离线升级和在线升级两种。
6. 如何调试?
调试是嵌入式系统开发过程中必不可少的重要环节。调试的方法也是多种多样,有:ROM仿真器;ICE在线仿真器;JTAG调试器;软件仿真等。
7. 如何选择合适的开发环境?
嵌入式系统开发环境是以开发嵌入式系统为目的的工程开发环境。包括办公环境、软件支持、硬件设备支持。软件支持是指集成开发环境与软件模拟器等。硬件支持是指仿真器、目标板、示波器、烧录器等。