差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
嵌入式系统 [2016/06/29 15:28]
gongyu [系统组成]
嵌入式系统 [2016/06/29 15:38] (当前版本)
gongyu [应用领域]
行 89: 行 89:
 ====应用领域==== ====应用领域====
 嵌入式系统技术具有非常广阔的应用前景,其应用领域可以包括: 嵌入式系统技术具有非常广阔的应用前景,其应用领域可以包括:
-工业控制+===工业控制===
 基于嵌入式芯片的工业自动化设备将获得长足的发展,目前已经有大量的8、16、32 位嵌入式微控制器在应用中,网络化是提高生产效率和产品质量、减少人力资源主要途径,如工业过程控制、数字机床、电力系统、电网安全、电网设备监测、石油化工系统。就传统的工业控制产品而言,低端型采用的往往是8位单片机。但是随着技术的发展,32位、64位的处理器逐渐成为工业控制设备的核心,在未来几年内必将获得长足的发展。 基于嵌入式芯片的工业自动化设备将获得长足的发展,目前已经有大量的8、16、32 位嵌入式微控制器在应用中,网络化是提高生产效率和产品质量、减少人力资源主要途径,如工业过程控制、数字机床、电力系统、电网安全、电网设备监测、石油化工系统。就传统的工业控制产品而言,低端型采用的往往是8位单片机。但是随着技术的发展,32位、64位的处理器逐渐成为工业控制设备的核心,在未来几年内必将获得长足的发展。
-交通管理+===交通管理===
 在车辆导航、流量控制、信息监测与汽车服务方面,嵌入式系统技术已经获得了广泛的应用,内嵌GPS模块,GSM模块的移动定位终端已经在各种运输行业获得了成功的使用。目前GPS设备已经从尖端产品进入了普通百姓的家庭,只需要几千元,就可以随时随地找到你的位置。 在车辆导航、流量控制、信息监测与汽车服务方面,嵌入式系统技术已经获得了广泛的应用,内嵌GPS模块,GSM模块的移动定位终端已经在各种运输行业获得了成功的使用。目前GPS设备已经从尖端产品进入了普通百姓的家庭,只需要几千元,就可以随时随地找到你的位置。
-信息家电+===信息家电===
 这将称为嵌入式系统最大的应用领域,冰箱、空调等的网络化、智能化将引领人们的生活步入一个崭新的空间。即使你不在家里,也可以通过电话线、网络进行远程控制。在这些设备中,嵌入式系统将大有用武之地。 这将称为嵌入式系统最大的应用领域,冰箱、空调等的网络化、智能化将引领人们的生活步入一个崭新的空间。即使你不在家里,也可以通过电话线、网络进行远程控制。在这些设备中,嵌入式系统将大有用武之地。
-家庭智能管理+===家庭智能管理===
 水、电、煤气表的远程自动抄表,安全防火、防盗系统,其中嵌有的专用控制芯片将代替传统的人工检查,并实现更高,更准确和更安全的性能。目前在服务领域,如远程点菜器等已经体现了嵌入式系统的优势。 水、电、煤气表的远程自动抄表,安全防火、防盗系统,其中嵌有的专用控制芯片将代替传统的人工检查,并实现更高,更准确和更安全的性能。目前在服务领域,如远程点菜器等已经体现了嵌入式系统的优势。
-POS网络+===POS网络===
 公共交通无接触智能卡(Contactless Smartcard, CSC)发行系统,公共电话卡发行系统,自动售货机,各种智能ATM终端将全面走入人们的生活,到时手持一卡就可以行遍天下。 公共交通无接触智能卡(Contactless Smartcard, CSC)发行系统,公共电话卡发行系统,自动售货机,各种智能ATM终端将全面走入人们的生活,到时手持一卡就可以行遍天下。
-环境工程+===环境工程===
 水文资料实时监测,防洪体系及水土质量监测、堤坝安全,地震监测网,实时气象信息网,水源和空气污染监测。在很多环境恶劣,地况复杂的地区,嵌入式系统将实现无人监测。 水文资料实时监测,防洪体系及水土质量监测、堤坝安全,地震监测网,实时气象信息网,水源和空气污染监测。在很多环境恶劣,地况复杂的地区,嵌入式系统将实现无人监测。
-国防与航天+===国防与航天===
 嵌入式芯片的发展将使机器人在微型化,高智能方面优势更加明显,同时会大幅度降低机器人的价格,使其在工业领域和服务领域获得更广泛的应用。 嵌入式芯片的发展将使机器人在微型化,高智能方面优势更加明显,同时会大幅度降低机器人的价格,使其在工业领域和服务领域获得更广泛的应用。
 这些应用中,可以着重于在控制方面的应用。就远程家电控制而言,除了开发出支持TCP/​IP的嵌入式系统之外,家电产品控制协议也需要制订和统一,这需要家电生产厂家来做。同样的道理,所有基于网络的远程控制器件都需要与嵌入式系统之间实现接口,然后再由嵌入式系统来控制并通过网络实现控制。所以,开发和探讨嵌入式系统有着十分重要的意义。 这些应用中,可以着重于在控制方面的应用。就远程家电控制而言,除了开发出支持TCP/​IP的嵌入式系统之外,家电产品控制协议也需要制订和统一,这需要家电生产厂家来做。同样的道理,所有基于网络的远程控制器件都需要与嵌入式系统之间实现接口,然后再由嵌入式系统来控制并通过网络实现控制。所以,开发和探讨嵌入式系统有着十分重要的意义。
