摘要:嵌入式系统具有非常广阔的应用领域,是现代计算机技术改造传统产业、提升许多领域技术水平的有力工具。通过对嵌入式系统概念的理解,发展历史及发展趋势了解,对比不同嵌入式操作系统的优缺点,嵌入式系统的选择标准,选择适合开发的开发平台和开发工具,并介绍了常见的开发工具及集成开发环境。 关键词:嵌入式系统;嵌入式操作系统;选择标准;开发
一、嵌入式操作系统的概念
嵌入式操作系统(Embedded Operating System,简称:EOS)是指用于嵌入式系统的操作系统。嵌入式操作系统负责嵌入式系统的全部软、硬件资源的分配和调度 ,控制协调等活动 ,能够通过装卸模块进行功能配置,体现所在系统的特征。嵌入式系统(Embedded system),是一种“完全嵌入受控器件内部,为特定应用而设计的专用计算机系统”。
嵌入式操作系统在本质上有操作系统没有多大差别,嵌入式操作系统具有操作系统的基本功能,如:进程调度(没有虚拟内存管理)、内存管理、文件管理、设备管理、中断管理、系统功能接口(API调用)、设备驱动。嵌入式操作系统具有系统可裁剪、可配置、实时性、稳定可靠的特点。
二、嵌入式系统的发展历史及发展趋势
20世纪70年代,单片机的出现到嵌入式微处理器,微控制器得到大规模应用,嵌入式系统出现。
嵌入式系统发展至今,大致分为四个阶段:单芯片阶段,嵌入式cpu阶段,嵌入式操作系统,Internet阶段。单芯片阶段即以单芯片为核心的可编程控制系统,结构和功能相对单一,处理效率低,常用于专业性极强的工控领域。嵌入式cpu阶段出现了简单操作系统,系统开销小,效率高,但cpu种类多,通用性差,主要用来控制系统负载和监控应用程序运行。嵌入式系统阶段性能得到最大提升,能运行于不同类型微处理器上,兼容性好,具有操作系统的特点,开发简单,应用软件丰富。目前嵌入式正处于Internet的阶段,大多数嵌入式还孤立于Internet之外,随着Internet的技术发展和信息家电、工业控制技术的日益结合,嵌入式与Internet的结合代表着嵌入式的未来。
三、目前使用的嵌入式操作系统及其优缺点
嵌入式面向特定应用,专用性强,融合了计算机技术、通信技术、半导体技术等,与各行业联系紧密。嵌入式比通用计算机资源少,成本低,软硬一体,软件为主,量体裁衣,设计高效。体积小,成本低,作用大,性价比高,但嵌入式本身不具有开发能力,需要专门的开发工具和环境,设计完成的产品,功能改写不易。
常见的嵌入式系统有: VxWorks、Linux、Win CE、uC/OS II、Palm OS、QNX、Nucleus、OSE,如下表1为各种不同嵌入式操作系统的简要介绍:
表1 嵌入式操作系统简要介绍 序操作简要概述 应用领域 优点 缺点 号 系统
1
主要产品 1 Linux Linux是一种自由和开放源码的类Unix操作系统。它诞生于1991 年的10 月5 日。 手机、平板电脑、路由器和视频游戏控制台,到台式计算机、大型机和超级计算机。 1、采用模块化体系结构,各模块具有可裁减性,内核最小的约134KB,安全可靠 2、提供功能强大的文件系统、网络协议模块、窗口管理器等 3、支持多种微处理器平台 4、提供GNU开发套件,支持模块动态链接 5、提供源代码开放的免费版本等 1、内核仍然较大,占用内存资源多 2、未能提供图形化的多进程调试工具等 2 WinCE 微软公司嵌入式、移动计算平台的基础,它是一个开放的、可升级的32位嵌入式操作系统。 3 VxWorks 美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),是嵌入式开发环境的关键组成部分 电脑及1、提供的功能模块组件丰1、内核仍较PDA,智慧型富,尤其是在图形界面大,对硬家电用品及接口GUI和多媒体方面件要求丰富的多媒具有明显优势,适用于高,消耗体家庭剧信息设备 资源多,院。 2、提供与Windows平台相耗电量大 似的集成开发环境和2、支持的嵌API接口函数,使入式微处Windows C/C++开发人理器种类员能够迅速的转到嵌入和提供的式系统的开发上来,极设备驱动大减少了开发者对新工程序不够具和新环境的学习掌握丰富 时间和费用 3、微软自身3、内核至少需要200KB,投入功能强大 Windwos CE售后技术支持服务力量较弱 广泛地应用1、 高实时性、高稳定性的1、 价格较在通信、军微内核,最小可以裁剪高 事、航空、到8KB 2、在运行使航天等高精2、 丰富的外挂组件模块 用方面,尖技术及实3、 可裁减性对多种硬件VxWorks时性要求极平台的可移植性支持采用的是高的领域。 ARM、PowerPC、68K、出售CPU32、SPARC、i960、Licence2
RT-Linux、uClinux、Emdedix、XLinux、PoketLinux、MidoriLinux、ARMLinux 红旗嵌入式Linux Pocket PC(掌上电脑)、Handheld PC(手持设备)及Auto PC。 美国的 F-16、FA-18 战斗机、B-2 轰炸机和爱国者导
免费公开源码的照相机、医 实时操作系统 疗器械、音 箱设施、发 动机控制、4 uCOSATM、机器人 -II Palm OS是Palm掌上电脑、 公司开发的专用手机 于PDA上的一种 Palm 操作系统,此系4 OS 统是3Com公司的Palm Computing 部开发的。 6 美国ATI公司为Nucl实时嵌入式应用eus 而设计的一个抢先式多任务操作系统 7
网络、路由、多媒体、手持产品、消费产品、局域网、广域网导航设备、卫星通信、自动提款机等 瑞典ENEA公司适用于电信1、 高处理能力 推出的实时多任基础设施、2、 支持开发复杂的分布OSE 务系统,2000年无线、汽车式系统,强大的容错能3
X86、MIPS等众多嵌入的销售策弹上。 式处理器,并提供相应略 的BSP模板 4、 友好、开放的集成开发环境 5、 持续的新技术跟踪和版本升级维护能力 1、 uCOS-II是一个开放式1、 移植困NSA便携内核,源码公开 难,缺式电话、2、 是一个占先式的内核,乏必要CYCLONE即已经准备就绪的高优的技术移动电先级任务可以剥夺正在支持 话、SIEL运行的低优先级任务的2、 没有网交换机 CPU使用权。 络功能3、 不同于Linux等分时操和文件作系统不同,它不支持系统,时间片轮转法,是一个对媒体基于优先级的实时操作文件处系统。 理差 4、 对共享资源提供了保护机制。 1、 操作系统节能(多1、 本身缺掌上电用于掌上设备) 乏常用脑,如2、 合理的内存管理 功能,Palm 3、 数据以数据库的格如录m505、式存储 音,mp3Palm 功能 m500、2、 在中国Palm III需要外等 挂中文平台 1、内核非常小巧,4K-20K NASA的大小 GPS系2、性价比高内核功能强大,统、支持C++语言 Addisof3、提供源代码,易学易用 t的战斗4、功能模块丰富 机航空 通讯等 基站设备,中兴等3G手进入中国 8 QNX成立于1980 年,是加拿大一QNX 家知名的嵌入式系统开发商 Redhat推出的小 型实时可配置操eCos 作系统 9 LynxLynx实时系统公10 OS 司开发的分布式、规模可扩展硬实时操作系统 11 12 Micriwave公司OS/9 的微处理器关键实时任务而设计 美国ISI公司的 产品。是可编辑pSOS 的实时操作系统 Express Logic Thre开源的硬实时操13 adX 作系统 Ready System公 司实时多任务操14 VRTX 作系统 OAR公司的开源 RTEM实时操作系统 15 S 和工业自动力 化等容错或3、 丰富功能模块和广泛高可靠、实的应用 时应用。 4、 严格的安全支持和强大的第三方支持 汽车领域、1、 速度极快,内核约12KB 高端路由设2、 系统非常安全 备、网络通3、 对Java语言的支持,信 有一个Voyager浏览器 4、 多媒体与消1、 可配置、内核小,可以费电子,网小至10KB 络通信,办2、 实时性好、容易移植 公与信息化3、 开源,开发工具免费 系统 国防和航空1、 提供一些传统的、非实领域 时的系统服务特征,内核小,最新内核28KB 2、 支持线程,提供256个全局线程优先级 1、 安全性的容错性很好 2、 与其他操作系统相比,灵活性和可升级性突出 消费电子产1、 先进的模块化体系 品、工业自2、 系统内部封闭,但之间动化、医疗联系紧密 器械、多媒3、 集成TCP/IP协议,支体设备领域 持广泛的cpu等硬件产品 航空工业、1、 强大的硬实时处理能数码产品 力 2、 只需很小存储 3、 有专门的调试开发工具 航空工业、1、 代码紧凑仅8K,延时短军工 快速性,自身代码紧凑,响应快 2、 确定性,采用固定开销搜索算法 3、 性,对硬件要求低 航空航天、1、 支持硬实时和软实时,军工,民用实时能力出色 领域 2、 系统占用资源少,内核的高度可裁剪性 4
机操作系统 QNX Neutrino RTOS Certified Plus Cisco路由器,AMS-02 ToshibaSamsung等公司的数码产品 MD-11客机、波音747 美国实时导弹系统
Google公司的基智能手机、1、 开放性,有强大的开发1、 安全与HTC、摩 于Linux的手机移动设备操软件者的支持 隐私较托罗拉、16 Andr开源操作系统。 作系统 2、 丰富的硬件选择 差 魅族、华oid 3、 对网络友好,丰富的功2、 过分依为、中能选择 赖网络, 兴、联想4、 软件兼容性比较好。 等手机系统 Symb芬兰手机NOKIA智能手机 1、 系统简单,易于上手应1、硬件要求诺基亚、17 ian 公司的只能操作用较多 低,吃力能三星、西系统 2、 功耗低,内存占用小 力差 门子、等2、多媒体功手机系能欠佳 统。 美国Apple公司智能手机、1、 系统封闭,安全性能较过于封闭,iphone18 ios 智能手机操作系平板电脑 好 不同地区适手机、统 2、 功能强大,全图像界面 应能力不同 ipad平3、 用户体验好,操作简单 板电脑 加拿大RIM公司手机 1、 安全性高 触控操作体黑莓手19 Blac为黑莓手机开发2、 邮件功能尤其强大 验不够好 机 kBer的专用操作系统 3、 相机的时光机 ry OS 中国完全自主研飞机导航、中国自主研发 飞机导 发的最成熟的嵌核动力控航、核动20 Delt入式强实时多任制、雷达终力控制、aSys务操作系统 端录取平台雷达终tem 等军用与民端 用领域 凯思集团自主研移动计算平1、 中国第一个实现手 手机 制开发的嵌入式台(PDA)、 机自主软件产业化21 Hope操作系统手机自家庭信息环的操作系统,具有实n 主软件产业化的境(机顶盒,时、多任务、多线程操作系统 数字电的系统特征。 视)、 通讯2、 内核小,10KB左右 计算平台(多媒体手机)等领域。 中科院计算机研 重点支持P-java 究所组织开发的22 EEOS开源实时操作系 统 浙江大学自主研信息家电、1、 实时、多任务等特征, 机顶盒 发的全中文实时智能设备和能提供浏览器、网络通和数据23 HBos 操作系统 仪器仪表等信和图形窗口等服务; 采集等领域 2、 可供进行一定的定制系统
5
或二次开发 可移植的、开源 1、 完全免费的小嵌入式 Free的迷你实时小型系统,简单易用 24 RTOS 系统 2、 源码公开、可移植、可裁减、调度策略灵活 25 RTXC 手机操作系 统 开源免费的硬实 uTen时嵌入式操作系26 ux 统,中国大连开发团队 27 DJYO实时操作系统, S 中国研发 TinyOS是UC Berkeley开发的28 Tiny开放源代码操作OS 系统,专为嵌入式无线传感网络设计 四、嵌入式的选择标准
嵌入式设备为未来重要发展的技术之一,由于计算机技术的快速进步,硬件运算速度,平台差异性及兼容性逐渐增强,在嵌入式设备中操作系统是最重要的软件,它不仅关系到未来在此操作系统上锁开发的应用软件的功能修改及新增,更关系到系统的效能及稳定度。由于未来嵌入式联网将会是一个基本功能,系统的安全性更是要考虑的问题。嵌入式的选择主要为以下几点: (1)硬件平台的支持
首先需要确定某嵌入式操作系统是否支持该硬件平台,如CPU类型、内存大小、程序存储空间大小、MMU等因素。性能参数要求
(2)内核的大小与性能;内核大小是衡量嵌入式操作系统的重要性能指标之一,一般只有几十KB到几KB,微内核是一种较好的机制与策略分离的开放式内核模式。内核的性能包括稳定性、实时性、功耗等。 (3)开发环境的完备性
是否提供友好的交叉开发工具;以及交叉开发工具的集成性(包括是否提供编辑器、编译器、链接器、调试器、仿真器、工程管理器等)与开放性 (4)对不同硬件平台的可移植性
软件移植到不同目标硬件时,如果能够将依赖于硬件的低级代码和高级的应用程序及操作系统区分开来,移植工作将会变得非常简单;嵌入式操作系统可移植性评估
(5)应用模块支持
外挂模块/组件的丰富性;可能的外挂模块/组件包括设备驱动、文件系统(如TFFS)、各种网络协议栈、图形界面管理、电源管理、POSIX标准兼容接口等。 除了以上几点,技术支持,可裁剪性,可移植性支持,软件服务与价格也是选择嵌入式操作系统要考虑的因素。
6
五、嵌入式的开发
嵌入式主要由不同的开发工具来完成一系列的仿真、编译、调试等步骤。嵌入式的开发工具本文简要分为开发工具和集成开发环境,其中集成开发环境由不同的开发工具集合而成。除了集成开发环境外,开发者也可自己搭建开发环境。 1、嵌入式开发工具
嵌入式由硬件系统和软件系统构成,软件系统又分为驱动软件、应用软件。不同的开发工具适应不同的硬件平台和操作系统。 (1)、硬件开发工具
硬件平台的选择对嵌入式系统的整体开发至关重要,硬件的开发基于硬件平台的选择,目前主流的硬件平台有Atom平台、PowerPC平台、MIPS平台、ARM平台、CORTEX-A8平台、CORTEX-m3平台、高性能手持平台OMAP3/4等。硬件的开发工具有如下表2:
表2 硬件开发工具 序号 名称 功能 1 Altium Designer 6 1、原理图设计 2、PCB 设计 2 Cadence Designer System 1、原理图设计 2、多层板 Layout 3 Protel99SE 1、原理图设计 2、PCB 设计 (2)、软件开发工具
嵌入式软件系统的指标包括满足硬件条件的尺寸、软件实时性、网络能力以及人机交互能力。软件系统的软件开发工具分为驱动软件开发工具、应用软件开发工具及代码编辑工具。如下表3和表4分别为驱动软件和应用软件的开发工具:
表 3 驱动软件开发工具 序号 名称 功能 1 IAR 驱动开发工具 2 CodeWarrier 集成开发环境 3 Visual studio 2005 +Platform Builder for OS 制作工具 CE6.0 4 Advanced Installer 7.6.1 BSP 安装包制作工具 表4 应用软件开发工具 序号 名称 功能 1 Visual Studio 2005 代码编译、连接、生成工具 2 Embedded Visual C++ 代码编译、连接、生成工具 3 QT 代码编译、连接、生成工具 软件编写过程离不开代码编辑工具,常用几种代码编辑工具如下表5:
7
表5 代码编辑工具 序号 名称 1 Advanced Source Insight 3 2 UltraEdit 3 Beyond Compare 功能 代码查看工具 代码查看及文件比较工具 文件及文件夹比较软件工具 2、集成开发环境
随着嵌入式系统应用范围的不断扩大,嵌入式系统设计方法和开发环境的研究工作近年来倍受重视。集成开发IDE(Integrated Development Environment),一般包括代码编辑器、编译器、调试器以及图形用户界面工具等。近年来,嵌入式系统软硬件协同设计发展迅速,应用广泛。集成开发环境摆脱了传统设计开发过程中软件、硬件设计和一个系统反复试验、反复修改,使系统中的一些潜在优势不能充分发挥,系统资源不能充分利用,系统体积庞大,速度慢,造价高。
目前,不少集成开发环境面市,主要有以下表6所示: 表 6 集成开发环境 序号 操作系统 集成开发环境 开发商 1 VxWorks Tornodo、采用eclipse 架构的Workbench WindRiver 2 pSOS pRISM+ Visua1Lynux(需要与VisualStudioLynuxWork 一起安装) EmbestIDEforARM 深圳英蓓特公司 Linux 3 WH5307SDK 珠海万禾网络技术有限公司 CodewarriorIDE MetrowerkSIne C-Forge、Code Crusader、gIDE、 GUDIE、infoDock、KDevelp、MagicDraw、Mo DeJong、motro、RHIDE、ROOT System、WipeOut、Xwpe、Zombie 4 QNX QNXIDE(eclipse架构) QNX 5 WindowSCE EVC Microsoft 6 DeltaOS LambdaTool 北京科银京成技术有限公司 7 Hopen Hopen SDK 凯思公司 不同的嵌入式系统有不同的集成开发去环境或者不同的开发工具,除了表6所列的集成开发环境外,也可以根据需要自己搭建开发环境。
六、部分开发工具的简要介绍和操作
本部分以硬件开发和软件开发工具工具两大部分介绍常用的Pretel99SE、JEENI
8
和Multi-ICE开发工具以及ARM SDT、ARM ADS、GNU。 1、Protel 99SE Protel 99SE是基于Windows环境下的电路板设计软件。Protel 99SE 由两大部分组成:电路原理图设计(Advanced Schematic)和多层印刷电路板设计(Advanced PCB)。其中Advanced Schematic由两部分组成:电路图编辑器(Schematic)和元件库编辑器(Schematic Library)。
2、JEENI
JEENI仿真器是美国EPI公司生产的、专门用于调试ARM7系列的开发工具。它与PC之间通过以太网或串口连接,与ARM7目标板之间通过JTAG口连接。该仿真器使用电源。
JEENI仿真器支持ARM/Thumb指令,支持汇编/高级语言调试,用户应用程序通过JEENI仿真器下载到目标ARM中。通过JEENI仿真器,用户可以观察/修改ARM7的寄存器和存储器的内容;用户可以在所下载的程序上设置断点;用户可以用汇编/高级语言单步执行程序,也可以全速运行程序;用户可以观察高级语言变量的数据结构及内容,并对变量的内容在线修改。
JEENI内部使用了一片带有高速缓存的ARM处理器,支持对调试操作的快速响应,比如:单步执行、读写存储器、读写寄存器和下载应用程序到目标板中。JEENI的这种结构允许以太网接口在处理器执行JTAG指令的同时访问存储器。这种设计极大地提高了下载速度。
JEENI仿真器可以很好地与SDT工具链接,用户可以使用SDT的编译器和调试界面。对那些正在使用ARM BlackICE/EmbeddedICE JTAG接口的用户来说,JEENI是即插即用的替代品。
3、Multi-ICE
Multi-ICE是ARM公司自己的JTAG在线仿真器,它的链时钟可以设置为5KHz~10MHz。实现JTAG操作的一些简单逻辑由FPGA实现,使得并行口的通讯量最少,以提高系统的性能。Multi-ICE硬件支持低至1V的电压。Multi-ICE 2.1还可以外部供电,不需要消耗目标系统的电源。这对调试类似手机等便携式、电池供电设备是很重要的。
Multi-ICE 2.x支持该公司的实时调试工具MultiTrace。MultiTrace包含一个处理器,因此可以跟踪触发点前后的轨迹,并且可以在不中止后台任务的同时,对前台任务进行调试,在微处理器运行时改变存储器的内容。所有这些特性使延时降到最低。
Multi-ICE 2.x支持ARM7、ARM9、ARM9E、ARM10和XScale处理器系列。它通过TAP控制器串联,提供多个ARM处理器以及混合结构芯片的在片调试。它还支持低频或变频设计以及超低压核的调试,并且支持实时调试。
Multi-ICE提供支持Window NT/95/98/2000/Me,HP-UX 10/20和Solaris 2.6/7.0的驱动程序。
Multi-ICE的主要优点如下:
快速的下载和单步速度。 用户控制的输入/输出位。 可编程的JTAG位传送速率。 开放的接口,允许调试非ARM的核或DSP。
9
网络链接到多个调试器。 目标板供电或外接电源。
4、ARM SDT
ARM SDT是ARM公司为方便用户在ARM芯片上进行应用软件开发而推出的一套集成开发工具。ARM SDT经过ARM公司逐年的维护和更新,目前的最新版本是2.5.2,但从版本2.5.1开始,ARM公司宣布推出一套新的集成开发工具ARM ADS 1.0以取代ARM SDT。今后将不会看到ARM SDT的新版本。
ARM SDT由于价格适中,同时经过长期的推广和普及,目前拥有广泛的ARM软件开发用户群体,也被相当多的ARM公司的第三方开发工具合作伙伴集成到自己的产品中,如美国EPI公司的JEENI仿真机。
ARM SDT可在Windows95/98/NT、Solaris2.5/2.6和HP-UX 10上运行,支持最高到ARM9的所有处理器(包括StrongARM)。
5、ARM ADS
ARM ADS是ARM公司推出的新一代ARM集成开发工具,用来取代ARM SDT,它是一种快速而节省成本的完整软件开发解决方案。最新版本为1.2.1。
ARM ADS起源于ARM SDT。它对SDT的模块进行了增强,并替换了一些SDT的组成部分,用户可以感受到的最大的变化是:ADS使用CodeWarrior IDE集成开发环境代替了SDT的APM,使用AXD替换了ADW。现成集成开发环境的一些基本特性在ADS中才得以体现,如源文件编辑器语法高亮和窗口驻留等功能等。
ARM ADS支持ARM7、ARM9、ARM9E、ARM10、StrongARM和XScale系列处理器。除SDT支持的操作系统外,还可以在Windows 2000/XP和Red Hat Linux 6.2/7.1上运行。
6、GNU 开发工具
随着Linux操作系统和GNU开发工具的普及,针对不同处理器的开放源代码开发工具也给用户提供了一个廉价的选择,对于嵌入式Linux开发者,可以选用GNU开发工具链。
运行于Linux操作系统下的自由软件GNU gcc编译器,不仅可以编译Linux操作系统下运行的应用程序及编译Linux本身,还可以作交叉编译,编译运行于其他CPU上的程序。可以作交叉编译的CPU(或DSP)涵盖了几乎所有知名厂商的产品。用于嵌入式应用的、众所周知的CPU包括:Intel的i386、Intel960、AMD29K、ARM、M32、MIPS、M68K、ColdFire、PowerPC、68HC11/12和TI的TMS320等。
GNU gcc编译器是一套完整的交叉C编译器,包括: C交叉编译器gcc 交叉汇编工具as 反汇编工具objdump 连接工具ld 调试工具gdb
可以用批处理文件 makefile 将上述工具组合成方便的命令行形式。
10
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- sarr.cn 版权所有 赣ICP备2024042794号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务