简述为什么在无 *** 作系统的嵌入式系统软件主程序中使用无限循环

简述为什么在无 *** 作系统的嵌入式系统软件主程序中使用无限循环,第1张

对于单片机或者嵌入式之类的处理器,总归需要一些功能的,而且人为开始的时候,必须人为结束,比如你要去检简败测温度,你总不能检测一次吧

所以,用到了 循环

而对于有 *** 作系统的,大循环在拦孝颤 *** 作系慎搭统中做了罢了,因为 *** 作系统上面开发更方便,更好的管理外设所以引入了 *** 作系统

嵌入式软件的分类与组成

嵌入式系统的发展非常快,而嵌入式软件的发展更快。嵌入式软件的发展就象生物的发展一样,由单细胞生物到多细胞,一直到智能生物人类,在这个过程中,嵌入式软件的结构越来越复杂,但是复杂系统还在不断发展的同时,简单系统仍然不可缺少。按照软件结构划分,嵌入式软件的分类如图1所示。

对单线程程序而言,没有主控程序,结构如图2所示,一种是循环轮询系统,一种是有限状态机。比如一个采用循环轮询结构的产品包装系统,系统采用光感应来判断是否有产品需要包装,一旦发现传输带上有物体,程序主体就控制执行包装动作。单线程程序的优点是程序简单、执行效率高,缺点是一旦出现故障,系统无法自动进行控制与恢复,安全性较差。如《猫和老鼠》中传输带上不是要包装的产品,而是一只猫,系统也会进行包装,这时如果猫使包装棚陵设备出故障,程序仍然一如继往地查是否有产品,有则执行包装指令。

中断驱动系统可以解决这种安全性问题。在中断驱动系统中,有一循环轮询的主程序控制中断响应程序的执行,程序结构如图3所示。对于多个中断请求同时发生,要考虑中断请求优先级,以及响应出现错误等情况发生时,主程序就须处理更复杂的任务管理,这时主程序已成为一个简单的嵌入式 *** 作系统。如果上面的包装系统采用中断驱动系统,一旦发生错误,就会有一个错误中断请求执行错误响应程序,错误响应程序会处理错误,使系统恢复正常。

考虑更多的任务、多个中断处理过程的多任务系统的情况,比如要考虑存储的分配与管理、I/O的控制与管理、多个任务或中断请求同时发生等,中断驱动系统就无法应付了,这时嵌入式 *** 作系统的支持是必不可少的,它要完成任务的切换、调度、通信、同步、互斥、中断管理、时钟管理等。而在一些系统中还颂氏需要嵌入式数据库的支持,如PDA上的一个微型客户管理系统(CRM)。如图4所示,虽然我们用简单的框图描述单机多任务嵌入式软件的层次结构,但是我们知道其程序结构远比前面所描述的几种复杂。

嵌入式系统的需求已越来越复杂,PC机上的应用几乎都有移到嵌入式系统的需要,如通过手机、PDA等移动设备进行的网络游戏、网上购物、网上银行交易等,这使嵌入式软件变得更加复杂,不仅需要嵌入式 *** 作系统、嵌入式数据库,还需要网络通讯协议、应用支撑平台等,在此基础上的应用软件的架构也变得复杂起来。链樱戚如图5所示,分布式嵌入式软件系统可能是Peer-to-Peer结构,也可能是B/S结构等。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12554640.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存