-现状发展 
-发展现状 
-随着信息化,智能化,网络化的发展,嵌入式系统技术也将获得广阔的发展空间。美国著名未来学家尼葛洛庞帝99年1月访华时预言,4~5年后嵌入式智能(电脑) 工具将是PC和因特网之后最伟大的发明。我国著名嵌入式系统专家沈绪榜院士98年11月在武汉全国第11次微机学术交流会上发表的《计算机的发展与技术》一文中,对未来10年以嵌入式芯片为基础的计算机工业进行了科学的阐述和展望。1999年世界电子产品产值已超过12000亿美元,2000年达到13000亿美元,预计2005年,销售额将达18000亿美元。 
-进入20世纪90年代,嵌入式技术全面展开,目前已成为通信和消费类产品的共同发展方向。在通信领域,数字技术正在全面取代模拟技术。在广播电视领域,美国已开始由模拟电视向数字电视转变,欧洲的DVB(数字电视广播)技术已在全球大多数国家推广。数字音频广播(DAB)也已进入商品化试播阶段。而软件、集成电路和新型元器件在产业发展中的作用日益重要。所有上述产品中,都离不开嵌入式系统技术。象前途无可计量的维纳斯计划生产机顶盒,核心技术就是采用32位以上芯片级的嵌入式技术。在个人领域中,嵌入式产品将主要是个人商用,作为个人移动的数据处理和通讯软件。由于嵌入式设备具有自然的人机交互界面,GUI屏幕为中心的多媒体界面给人很大的亲和力。手写文字输入、语音拨号上网、收发电子邮件以及彩色图形、图像已取得初步成效。 
-一些先进的PDA在显示屏幕上已实现汉字写入、短消息语音发布,日用范围也将日益广阔。对于企业专用解决方案,如物流管理、条码扫描、移动信息采集等,这种小型手持嵌入式系统将发挥巨大的作用。自动控制领域,不仅可以用于ATM机,自动售货机,工业控制等专用设备,和移动通讯设备结合、GPS、娱乐相结合,嵌入式系统同样可以发挥巨大的作用。近期长虹推出的ADSL产品,结合网络,控制,信息,这种智能化,网络化将是家电发展的新趋势。 
-硬件方面,不仅有各大公司的微处理器芯片,还有用于学习和研发的各种配套开发包。目前低层系统和硬件平台经过若干年的研究,已经相对比较成熟,实现各种功能的芯片应有尽有。而且巨大的市场需求给我们提供了学习研发的资金和技术力量。 
-从软件方面讲,也有相当部分的成熟软件系统。国外商品化的嵌入式实时操作系统,已进入我国市场的有WindRiver、Microsoft、QNX和Nuclear等产品。我国自主开发的嵌入式系统软件产品如科银(CoreTek)公司的嵌入式软件开发平台DeltaSystem,中科院推出的Hopen嵌入式操作系统(虽然还不够完善)。同时由于是研究热点,所以我们可以在网上找到各种各样的免费资源,从各大厂商的开发文档,到各种驱动,程序源代码,甚至很多厂商还提供微处理器的样片。这对于我们从事这方面的研发,无疑是个资源宝库。对于软件设计来说,不管是上手还是进一步开发,都相对来说比较容易。这就使得很多生手能够比较快的进入研究状态,利于发挥大家的积极创造性。 
-今天嵌入式系统带来的工业年产值已超过了1万亿美元,1997年来自美国嵌入式系统大会(Embedded System Conference)的报告指出,未来5年仅基于嵌入式计算机系统的全数字电视产品,就将在美国产生一个每年1500亿美元的新市场。美国汽车大王福特公司的高级经理也曾宣称,“福特出售的‘计算能力’已超过了IBM”,由此可以想见嵌入式计算机工业的规模和广度。1998年11月在美国加州举行的嵌入式系统大会上,基于RTOS的Embedded Internet成为一个技术新热点。在国内,“维纳斯计划”和“女锅计划”一度闹得沸沸扬扬,机顶盒、信息j家电这两年更成了IT热点,而实际上这些都是嵌入式系统在特定环境下的一个特定应用。据调查,目前国际上已有两百多种嵌入式操作系统,而各种各样的开发工具、应用于嵌入式开发的仪器设备更是不可胜数。在国内,虽然嵌入式应用、开发很广,但该领域却几乎还是空白,只有三两家公司和极少数人员在从事这方面工作。由此可见,嵌入式系统技术发展的空间真是无比广大。 
-发展趋势 
-信息时代,数字时代使得嵌入式产品获得了巨大的发展契机,为嵌入式市场展现了美好的前景,同时也对嵌入式生产厂商提出了新的挑战,从中我们可以看出未来嵌入式系统的几大发展趋势: 
-1.嵌入式开发是一项系统工程,因此要求嵌入式系统厂商不仅要提供嵌入式软硬件系统本身,同时还需要提供强大的硬件开发工具和软件包支持。 
-目前很多厂商已经充分考虑到这一点,在主推系统的同时,将开发环境也作为重点推广。比如三星在推广Arm7,Arm9芯片的同时还提供开发板和板级支持包(BSP),而WindowCE在主推系统时也提供Embedded VC++作为开发工具,还有Vxworks的Tonado开发环境,DeltaOS的Limda编译环境等等都是这一趋势的典型体现。当然,这也是市场竞争的结果。 
-2.网络化、信息化的要求随着因特网技术的成熟、带宽的提高日益提高,使得以往单一功能的设备如电话、手机、冰箱、微波炉等功能不再单一,结构更加复杂。 
-这就要求芯片设计厂商在芯片上集成更多的功能,为了满足应用功能的升级,设计师们一方面采用更强大的嵌入式处理器如32位、64位RISC芯片或信号处理器DSP增强处理能力,同时增加功能接口,如USB,扩展总线类型,如CAN BUS,加强对多媒体、图形等的处理,逐步实施片上系统(SOC)的概念。软件方面采用实时多任务编程技术和交叉开发工具技术来控制功能复杂性,简化应用程序设计、保障软件质量和缩短开发周期。如HP 
-3.网络互联成为必然趋势。 
-未来的嵌入式设备为了适应网络发展的要求,必然要求硬件上提供各种网络通信接口。传统的单片机对于网络支持不足,而新一代的嵌入式处理器已经开始内嵌网络接口,除了支持TCP/​IP协议,还有的支持IEEE1394、USB、CAN、Bluetooth或IrDA通信接口中的一种或者几种,同时也需要提供相应的通信组网协议软件和物理层驱动软件。软件方面系统系统内核支持网络模块,甚至可以在设备上嵌入Web浏览器,真正实现随时随地用各种设备上网。 
-4.精简系统内核、算法,降低功耗和软硬件成本。 
-未来的嵌入式产品是软硬件紧密结合的设备,为了减低功耗和成本,需要设计者尽量精简系统内核,只保留和系统功能紧密相关的软硬件,利用最低的资源实现最适当的功能,这就要求设计者选用最佳的编程模型和不断改进算法,优化编译器性能。因此,既要软件人员有丰富的硬件知识,又需要发展先进嵌入式软件技术,如Java、Web和WAP等。 
-5.提供友好的多媒体人机界面 
-嵌入式设备能与用户亲密接触,最重要的因素就是它能提供非常友好的用户界面。图像界面,灵活的控制方式,使得人们感觉嵌入式设备就象是一个熟悉的老朋友。这方面的要求使得嵌入式软件设计者要在图形界面,多媒体技术上痛下苦功。手写文字输入、语音拨号上网、收发电子邮件以及彩色图形、图像都会使使用者获得自由的感受。一些先进的PDA在显示屏幕上已实现汉字写入、短消息语音发布,但一般的嵌入式设备距离这个要求还有很长的路要走。 
-系统方案 
-基于嵌入式系统在电网远程监控中的应用方案 
-基于嵌入式系统在电网远程监控中的应用方案可实现对电网参数的主动测量、分析、自动存储等功能,通过Internet光纤环网将电网监测数据传送到调度室的监控主机,工作人员可以对远程设备的运行状况进行及时、准确的监控,对其故障先兆做出判断和预测,采取有效措施解决问题,保证大型机组安全运行,防止恶性事故的发生,避免了定期检修引起的生产停顿,起到预防和消除故障的作用,提高设备运行的可靠性、安全性和有效性。 
-基于嵌入式系统的RFID手持机系统方案 
-基于嵌入式系统的RFID手持机系统设计,以微处理器LPC2142 为主控制器,根据系统的需求外扩了SRAM、Flash、SD 卡、键盘、LCD 显示、声响提示进行数据处理、数据存储、人机交互以及出错报警提示,通过USB 接口可以与主机进行数据通信,背光模块可以为LCD 和键盘提供背光,电压检测模块通过核心处理器的A/​D 转换器进行电池电压的检测,从而间接检测出电池的剩余电量,RF 模块能够进行读写器与标签之间射频信号的收发,通过JTAG 接口可以进行程序的调试与下载。电源部分可以为系统中需要电源的各个模块提供电源。 
-学习方法 
-随着现代社会信息化进程的加快,嵌入式系统被广泛的地应用于军事、家用、工业、商业、办公、医疗等社会各个方面,表现出很强的投资价值。从国际范围来看,作为数字化电子信息产品核心的嵌入式系统目前其硬件和软件开发工具市场已经突破2000亿美元,嵌入式系统带来的全球工业年产值更是达到了一万亿美元,随着全球经济的持续增长以及信息化的加速发展,嵌入式系统市场必将进一步增长。 
-  根据中国物联网校企联盟的建议,学习嵌入式系统的必备知识与学习方法如下: 
-  1、C开发经验 
-  条件:Linux 
-  方法:主要是掌握ANSI C编程(不包括gtk,​qt等图形可视化开发) 
-  2、网络、操作系统、体系结构 
-  条件:Linux,各种书,算法、例程。 
-  方法:通过C编程实现简单的网络等知识的算法和过程。 
-  3、嵌入式系统概念 
-  条件:各个嵌入式网站,讨论组,书籍 
-  方法:少提问,多留给自己思考的空间。 
-  4、嵌入式开发实践 
-  条件:各种嵌入式系统开发工具的demo版,包括编译器,仿真器。 
-  方法:一个是基于MCU/​MDSP的嵌入式系统开发,另一个是像Palm OS,WinCE,uC/​OS II等RTOS下的应用软件开发。第一个是针对硬件开发而言的,而第二个则是针对软件开发而言的。 
  
