[b]1 嵌入式体系开发所面对的问题 [/b] 嵌入式软件开发有别于桌面软件体系开发的一个显着特色是,它一般需求一个穿插编译和调试环境,即修改和编译软件在主机上进行(如在PC机的WindOWS 操作体系下),编译好的软件需求下载到方针机上运转(如在一个PPC方针机上的VxWorks操作体系下),主机和方针机建立起通讯衔接,并传输调试指令和数据。由于主机和方针机往往运转着不同的操作体系,并且处理器的体系结构也相互不同。这就进步了嵌入式开发的杂乱性。 总的来说,嵌入式开发所面.临的问题首要表现在以下几个方面。 (1)触及多种CPU及多种OS 嵌入式的CPU或处理器可谓多种多样,包含了Pentium、MIPS、PPC、ARM,XScale等,并且运用都很广,在其上运转的操作体系也有不少,如VxWorks,Linux,Nucleus,WinCE等,即便在一个公司之内,也会一同运用好几种处理器,乃至几种嵌入式操作体系。假如需求一同调试多品种型的板子,每个板子上又运转着多个使命或进程,那杂乱性是可想而知的。 (2)开发东西品种繁复 不只各种操作体系有各自的开发东西,在同一体系下开发的不同阶段也有不同的开发东西。如在用户的方针板开发初期,需求硬件仿真器来调试硬件体系和根本的驱动程序;在调试运用程序阶段,能够运用交互式的开发环境进行软件调试;在测验阶段需求一些专门的测验东西软件进行功用和功用的测验;在出产阶段需求固化程序及出厂检测等。一般每一种东西都要从不同的供货商处购买,都要独自去学习和把握,这无疑增加了整个公司的开销和办理的难度。 (3)对方针体系的调查和操控 由于嵌入式硬件体系千差万别,软件模块和体系资源也多种多样,要使体系能正常作业,软件开发者有必要要对方针体系具有彻底的调查和操控能力,例如硬件的各种寄存器、内存空间,操作体系的信号量、音讯行列、使命、仓库等。 此外,嵌入式体系改变更新比较快,对开发时刻要求比较紧,特别是消费类产品更是如此.假如有一套功用强壮的嵌入式软件集成开发东西能够满意嵌入式软件开发各个阶段的需求,一同又运用便当,界面友爱,那是最理想不过了。美国风河体系公司(以下简称为“风河公司”)推出的Workbench嵌入式软件开发渠道正是这样一个“万能选手”。 2 Workbench的特色和优势 风河公司一向致力于嵌入式软件范畴的研讨,其历悠长的Tornado开发环境和VxWorks嵌入式操作体系。品在嵌入式范畴中运用十分广泛,特别以强实时性和稳定性而著称于世。风河公司的新一代Workbench开发渠道承继了原有Tornaclo集成开发渠道的一向优势,并且功用愈加强壮。由于新选用了先进的Eclipoe软件结构结构,然后使整个体系愈加敞开和易于扩展。下面介绍它的首要优势。 2.1 敞开的Eclipse渠道结构 Eclipse软件结构结构是一个完好和敞开的根底渠道,如图1所示,它能够将图形东西以及任何有必要的功用经过规范的接口集成到同一个开发环境中。现在,IBMHP及Borland等商业开发东西供给商均支撑Eclipse开发渠道,网上也有很多为Eclitpse渠道开发插件的社区,由于 Workbench契合Eclipse结构,所以这些商用的和免费的契合Eclipse渠道接口的插件均能够集成到Work-bench开发环境中,这极大扩展了Workbench的功用。例如,假如用户想运用自己了解的装备办理东西或许修改器,就能够找到这样一个插件并集成进来,这样用户就会感到开发进程十分合适自己的需求。
不只如此,风河公司还对Eclipse做了多方面的增强,然后显着进步了体系的功用。例如Workbench完结了异步接口功用,需求长时刻运转的使命能够在后台运转,与此一同还能持续接纳开发人员的调试恳求,这样不至于使开发人员做长时刻的等候;别的,Workbench还优化了对方针机数据的恳求机制,即体系只检索在集成开发环境当时视图中所需求的少数数据,看不见的数据则不向方针机讨取,这样就大大进步了穿插调试时体系的响应速度并削减了体系负荷。 2.2 单一的全功用渠道 一个嵌入式产品的软件开发,其“实质性”进程包含了从开端的硬件发动,BSP(板级支撑包)及驱动的开发,到运用程序的开发,再到后来的测验、验证,直至最终的出产阶段。一般来说,每个阶段都能够找到不同的东西来运用(实际状况也大都如此)。风河公司的Workbench开发渠道改变了这一现状,它以一个单一的WorkbenCh渠道,提了上述开发阶段所需求的简直一切功用。具体来说,包含了硬件体系仿真功用(有配套的硬件仿真器)、工程办理和构建体系、修改器、版别办理、指令解说器、调试东西、体系剖析东西、体系调查东西、Flash编程东西等,再加优势河公司自己开发的和第三方厂家供给的各种软件功用模块和开发东西的插件,一切这一切,都集成在Workbench这个一致的渠道之下,这必将大大改进嵌入式软件的开发环境.对一个企业来讲,更能够进步功率,削减出资,简化办理。嵌入式软件开发的各个阶段以及Workbemch在各个阶段供给的功用如图2所示。
2.3广泛的适用性 Workbench渠道的广泛适用性首要表现在七“多”上,即多使命、多方针、多方法、多OS、多CPU、多衔接方法和多主机环境。 ◆多使命。在workhech调试环境下,能够一同衔接方针体系上的多个不同的使命(或许进程),每个使命都能够独自设置断点,进行单步调试。开发者再也不必象曾经那样,为了调试多个使命,先断开一个使命的衔接,再衔接到别的一个使命上去。这就给具有多使命的方针体系开发供给了便当,特别是需求检查多个使命之间的合作联系时,表现的优势愈加显着。 ◆多CPU。风河公司的Tornado开发环境能够说现已支撑了全系列的干流CPU(或处理器),而Workbench也将承继这个传统。现在,推出的 Workbench2.2版别现已能够支撑PENTIUM、PPC和MIPS系列的一切干流CPU。对ARM、XSCALE、SH等系列的支撑正在移植和测验中,不久行将发布正式版别(Workbench 2、3)。 ◆多OS。现在,Workbench2.2不只支撑VxWorks嵌入式操作体系(6.0以上版别),并且支撑Linux操作体系,这的确给广阔的 Linux嵌入式开发人员带来了福音。由于Linux操作体系的“免费”性质,使得其软件开发体系一向比较涣散和孤立,用起来不是特别便当,有了 Work-bench今后,嵌入式Linux的开发就同VxWorks的开发相同便当和便利了。假如有必要的话,今后还能够增加对其他类型嵌入式操作体系的支撑,由于Workbench自身是敞开和可扩展的。 ◆多方针。Workbench对杂乱方针体系的强有力支撑还表现在它能够支撑一同衔接多块方针板进行调试开发。更为可贵的是,这些方针板上的处理器能够各不相同,并且在方针板上运转的操作体系也可任意(既能够运转VxWorks,也能够运转Linux),而调试作业能够在同一个Workbench界面中一同进行,这无疑给一些杂乱体系的调试带来了极大的便当。 ◆多衔接。所谓多衔接,是指Workbench地点的主机和方针机之间能够有多种衔接方法进行通讯。假如方针体系中存在以太网接口,那就应该首选以太网衔接,由于这种方法速度比较快;假如方针体系中不存在以太网接口,那也能够选用串行口进行通讯衔接,除了速度较慢以外,功用上与以太网衔接没有什么区别。别的,在方针板初始调试阶段,还可经过风河的硬件仿真器(WlndRiver%&&&&&%E/WindRiver Probe)进行衔接,调查硬件状况,以敏捷定位硬件问题。 ◆多方法。在Workbench中调试程序,即能够选用使命方法,也能够选用体系方法。所谓使命方法,是指各个使命之间独立运转,暂停其间一个使命的运转不影响其他使命的运转(首要用于调试各个使命);而体系方法则是指只需暂停丁体系的任何一处,整个体系都停止下来(首要用于调试中止程序)。 ◆多主机。这是指Workbench能够在Windows、unux和Solaris这三大盛行的主机操作体系下运转,这不只能够合适不同开发者的运用习气,并且在必定程度上有利于某些方针体系的开发,如运用unux主机环境调试运转Linux体系的方针板(但这并不是有必要的)。 2.4 丰厚易用的调试手法 (1)动态链接 用过Tornado开发环境的人都对其共同的分模块独自下载、动态链接到方针体系的功用深有体会,而Workbench也彻底承继了这个特性。有了这个功用,就使开发者不必将一切运用模块都编写完结再进行调试,也不必每次将运用模块和操作体系编译到一同然后下载调试。能够编好一个小模块,假如想进行验证,只需将这个小模块(哪怕仅仅一个函数)编译然后下载到方针板中就行了,这大大加快了调试验证的速度,特别是方针板和主机之间是低速衔接的状况,更能表现出其优势地点。 (2)方针可视 对方针体系的可视化是每一个嵌入式软件开发人员都期望得到的功用,为到达这一意图,Workbench除了供给一般的检查内存、寄存器、变量、调用树等的传统视图东西外,还供给了几种增强的体系检查东西:方针浏览器、体系调查器和SCOPETO0LS东西集。方针浏览器能够用来检查方针体系每一个体系资源的运用状况和当时状况,包含体系各个模块、使命、信号量、音讯行列、内存、仓库等。体系调查器可对体系事情供给具体的剖析和图形化的可视作用,一同还可展现在方针机上履行运用程序的相关使命、中止以及体系方针之间杂乱的交互作用。它能够清楚地显现上下文改变以及信号量、音讯行列、信号、使命、用户事情和记时器一类的体系事情,就象一个软件的“示波器”。运用这些体系检查东西,开发人员能够很容易地去确诊和处理嵌入式体系中存在的调度问题(如死锁,饥饿和竞赛)、功用问题(如优先级设置,资源的竞赛与互斥)和守时问题等。RTI SCOPETOOLS是专门为设备类软件开发供给的一组强壮的可视化东西集,用户能够动态调查整个体系渠道,包含运用代码、第三方的库,乃至操作体系自身。Workbench2.2中,集成进来了用于调查函数履行功率的ProfileScope东西,用于调查内存运用功率和检测内存走漏的 MemScope东西,以及用于检测变量或指定内存方位处数值动态改变状况的StethoScope东西。别的,还有可选的用于实时盯梢代码履行状况的 TraceScope东西和用于检测代码履行覆盖率的CoverageScope东西。 (3)仿真环境 在方针体系的硬件开发完结之前,往往软件体系的开发也要同步进行,Workbench供给的模仿仿真环境(只适用于针对VxWorks操作体系的运用软件开发)就供给了这种同步开发的途径。VxWorks软件仿真器运转于主机操作体系环境中,是一种从VxWorks 6.0操作体系移植过来的本地运用程序,它能够精确地施行VxWorks 6.0的高档杂乱特性,包含实时进程、内存保护等。它还具有完好的文件体系和网络功用,并能调用主机体系API。这些特性使得在VxWorks软件仿真器中开发杂乱的体系成为可能。例如,在VxWorks软件仿真器中能够组成多个网络,这些网络不光相互之间能够通讯,还能够经过主机体系的网口与外界相连,完结一个彻底实在的网络环境。一般来说,用户能够为主机体系的任何资源编写API,而在VxWorks软件仿真环境中进行调用,这极大地扩展了 VxWorks软件仿真器的功用,也更便于运用软件的同步开发。 除了以上所说到的功用外,Workbench的强壮调试功用还表现在支撑各品种型的断点设置、便当灵敏的操作体系内核装备东西,具有主机Sheu和方针机 Shell,具有4种指令解说器,以及丰厚的视图界面等。具体状况请参阅Workbench的阐明及手册,这儿就不多做介绍。总归,运用 Workbench给开发人员的感触便是便当灵敏,功用强壮,简直无所不能。 3 Workbench与Tornado的功用比照 Workbench渠道相对于Tornado渠道来说,各项功用均有所增强,也有不少新参加的功用,首要的功用比照如表1所列。