电路医生 | 嵌入式软件设计处处是坑,确保可靠性有这些绝招

2017-03-27 16:57:30 来源:EEFOCUS
标签:

男人征服世界,女人通过征服男人来征服世界;硬件叱咤江湖,软件通过控制硬件来统治江湖。当今世界,放眼江湖,有电子的地方就有嵌入式软件,有电子故障的地方,也就有嵌入式软件设计缺陷的影子。我们今天就把软件所容易犯的错误和规避的方法一一罗列,并给出应对之法。


嵌入式软件的最大特点是以控制为主,软硬结合的较多,功能性的操作较多,模块相互间调用的较多,外部工作环境复杂容易受到干扰或干扰别的设备,且执行错误的后果不仅仅是数据错误而是有可能导致不可估量的灾难,所以总结起来,嵌入式软件可靠性设计需注意的问题有四个方面:

1、软件接口
先说软件接口中容易出问题的地方和编程人员容易犯的错误。


软件接口调用一般会有数据的赋值,赋值变量的数据类型可能会存在强制的数据转换;需加以检查。如果为了防范出问题的话,可以添加对数据范围和数据类型的检查。
 

赋值数据的数量不对路,多了少了的都不好,会出现意外的赋值结果,不过还好,这项错误比较好检查。


软件编程中,会有对某一功能操作代码的复用,比如对某个端口的数据检查和控制,在整个程序中只会发生两次,为了图省事,可能就直接把该段代码直接插入实际程序模块中去了,这样,在源程序代码中,就出现了两段完全相同,完成相同功能,只是服务于不同模块的代码,按道理来说,这样设计其实也没啥问题,是的,你没错,但你的行为会使别人无意中犯错。就像青年男女相处,女孩子纯粹是想和男孩子充分享受温馨的气氛和心情,并不想更深入的发生什么,但女孩子邀请男生去的是她的家,在家里换上了家居的睡衣,窗户紧闭,放着的还是暧昧的音乐,然后无限哀怨地说“我没想到结果会是这样的”,那怪得谁来呢?在代码方面,您的这种做法与貌似引诱男孩上钩的少女无异。有人会说了,我这样写代码怎么就算引诱呢?原因是程序可能会升级,您这几行代码在实际应用过程中也不能保证是尽善尽美的,发现不完善的地方后,势必会修改,如果你还能想得起来,可能不会遗漏,如果修改此代码的是别的人,改了一个地方,别的地方没改,是不是还留着隐患?那如何做呢?方法不难,把这段功能单独做成一个模块即可,对此端口的读取和控制赋值均由此独立模块完成,如果数据的正确性影响大的话,还需要对端口数据的正确性进行检查和判断。嵌入式软件可靠性编程方法的四个目的是防错、判错、纠错、容错。对端口数据的判断属于判错的内容,如果数据有错的话,纠错和容错的设计方法应该不用我深入讲解了吧?


2、软硬件接

硬件如男人,对外的执行都靠它来实现,一旦出现问题,执行后的后果就不可控了,周总理说过“外交无小事”。但如何注意呢?
 

对读进来的硬件接口的数据要判断其真伪;
对输出的数据的执行效果要检测;
对输出的数据的可能后果要进行预防性设计,数据输出的过程,我们从设计上要做一个分析,分析的思路是一般容易局限在稳态过程,忽视了过渡过程。举例说明,比如我们控制一个支路的供电,从软件控制来说,直接给继电器一个启动信号,让开状态的触点闭合就可以了,非“关”即“开”,是受控继电器的两个稳态状态,但事实上,在从开到闭合的过程中,支路供电的电压并不是一个简单0V—24V(24V为示例而已)的跳变状态,而是一个抖动,有冲击信号的过程,这种情况在硬件上的防护是必不可少的,但在软件上也不是可以事不关己、高高挂起的。
 

 
关注与非网微信 ( ee-focus )
限量版产业观察、行业动态、技术大餐每日推荐
享受快时代的精品慢阅读
 

 

作者简介
武晔卿
武晔卿

建有微信公众号“武晔卿”,关注领域包括电子可靠性设计与测试技术以及EMC干扰抑制滤波器组件,就职于瑞迪航科(北京)技术有限公司,咨询技术和产品可联系:237681844@qq.com。总结:我的快乐人生可以复制。

继续阅读
将eFPGA应用于嵌入式360度视域视觉系统中

2018年4月11日,工业和信息化部、公安部和交通运输部联合发布“关于印发《智能网联汽车道路测试管理规范(试行)》的通知”,为我国智能网联汽车道路测试提供了相关法律依据。三部委在赋予智能网联汽车上路资格的同时,也提出了若干严格的条件。

这项技术一出,重大驾驶安全隐患将被解决!
这项技术一出,重大驾驶安全隐患将被解决!

作为嵌入式计算机视觉和深度学习解决方案的领先企业,eyeSight科技日前荣获了由Frost & Sullivan评选的汽车行业嵌入式计算机视觉领域的科技创新大奖。该奖项专门表彰擅于探寻全新技术激活市场,并长期致力于创新事业的优秀企业。

地平线发布人工智能抓拍相机,准确率达99.7%
地平线发布人工智能抓拍相机,准确率达99.7%

今日,中国AI创企地平线在美西国际安全科技展(ISC West 2018)上发布了一款嵌入式人工智能抓拍识别摄像机HR-IPC2143。

想学嵌入式?keil都不会用可不行

keil4使用教程   1、第一步是建立工程,最好新建一个文件夹,把新建的这个工程放在文件夹放在里面,点击进去之后第一个新建uvision工程。

嵌入式实时操作系统到底是个什么鬼

嵌入式实时系统中采用的操作系统我们称为嵌入式实时操作系统,它既是嵌入式操作系统,又是实时操作系统。

更多资讯
赛普拉斯为开发者提供新型感应解决方案,适用于含金属材料的先进工业设计

嵌入式解决方案的领导者赛普拉斯半导体公司(纳斯达克股票代码:CY)今日发布了使用电感式感应技术检测金属表面产品触摸动作的PSoC® 4700系列微控制器(MCU)。

让半导体排行榜洗牌的存储器,2017年的市场表现到底如何?
让半导体排行榜洗牌的存储器,2017年的市场表现到底如何?

根据国际研究暨顾问机构Gartner(顾能)最终统计结果显示,2017年在存储器价格大涨带动下,不仅全球半导体营收总计达4,204亿美元,首度突破4,000亿美元大关并创历史新高,前10大厂排名也大洗牌。

存储器发布会搞得跟手机发布一样,三星这四款新产品有这么大噱头?
存储器发布会搞得跟手机发布一样,三星这四款新产品有这么大噱头?

在存储领域,近几年NVMe SSD凭借其高性能、低延迟、高速度等优势时常占据各大媒体头条。各大厂商也嗅到强劲的市场需求纷纷推出全新产品。

壁垒森严的3D NVM专利领域,中国企业靠怎样的金融手段改变格局?

3D非易失性存储领域飞速发展,中国厂商能否争得一席之地?

存储项目进展不利七成利润靠补贴,上市公司国科微已穷途末路?
存储项目进展不利七成利润靠补贴,上市公司国科微已穷途末路?

在上市之后,国科微主营业务增长潜力有限,新兴业务短期内难以突破,同时公司还在大力扩展新业务,前景堪忧。在国科微上市后的首个半年报中,营收下滑利润亏损;2017年全年营收持续下滑,利润微增却是靠政府补贴;2018年第一季度,预计净利润亏损超40%。

Moore8直播课堂
电路方案