-  5、硬件开发 
-  条件:各种嵌入式芯片、存储器等电路器件,protel99等电路设计软件,电路板制作。 
-  方法:这时候该有开发条件了,最起码是51系列,这个比较方便。电路的设计内容较多,不过看起来吓人,实际上比软件要简单的多。只要下功夫,实践会告诉你一切。 
-调试 
-调试通常使用内部电路仿真器或者其他一些能够在单片机微码(microcode)内部产生中断的调试器。微码中断让调试器能够在只有CPU工作的硬件中进行操作,基于CPU的调试器能够从CPU的角度来测试和调试计算机的电路。PDP-11开创了这种特性的先河。 
-开发人员能够仍然使用断点、单步执行以及高级语言进行调试,在许多的调试工具上都有这种能力。另外开发人员在调试实时事件顺序的时候需要记录、使用简单的记录工具。 
-首先遇到这种问题的个人电脑和大型机程序员经常在设计优先级和可行方法的时候感到困惑。指导、代码审查和非个人风格(egoless)的编程是值得推荐的。 
-随着嵌入式系统变得越来越复杂,更高层次的工具和操作系统逐渐移植到可行的设备上。例如,蜂窝电话、个人数字助理和其他的消费用计算机需要一些从个人或者这些电子设备制造商之外的公司购买或者提供的一些重要软件。在这些系统中,需要如Linux、OSGi或者Java这样的开放编程环境,这样第三方软件提供上才能够在大规模的市场上销售软件。 
-大多数这样的开发环境都有一个运行在个人电脑上的参考设计,这种软件的绝大部分都可以在传统的个人电脑上开发。然而,从开放环境移植到专用的电子设备和电子设备的驱动程序开发通常仍然是传统的嵌入式系统软件工程师的工作。在有些情况下, the engineer works for the integrated circuit manufacturer,​ but there is still such a person somewhere. 
-Windows 
-微软嵌入式产品MSEmbed,尤其是微软嵌入式系统,和普通OS并没有本质上的区别。从某种程度上说,微软嵌入式系统,就是根据环境的需求,将普通的OS进行定制和精简,从而形成符合应用环境需求的、特定的系统。 
-微软嵌入式系统,经过定制以及二次开发,能够最大程度的满足客户需求,同时在安全性、可靠性、可维护性以及整体性能方面,得到了良好体现。随着windows 7 OS进入嵌入式领域,其对于各种硬件的兼容性,以及在各个硬件平台上的可移植性,再一次得到极大完善。 
-1996 年11 月,Microsoft 发布了 Windows Embedded CE 1.0,从此正式进入了嵌入式产品市场。此后,Microsoft 逐渐扩展出全系列的嵌入式操作系统,使开发人员能够通过一系列产品来构建下一代的 32 位设备,这些产品为空间占用量大小不等的设备提供了工具集和开发平台。 微软发布Win CE 1.0之后的十年间,继续推出了2.0到6.0的Win CE产品。 
-2010年6月1日,微软发布了新的嵌入式Windows,并命名为Windows Embedded Compact 7,不再采用之前一贯沿用的名称Windows Embedded CE(简称Windows CE)。新版的全国人民Winddows做出了一系列的改进,例如将所有系统元件都由EXE改为DLL,并移到 kernel space,并采用全新设计的虚拟内存架构、全新的设备驱动程序架构,支持更多的平台像x86、ARM、SH4、MIPS 等。 
-Linux 
-嵌入式Linux 是将日益流行的Linux操作系统进行裁剪修改,使之能在嵌入式计算机系统上运行的一种操作系统。嵌入式linux既继承了Internet上无限的开放源代码资源,又具有嵌入式操作系统的特性。嵌入式Linux的特点是版权费免费;​购买费用媒介成本技术支持全世界的自由软件开发者提供支持网络特性免费,而且性能优异,软件移植容易,代码开放,有许多应用软件支持,应用产品开发周期短,新产品上市迅速,因为有许多公开的代码可以参考和移植,实时性能RT_Linux Hardhat Linux 等嵌入式Linux支持,实时性能稳定性好安全性好。 
-有巨大的市场前景和商业机会,出现了大量的专业公司和产品,如Montavista Lineo Emi等,有行业协会如Embedded Linux Consortum等,得到世界著名计算机公司和OEM板级厂商的支持,例如IBM、Motorola、Intel,目前Google的基于Linux开发的Android操作系统也已经广泛应用于嵌入式领域。传统的嵌入式系统厂商也采用了Linux策略,如Lynxworks Windriver QNX等,还有Internet上的大量嵌入式Linux爱好者的支持。嵌入式Linux支持几乎所有的嵌入式CPU和被移植到几乎所有的嵌入式OEM板。 
-嵌入式Linux领域非常广泛,主要的应用领域有信息家电、PDA 、机顶盒、数字电话、应答机、大屏幕功能手机、数据网络、交换器、路由器、网桥、接线串口、遥控器访问服务、ATM机、设备固件、远程通信、医疗电子、交通运输计算机外设、工业控制、航空航天领域等。 
-相关信息 
 嵌入式系统中有许多非常重要的概念: 嵌入式系统中有许多非常重要的概念:
