
嵌入式软件的分类与组成
嵌入式系统的发展非常快,而嵌入式软件的发展更快。嵌入式软件的发展就象生物的发展一样,由单细胞生物到多细胞,一直到智能生物人类,在这个过程中,嵌入式软件的结构越来越复杂,但是复杂系统还在不断发展的同时,简单系统仍然不可缺少。按照软件结构划分,嵌入式软件的分类如图1所示。
对单线程程序而言,没有主控程序,结构如图2所示,一种是循环轮询系统,一种是有限状态机。比如一个采用循环轮询结构的产品包装系统,系统采用光感应来判断是否有产品需要包装,一旦发现传输带上有物体,程序主体就控制执行包装动作。单线程程序的优点是程序简单、执行效率高,缺点是一旦出现故障,系统无法自动进行控制与恢复,安全性较差。如《猫和老鼠》中传输带上不是要包装的产品,而是一只猫,系统也会进行包装,这时如果猫使包装设备出故障,程序仍然一如继往地查是否有产品,有则执行包装指令。
中断驱动系统可以解决这种安全性问题。在中断驱动系统中,有一循环轮询的主程序控制中断响应程序的执行,程序结构如图3所示。对于多个中断请求同时发生,要考虑中断请求优先级,以及响应出现错误等情况发生时,主程序就须处理更复杂的任务管理,这时主程序已成为一个简单的嵌入式 *** 作系统。如果上面的包装系统采用中断驱动系统,一旦发生错误,就会有一个错误中断请求执行错误响应程序,错误响应程序会处理错误,使系统恢复正常。
考虑更多的任务、多个中断处理过程的多任务系统的情况,比如要考虑存储的分配与管理、I/O的控制与管理、多个任务或中断请求同时发生等,中断驱动系统就无法应付了,这时嵌入式 *** 作系统的支持是必不可少的,它要完成任务的切换、调度、通信、同步、互斥、中断管理、时钟管理等。而在一些系统中还需要嵌入式数据库的支持,如PDA上的一个微型客户管理系统(CRM)。如图4所示,虽然我们用简单的框图描述单机多任务嵌入式软件的层次结构,但是我们知道其程序结构远比前面所描述的几种复杂。
嵌入式系统的需求已越来越复杂,PC机上的应用几乎都有移到嵌入式系统的需要,如通过手机、PDA等移动设备进行的网络游戏、网上购物、网上银行交易等,这使嵌入式软件变得更加复杂,不仅需要嵌入式 *** 作系统、嵌入式数据库,还需要网络通讯协议、应用支撑平台等,在此基础上的应用软件的架构也变得复杂起来。如图5所示,分布式嵌入式软件系统可能是Peer-to-Peer结构,也可能是B/S结构等。
Windows CE开发环境综述初学者另外一个比较糊涂的概念是版本的问题,现在市面上能够见到Windows CE的两代产品,它们的内核分别基于Windows CE 30和Windows CENET(即40)。而市面上经常见到的Pocket PC 2002是基于Windows CE 30的平台,而Pocket PC 2003则是基于Windows CENET的平台,需要注意的是,Pocket PC 2003的内核是Windows CENET 42。而SmartPhone2003也是基于Windows CENET的。SmartPhone的最初版本是2002,基于Windows CE 30的,但是微软没有推出SmartPhone2002的中文版。清晰了平台与CE之间的关系,解释平台与开发工具之间的关系就很容易了。微软提供给应用程序开发者的工具包括:Embedded Visual Tools 30,其中包括Embedded Visual C++ 30和Embedded Visual Basic 30;Embedded Visual C++ 40和Visual StudioNET。开发工具的版本号是与Windows CE的版本号对应的。EVC30和EVB30是用来开发基于Windows CE 30平台的应用程序的,比较常见的平台有:Pocket PC 2002、Pocket PC 2000、Palm-size PC、HPC。而EVC40是用来开发Windows CENET平台的程序的,主要包括Pocket PC 2003和SmartPhone 2003。Visual StudioNET针对嵌入式设备开发需要SDE的支持,而VSNET 2003中包括了SDE,不需要另外安装。Visual StudioNET开发的程序需要目标平台支持NET Compact Framework。现在支持NET Compact Framework的平台有Pocket PC 2002和Pocket PC 2003。这里需要注意的是SmartPhone 2003是不支持NET Compact Framework的。EVB开发入门微软已经宣布EVB不再支持Windows CENET,所以EVB的最终版本是30。但由于EVB的易上手性和快速开发的特点,在VSNET横空出世之前,它成为Windows CE平台上快速开发的不二之选。现在EVB仍然适合Windows CE 30平台上小型应用程序的快速开发。如果您不是专职的Windows CE程序员,而只是需要在Windows CE平台上开发整个系统的一部分,那么EVB可以让您用很短e79fa5e98193e59b9ee7ad9431333332623262的时间开发出您想要的程序。EVB的开发环境的搭建也是十分简单,您可以从微软的网站上下载EVT 2002,其中包含了EVC 30、EVB 30和Pocket PC 2002 SDK和SmartPhone 2002 SDK。按照提示将EVB和Pocket PC 2002 SDK安装好后就可以进行开发了。SDK中包含模拟器,在没有实际设备的情况下,可以利用模拟器来调试程序。这里需要注意的是,开发环境和模拟器之间是通过网络连接协议进行通讯的,所以开发所用的计算机上必须有一个活动的网络连接。如果没有,可以安装微软的虚拟网卡。
当然不能执行了,你最起码得使用交叉编译器吧。不过鉴于是wince的,你可以使用EVC++来编程。它跟MFC很像。当然也可以用其他的开发环境。
不管怎样,建议还是要学windows上面的窗口编程,你用的软件有命令行界面的吗
以上就是关于嵌入式软件是什么类型软件全部的内容,包括:嵌入式软件是什么类型软件、windows CE 6.0 net、只会基础的c++语言,不会mfc,有办法做出在arm开发板上运行的程序吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)