嵌入式环境下软件设计的特点_大奖888app官方下载 嵌入式环境下软件设计的特点_大奖888app官方下载
更多课程 选择中心

嵌入式培训
美国上市教育机构

大奖888app官方下载

嵌入式培训

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

  • 发布:嵌入式培训
  • 来源:嵌入式资讯
  • 时间:2020-10-13 14:59

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

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

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

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

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

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

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

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

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

2、稳定性要求高

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

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

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

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

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

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

版权声明:转载文章来自公开网络,版权归作者本人所有,推送文章除非无法确认,我们都会注明作者和来源。如果出处有误或侵犯到原作者权益,请与我们联系删除或授权事宜。

预约申请免费试听课

填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:两个常见的嵌入式误解
下一篇:嵌入式知识:怎么解决内存不足的问题

51单片机的内部存储结构是怎样的?

嵌入式知识:怎么解决内存不足的问题

两个常见的嵌入式误解

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省

银河国际棋牌网站西欧娱乐网址qy8com千亿htt千赢国际