-1、嵌入式处理器 +  - 嵌入式处理器嵌入式系统的核心,是控制、辅助系统运行的硬件单元。范围极其广阔,从最初的4位处理器,目前仍在大规模应用的8位单片机,到最新的受到广泛青睐的32位,64位嵌入式CPU。 
-嵌入式系统的核心,是控制、辅助系统运行的硬件单元。范围极其广阔,从最初的4位处理器,目前仍在大规模应用的8位单片机,到最新的受到广泛青睐的32位,64位嵌入式CPU。 +  ​- ​实时操作系统实时操作系统(RTOS-Real Time Operating System):嵌入式系统目前最主要的组成部分。根据操作系统的工作特性,实时是指物理进程的真实时间。实时操作系统具有实时性,能从硬件方面支持实时控制系统工作的操作系统。其中实时性是第一要求,需要调度一切可利用的资源完成实时控制任务,其次才着眼于提高计算机系统的使用效率,重要特点是要满足对时间的限制和要求。 
-2、实时操作系统 +  ​- ​分时操作系统对于分时操作系统,软件的执行在时间上的要求,并不严格,时间上的错误,一般不会造成灾难性的后果。目前分时系统的强项在于多任务的管理,而实时操作系统的重要特点是具有系统的可确定性,即系统能对运行情况的最好和最坏等的情况能做出精确的估计。 
-实时操作系统(RTOS-Real Time Operating System): +  ​- ​多任务操作系统系统支持多任务管理和任务间的同步和通信,传统的单片机系统和DOS系统等对多任务支持的功能很弱,而目前的Windows是典型的多任务操作系统。在嵌入式应用领域中,多任务是一个普遍的要求。 
-嵌入式系统目前最主要的组成部分。根据操作系统的工作特性,实时是指物理进程的真实时间。实时操作系统具有实时性,能从硬件方面支持实时控制系统工作的操作系统。其中实时性是第一要求,需要调度一切可利用的资源完成实时控制任务,其次才着眼于提高计算机系统的使用效率,重要特点是要满足对时间的限制和要求。 +  ​- ​实时操作系统中的重要概念: 
-3、分时操作系统 +    ​- ​系统响应时间(System response time):系统发出处理要求到系统给出应答信号的时间。 
-对于分时操作系统,软件的执行在时间上的要求,并不严格,时间上的错误,一般不会造成灾难性的后果。目前分时系统的强项在于多任务的管理,而实时操作系统的重要特点是具有系统的可确定性,即系统能对运行情况的最好和最坏等的情况能做出精确的估计。 +    ​- ​任务换道时间(Context-switching time):任务之间切换而使用的时间。 
-4、多任务操作系统 +    ​- ​中断延迟(Interrupt latency):计算机接收到中断信号到操作系统作出响应,并完成换道转入中断服务程序的时间。 
-系统支持多任务管理和任务间的同步和通信,传统的单片机系统和DOS系统等对多任务支持的功能很弱,而目前的Windows是典型的多任务操作系统。在嵌入式应用领域中,多任务是一个普遍的要求。 +  ​- ​实时操作系统的工作状态实时系统中的任务有四种状态:运行(Executing),就绪(Ready),挂起(Suspended),冬眠(Dormant)。 
-5、实时操作系统中的重要概念 +    ​- ​运行:获得CPU控制权。 
-系统响应时间(System response time):系统发出处理要求到系统给出应答信号的时间。 +    ​- ​就绪:进入任务等待队列,通过调度转为运行状态。 
-任务换道时间(Context-switching time):任务之间切换而使用的时间。 +    ​- ​挂起:任务发生阻塞,移出任务等待队列,等待系统实时事件的发生而唤醒,从而转为就绪或运行。 
-中断延迟(Interrupt latency):计算机接收到中断信号到操作系统作出响应,并完成换道转入中断服务程序的时间。 +    ​- ​冬眠:任务完成或错误等原因被清除的任务,也可以认为是系统中不存在的任务。
-6、实时操作系统的工作状态 +
-实时系统中的任务有四种状态:运行(Executing),就绪(Ready),挂起(Suspended),冬眠(Dormant)。 +
-运行:获得CPU控制权。 +
-就绪:进入任务等待队列,通过调度转为运行状态。 +
-挂起:任务发生阻塞,移出任务等待队列,等待系统实时事件的发生而唤醒,从而转为就绪或运行。 +
-冬眠:任务完成或错误等原因被清除的任务,也可以认为是系统中不存在的任务。+
 任何时刻系统中只能有一个任务在运行状态,各任务按级别通过时间片分别获得对CPU的访问权。 任何时刻系统中只能有一个任务在运行状态,各任务按级别通过时间片分别获得对CPU的访问权。
