当前位置:首页 > 芯闻号 > 充电吧
[导读]总结:联想一下载人航天,我们的目的不是确保航天器绝对不死机,而是确保即使航天器死机了,也能把人安全的送回来。


    打个比方,一个自动售货机,顾客给钱买东西,应该找顾客零钱。程序上需要做A-B的减法。在没有任何人购物的情况下,受到干扰而异常运行到这个位置,而参与计算的寄存器保持在某个子程序中的数值,因此你启动找钱的程序,白白的吐出钢崩……

    我们来做个数值分析,假设确认用户输入钞票到找零钱之间的指令总共有200条指令(让用户选择商品),总共的程序空间是10K,那么我把程序搞乱,从而白白的拿到钢崩的概率就是2%。我肯定会拿着电子大伙器从早到晚不停的折腾这个售货机。

    当然,你可以说你会对敏感数据进行防护,但是你的程序不会跑飞,仍然会继续运行。假设一个输入密码的程序,异常之后刚好落在密码合法性检查之后。那简直等于没有密码。你做的任何防护都是白搭。

    这些问题在其他单片机中也可能存在,但是其他的单片机绝大部分情况下都会跑飞,从而最终被看门狗复位,虽然死了一次,但是没造成什么损失,活过来以后照样正常运行。

    总结:联想一下载人航天,我们的目的不是确保航天器绝对不死机,而是确保即使航天器死机了,也能把人安全的送回来。 

http://www.21icbbs.com

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