全国服务热线:400-0859-208

位置:长沙粤嵌嵌入式IT培训机构 > 学校动态 > 嵌入式环境下软件设计的特点

嵌入式环境下软件设计的特点

来源:长沙粤嵌嵌入式IT培训机构时间:2022/5/30 17:35:46

要谈嵌入式的软件架构,首先必须了解嵌入式软件设计的特点。

1、和硬件密切相关嵌入式软件普遍对硬件有着相当的依赖性。

这体现在几个方面:一些功能只能通过硬件实现,软件操作硬件,驱动硬件。硬件的差异/变更会对软件产生重大影响。没有硬件或者硬件不完善时,软件无法运行或无法完整运行。

这些特点导致几方面的后果:

(1)软件工程师对硬件的理解和熟练程度会很大程度的决定软件的性能/稳定性等非功能性指标,而这部分一向是相对复杂的,需要经验丰富的工程师才能增加质量。

(2)软件对硬件设计高度依赖,不能保持相对稳定,可维护性和可重用性差

(3)软件不能离开硬件单独测试和验证,往往需要和硬件验证同步进行,造成进度前松后紧,错误定位范围扩大。

针对这些问题,有几方面的解决思路:

(1)用软件实现硬件功能。选用更强大的处理器,用软件来实现部分硬件功能,不仅可以降低对硬件的依赖,在响应变化,避免对特定型号和厂商的依赖方面都很有好处。这在一些行业里已经成为了趋势。在PC平台也经历了这样的过程,比如早期的汉卡。

(2)将对硬件的依赖独立成硬件抽象层,尽可能使软件的其他部分硬件无关,并可以脱离硬件运行。一方面将硬件变更甚至换件的风险控制在有限的范围内,另一方面提高软件部分的可测试性。

2、稳定性要求高

大部分嵌入式软件都对程序的长期稳定运行有较高的要求。比如手机经常几个月开机,通讯设备则要求24*7正常运行,即使是通讯上的测试设备也要求至少正常运行8小时。为了稳定性的目标,有一些比较常用的设计手段:

将不同的任务分布在独立的进程中。良好的模块化设计是关键

Watch Dog, Heart beat,重新启动失效的进程。

完善而统一的日志系统以定位问题。嵌入式设备一般缺乏有力的调试器,日志系统尤其重要。

将错误孤立在较小的范围内,避免错误的扩散和连锁反应。核心代码要经过充分的验证,对非核心代码,可以在监控或者沙盒中运行,避免其破坏整个系统。

举例,Symbian上的GPRS访问受不同硬件和操作系统版本影响,功能不是非常稳定。其中有一个版本上当关闭GPRS连接时一定会崩溃,而且属于known issue。将GPRS连接,HTTP协议处理,文件下载等操作独立到一个进程中,虽然每次操作完毕该进程都会崩溃,对用户却没有影响。

本文来自网络,侵删!

领取试听课
每天限量名额,先到先得

尊重原创文章,转载请注明出处与链接:http://www.peixun360.com/5631/news/531346/违者必究! 以上就是长沙粤嵌嵌入式IT培训机构 小编为您整理 嵌入式环境下软件设计的特点的全部内容。

温馨提示:提交留言后老师会第一时间与您联系!热线电话:400-0859-208