-实例 + 
-1.自动柜员机(ATM) +====与嵌入式系统相关的资源==== 
-2.航空电子,例如惯性导航系统、飞行控制硬件和软件以及其他飞机和导弹中的集成系统 +  - 网 
-3.移动电话和电信交换机 +  图书 
-4.计算机网络设备,包括路由器、时间服务器和防火墙 +  ​厂商 
-5.办公设备,包括打印机、复印机、传真机、多功能打印机(MFPs) +  - 开发系统
-6.磁盘驱动器(软盘驱动器和硬盘驱动器) +
-7.汽车发动机控制器和防锁死刹车系统 +
-8.家庭自动化产品,如恒温器、冷气机、洒水装置和安全监视系统 +
-9.手持计算器 +
-10.家用电器,包括微波炉、洗衣机、电视机、DVD播放器和录制器 +
-11.医疗设备,如X光机、核磁共振成像仪 +
-12.测试设备,如数字存储示波器、逻辑分析仪、频谱分析仪 +
-13.多功能手表 +
-14.多媒体电器:因特网无线接收机、电视机顶盒、数字卫星接收器 +
-15.个人数码助理(PDA),也就是带有个人信息管理和其他应用程序的小型手持计算机 +
-16.带有其他能力移动电话,如带有蜂窝电话、个人数码助理(PDA)和Java的移动数字助理(MIDP) +
-17.用于工业自动化和监测的可编程逻辑控制器(PLCs) +
-18.固定游戏机和便携式游戏机 +
-19.可穿戴计算机 +
-类型 +
-常用的嵌入式软件架构有几种不同的基本类型。 +
-控制循环 +
-在这种设计中,软件有一个简单的循环,这个循环调用各个子程序,每个子程序管理硬件或者软件的某一部分。中断通常用来设置标记或者更新软件其他部分能够读取的暂存器。 +
-系统使用简单的API来完成允许和禁止中断设置。如果处理得当的话,它能够在嵌套子程序中处理嵌套调用,在最外面的中断允许嵌套中恢复前面的中断状态。这种方法是实现Exokernel的一个最简单的方法。 +
-通常在循环中有一些子程序使用周期性的实时中断控制一组软件定时器,当一个定时器时间到的时候就会运行相应的子程序或者设置相应的标志。 +
-任何可能发生的硬件事件都应该有软件定时器的支持,硬件事件大概每万亿次出现一次错误,对于现代的硬件来说大概是一年发生一次,对于以百万计大规模生产的设备来说,遗漏一个软件软件定时器在商业上可能是灾难性的。 +
-有时测试软件运行一组基于软件的安全定时器,它们周期性地复位硬件中的软件看门狗。如果软件错过一个事件,安全定时器软件将会捕捉到它。如果安全定时器出错,看门狗硬件将会复位系统。 +
-可以使用指向每个状态机函数的指针实现状态机,函数可以用C++、C或者汇编语言等实现。变化的状态将不同的函数放到指针中,每次循环运行时都会运行函数指针。 +
-许多设计人员建议每个循环读一次输入输出设备、并且保存得到的结果,这样可以保证逻辑过程的在一致的参数上运行。 +
-许多设计人员喜欢将状态机设计成每个状态仅仅检查一到两项内容,通常是检查硬件事件和软件定时器。 +
-设计人员建议多级状态机应该让低层状态机早于高层状态机运行,这样高层就能够根据正确的信息运行。 +
-如内部燃烧控制这样的复杂功能通常根据多维表格进行处理,代码通常进行查表处理而不进行复杂的计算,为了减小表格的大小以及成本软件可以在条目之间进行差值运算。 +
-在最小的单片机中,尤其是只有128位组堆栈的8051中,控制环允许好的连接器使用静态分配的数据覆盖本地变量。在这种机制中,离子程序调用树末端越近的变量得到的存储器地址越高。当开始一个新的分支的时候,它的变量可以在以前分支遗弃的空间中进行重新分配。 +
-简单控制循环的一个主要缺点是它无法保证响应特定硬件事件的时间。 +
-细心的设计可以很容易地保证中断不会被长时间禁止,这样中断代码就可以在非常精确的时间运行。 +
-控制环的另外一个主要缺陷是增加新的特性的时候会变得复杂。需要花费很长时间的算法必须小心地进行分解以使得每次只有一小部分在主循环中运行。 +
-这种系统的优势是它的简单性,并且在很小的软件上,循环运行地很快几乎没有人关心它是不可预测的。 +
-它的另外一个优势是这种系统保证运行软件的质量,无法将不好的运行结果归咎为其他的操作系统。 +
-非抢先式任务 +
-非抢先式任务系统非常类似于上面的系统,只是这个循环是隐藏在API中的。我们定义一系列的任务,每个任务获得自己的子程序栈;然后,当一个任务空闲的时候,它调用一个空闲子程序(通常调用“暂停”、“等候”、“交出(yield)”等等)。 +
-带有类似属性的架构都带有一个事件队列,有一个循环根据队列列表中的一个域确定删除时间和调用子程序。 +
-这种架构的优点和缺点都非常类似于控制环,只是这种方法添加新的软件更加简单,只需要简单地编写新的任务或者将它添加到队列解释器中。 +
-抢先式定时器 +
-使用上面的任何一种系统,但是添加一个按照定时器中断运行子程序的定时器系统,这样就给系统添加了崭新的能力,这样定时器子程序第一次能在一个有保证的时间内运行。 +
-另外,代码第一次能够在非预期的时间访问自己的数据结构。定时器子程序必须要象中断子程序一样进行处理。 +
-抢先式任务 +
-使用上面的非抢先式任务系统,从一个抢先式定时器或者其他中断运行。 +
-这样系统就突然变得很不一样了。任何一个任务的代码都有可能损害其他任务的数据 &​emdash;​ 所以它们必须进行切缺的切分。对于共享数据的访问必须使用一些同步策略进行控制,如消息队列、信号灯或者非阻塞同步机制。 +
-经常在这一步开发组织就会购买一套实时操作系统。如果一个组织缺少能够编写操作系统的人才或者操作系统将要在几个产品之上,这可能是一个明智的选择。这通常要将开发计划增加六到八周,and forever after programmers can blame delays on it. +
-微内核外内核 +
-这种方法试图将系统组织得比宏内核更易于配置,而同时提供类似的特点。 +
-微内核是实时操作系统的一个逻辑发展,通常的组织方式是操作系统内核分配内存并且将CPU在不同的线程之间进行切换。用户模式的进程实现如文件系统、用户接口等主要的功能。 +
-微内核在二十世纪五十年代开始首次尝试,但是由于计算机在任务间切换以及在任务间交换数据速度非常缓慢,所以人们放弃了微内核而钟情于MULTICS和UNIX风格的大内核。总体上来说,微内核在任务切换以及任务间通信速度快的时候是比较成功的,在速度慢的时候是失败的。 +
-外内核通过使用普通的子程序调用获得的通信效率很高,硬件以及系统中的软件都是程序员能用也能扩展的。资源内核(可能是库的一部分)分配CPU时间、内存以及其他资源。如多任务、网络以及文件系统这样的大内核特性通过代码库来提供。库可以进行动态的连接、扩展或者共享。不同的应用甚至可以使用的不同的库,但是所有的资源都来自于资源内核。 +
-虚拟机 +
-一些航空电子系统使用几个商用计算机。这样更进一步,每个计算机都在模拟它们自身的几个副本,重要的程序同时在几个计算机上运行并且进行投票控制(vote)。 +
-模拟环境的优点就是即使一个计算机出现故障,软件的不同例程能够迁移到正常工作的软件分区,表决的票数并不受影响。 +
-通常虚拟软件运行在计算机的用户模式下,它捕捉、模拟硬件访问和不在用户模式下运行的指令。 +
-检查点计算 +
-另外一种常用的机制是两个计算机计算 for a bit,然后将它们的计算结果报到那个点上。如果一个计算机的计算是 nut,它就会被关闭。 +
-办公用(宏内核)操作系统 +
-这种系统通常在没有系统经费的嵌入式项目中流行,但是从这篇文章的多个作者来看,这通常是不正确的,它们的逻辑是: +
-操作系统是经过特殊封装的重用代码库。如果这些代码有用,设计人员就会节省时间和金钱,否则它们就是无用的。 +
-商务系统的操作系统没有嵌入式硬件的接口。例如,如果要用Linux写一个马达控制器或者电话交换机,绝大部分的实际控制操作都是IOCTL调用,同时,正常的读、写和查询界面都是无用的。所以操作系统对于实际的开发妨碍很大。 +
-大多数的嵌入式系统不处理办公事务,所以办公操作系统的大部分代码都被浪费了。例如,绝大多数的嵌入式系统从来都不使用文件系统或者屏幕,所以文件系统和图形用户界面部分就是浪费的,这些不用的代码只会影响系统的可靠性。 +
-办公用操作系统保护硬件不让用户程序操作,这就严重地妨碍了嵌入式开发工作。 +
-操作系统必须移植到嵌入式系统上,也就是说,硬件驱动程序无论如何都必须重写,这也是操作系统最难的部分,所以使用这样的操作系统几乎没有功效。 +
-操作系统真正有用、可移植的特性是小段代码。例如,一个基本的TCP/​IP接口大约有3000行代码,另外的一个例子是大约同样大小的简单文件系统。如果设计需要这些代码,能够使用少于嵌入式系统开发10%的经费就能完成,不需要支付版权费用,只需要简单地重写就可以了。如果系统这些代码有足够的通用性,嵌入式系统杂志封面的后面通常有公司销售没有版权费的C语言实现代码。 +
-然而许多任务程师并不认同这一点,嵌入式Linux越来越受到人们的欢迎,尤其是在无线路由器和全球定位系统这样的功能强大的嵌入式系统中。其中有下面一些原因: +
-有现成的移植到普通嵌入式芯片的实现代码。 +
-它们允许重用公开获得的设备驱动程序、网页服务器、防火墙或者其他代码。 +
-开发系统能够从许多特性组合开始,在发布的时候可以剔除不需要的功能,从而节约所消耗的内存。 +
-许多任务程师认为在用户模式运行应用程序更为可靠、更容易调试,所以开发过程更容易、代码更易于移植。 +
-许多嵌入式系统没有控制系统那样对于实时性的严格要求,对于许多应用来说如嵌入式Linux这样的系统的响应速度就已经足够了。 +
-要求更快的响应速度,而不是可靠性的特性,通常放到了硬件上。 +
-许多实时操作系统都针对每件产品收取费用,当产品是消费品时,这项费用是巨大的。 +
-Exotic custom 操作系统 +
-一些系统需要安全、及时、可靠或者高效的特性,上面的架构却无法达到,构建这样的系统有一些广为人知的技巧: +
-1.雇佣一个真正的系统程序员。他们的花费很小,但是能够节约数年的调试以及相关的收入损失。 +
-2.RMA (rate monotonic analysis),可以用来评估一组任务能否在特定的硬件系统下运行,在最简单的形式下,设计人员保证最快完成的任务有最高的优先级,平均来说 CPU 至少有 30% 的空闲时间。 +
-3.和谐的任务能够高效地优化CPU。基本上来说,设计人员保证每件工作都是从heartbeat timer开始工作的。在实时操作系统上很难这样做,因为它们在等候输入输出设备的时候通常就会切换任务。 +
-4.刚好有两个优先级(通常是运行和禁止中断)的系统不能出现高优先级任务等候低优先级任务释放信号灯或者其他资源的优先级倒置问题, +
-5.有监视器(monitor)的系统不能出现死锁。监视器锁住一段代码禁止中断和其他抢先任务。如果这个监视器只用于一小段快速运行的代码,系统可能工作正常。如果能够证明监视器 API 在所有情况下都能够完整运行,例如仅仅禁止中断,那么就不会产生系统挂起的情况。 +
-这就意味着使用两个优先级和监视器的系统是安全、可靠的,因为它们没有死锁和优先级倒置的问题。如果监视器能够执行到结束,那么就永远不会挂起。如果使用和谐的任务,可能还会相当高效。然而,RMA 无法描述这些系统,优先级最好也不要到处都有,其中包括操作系统和硬件。[8]  +
-委员会 +
-4月27日消息,由中科院计算技术研究所、中国家用电器研究院、日本T-Engine协会、中国轻工业联合会嵌入式系统应用委员会主办,中科院计算技术研究所、中国家用电器研究院承办的“中日物联与嵌入式技术应用研讨会暨中国轻工业联合会嵌入式系统应用委员会成立大会”在北京举行。 +
-基于此种现状,中科院计算技术研究所、中国家用电器研究院、日本T-Engine协会在多年合作的基础上,共同发起了本次盛会。作为国际顶级的嵌入式技术研究机构,三家发起单位在智能家电、食品防伪、缝纫等多个轻工领域与国内相关企业进行过不同程度的科研合作和应用试点,取得了多项实际成果。日本是全球嵌入式系统领域的大国,技术处于领先地位,日益受到业界重视。日本T-Engine协会更是世界上应用最多的嵌入式操作系统——TRON系统的创始者,拥有世界最先进的嵌入式系统相关应用技术。本次研讨会上,中日在双方嵌入式系统领域的技术交流与合作成为两国共同发展的一个新亮点。 +
-国家科技部、工信部、环保部、轻工业联合会、标准委,日本总务省、经产省、日本驻京大使馆等部门领导,以及北京、无锡、宁波、烟台、临沂等地方政府负责人出席会议。研讨会上,中日两国的著名专家、教授、研究人员、企业家和业内权威人士代表集聚一堂,分别就嵌入式技术的展动向和前沿技术、中日嵌入式系统市场合作和应用前景等相关内容发表主题演讲并进行深入探讨。 +
-委员会的成立,将有效整合和凝聚国内嵌入式系统的研发力量,引进国际先进嵌入式技术,提供国内外嵌入式系统行业合作交流的平台,为推动国内嵌入式系统及其相关技术的发展和产业化应用起到积极的作用。+