中文字幕第二一区_久久久久在线视频_精品国产自在现线看久久_亚洲精品一区二区三区电影网

產(chǎn)品分類

當(dāng)前位置: 首頁 > 傳感測量產(chǎn)品 > 數(shù)據(jù)采集產(chǎn)品 > 工控機(jī)

類型分類:
科普知識
數(shù)據(jù)分類:
工控機(jī)

嵌入式軟件可靠性設(shè)計要注意的問題

發(fā)布日期:2022-04-17 點(diǎn)擊率:64

      嵌入式軟件的最大特點(diǎn)是以控制為主,軟硬結(jié)合的較多,功能性的操作較多,模塊相互間調(diào)用的較多,外部工作環(huán)境復(fù)雜容易受到干擾或干擾別的設(shè)備,且執(zhí)行錯誤的后果不僅僅是數(shù)據(jù)錯誤而是有可能導(dǎo)致不可估量的災(zāi)難,所以總結(jié)起來,嵌入式軟件可靠性設(shè)計需注意的問題有四個方面:

1、軟件接口

      先說軟件接口中容易出問題的地方和編程人員容易犯的錯誤。

      軟件接口調(diào)用一般會有數(shù)據(jù)的賦值,賦值變量的數(shù)據(jù)類型可能會存在強(qiáng)制的數(shù)據(jù)轉(zhuǎn)換;需加以檢查。如果為了防范出問題的話,可以添加對數(shù)據(jù)范圍和數(shù)據(jù)類型的檢查。

      賦值數(shù)據(jù)的數(shù)量不對路,多了少了的都不好,會出現(xiàn)意外的賦值結(jié)果,不過還好,這項錯誤比較好檢查。

      軟件編程中,會有對某一功能操作代碼的復(fù)用,比如對某個端口的數(shù)據(jù)檢查和控制,在整個程序中只會發(fā)生兩次,為了圖省事,可能就直接把該段代碼直接插入實(shí)際程序模塊中去了,這樣,在源程序代碼中,就出現(xiàn)了兩段完全相同,完成相同功能,只是服務(wù)于不同模塊的代碼,按道理來說,這樣設(shè)計其實(shí)也沒啥問題,是的,你沒錯,但你的行為會使別人無意中犯錯。就像青年男女相處,女孩子純粹是想和男孩子充分享受溫馨的氣氛和心情,并不想更深入的發(fā)生什么,但女孩子邀請男生去的是她的家,在家里換上了家居的睡衣,窗戶緊閉,放著的還是曖昧的音樂,被男孩子半強(qiáng)迫發(fā)生后,無限哀怨地說“我沒想到結(jié)果會是這樣的”,那怪得誰來呢?在代碼方面,您的這種做法與貌似引誘男孩上鉤的^^無異。

      有人會說了,我這樣寫代碼怎么就算引誘呢?原因是程序可能會升級,您這幾行代碼在實(shí)際應(yīng)用過程中也不能保證是盡善盡美的,發(fā)現(xiàn)不完善的地方后,勢必會修改,如果你還能想得起來,可能不會遺漏,如果修改此代碼的是別的人,改了一個地方,別的地方?jīng)]改,是不是還留著隱患?那如何做呢?方法不難,把這段功能單獨(dú)做成一個模塊即可,對此端口的讀取和控制賦值均由此獨(dú)立模塊完成,如果數(shù)據(jù)的正確性影響大的話,還需要對端口數(shù)據(jù)的正確性進(jìn)行檢查和判斷。嵌入式軟件可靠性編程方法的四個目的是防錯、判錯、糾錯、容錯。對端口數(shù)據(jù)的判斷屬于判錯的內(nèi)容,如果數(shù)據(jù)有錯的話,糾錯和容錯的設(shè)計方法應(yīng)該不用我深入講解了吧?

2、軟硬件接口

      硬件如男人,對外的執(zhí)行都靠它來實(shí)現(xiàn),一旦出現(xiàn)問題,執(zhí)行后的后果就不可控了,周總理說過“外交無小事”。但如何注意呢?

      對讀進(jìn)來的硬件接口的數(shù)據(jù)要判斷其真?zhèn)危?/p>

      對輸出的數(shù)據(jù)的執(zhí)行效果要檢測;

      對輸出的數(shù)據(jù)的可能后果要進(jìn)行預(yù)防性設(shè)計,數(shù)據(jù)輸出的過程,我們從設(shè)計上要做一個分析,分析的思路是一般容易局限在穩(wěn)態(tài)過程,忽視了過渡過程。舉例說明,比如我們控制一個支路的供電,從軟件控制來說,直接給繼電器一個啟動信號,讓開狀態(tài)的觸點(diǎn)閉合就可以了,非“關(guān)”即“開”,是受控繼電器的兩個穩(wěn)態(tài)狀態(tài),但事實(shí)上,在從開到閉合的過程中,支路供電的電壓并不是一個簡單0V—24V(24V為示例而已)的跳變狀態(tài),而是一個抖動,有沖擊信號的過程,這種情況在硬件上的防護(hù)是必不可少的,但在軟件上也不是可以事不關(guān)己、高高掛起的。

      另外在邏輯上,宜將容易被干擾和容易產(chǎn)生的干擾控制動作從時序上控制好,予以分開隔離。比如,控制繼電器的過程是容易產(chǎn)生抖動尖峰脈沖而干擾數(shù)據(jù)總線和控制信號總線的,這時候從控制上,不宜同時實(shí)施數(shù)據(jù)的發(fā)送和接收工作,不宜作出其他的控制動作,惹不起咱躲得起,躲過這一陣干擾的時候總可以了吧?

3、軟件代碼

      軟件的可靠性是隨著時間的推移,可靠性逐漸增加的,這一點(diǎn)區(qū)別于電子可靠性、機(jī)械可靠性。電子可靠性服從指數(shù)分布,在整個生命周期內(nèi),其失效率為一個常數(shù);機(jī)械可靠性因?yàn)槟p、腐蝕、運(yùn)動等因素的存在,隨時間推移可靠度會下降。因此也就有了軟件可靠性設(shè)計的一個特定規(guī)律和注意事項。

      既然需要通過時間推移,通過不斷改進(jìn),軟件可靠性得到提升。那么軟件的可維護(hù)性就是一個大問題了。這也是為什么軟件工程管理方面特別關(guān)注軟件文檔、注釋的原因了。但做這些要求的人只是人云亦云,并不理解如此做法的真正動機(jī)。至于注釋如何去做、變量如何命名、軟件配置管理如何操作,這里面既有很常規(guī)的方法,也有一些我們司空見慣然而是錯誤的做法。信手舉上幾個值得注意的細(xì)節(jié)供參考。

      變量定義時宜將變量類型的變量名程中體現(xiàn)于其中;如AD_result_int、Cal_result_float等。這樣為的好檢查,防止數(shù)據(jù)類型的強(qiáng)制轉(zhuǎn)換或強(qiáng)制賦值時出現(xiàn)數(shù)據(jù)類型的錯誤;

注釋要充分;

      代碼的布局風(fēng)格宜統(tǒng)一,便于閱讀查找;

      不可出現(xiàn)非受控的default流程,所有數(shù)值和變量,不論是調(diào)用函數(shù)時賦予的、讀取接口讀進(jìn)來的、還是中間變量計算出來的,在應(yīng)用前都宜作數(shù)據(jù)有效性的判斷,并對判定的所有可能結(jié)果均做受控的對應(yīng)處理。

      關(guān)于軟件可維護(hù)性編程方法方面的文章資料在網(wǎng)上是鋪天蓋地,不予贅述,綜合采用之即可。很多文章把軟件可維護(hù)性編程規(guī)范推薦做成企業(yè)的嵌入式軟件可靠性設(shè)計規(guī)范,實(shí)在是有點(diǎn)以偏概全,有失偏頗的,用一句娛樂圈的話來說,“愛情是生活的重要內(nèi)容,但它不是生活的全部”,軟件可維護(hù)性編程方法亦然。

      軟件代碼在執(zhí)行中容易出現(xiàn)的下一個問題是跑飛,程序指針受到干擾,跳轉(zhuǎn)到了一個非受控位置,執(zhí)行了不該執(zhí)行的代碼。如果執(zhí)行了不該執(zhí)行的代碼,如果在程序中加入了足夠的變量判斷、讀值判斷、狀態(tài)檢測判斷等,那倒還好了,后果也不會太嚴(yán)重,甚至最終還是可能自己跑回來的。但有一種跑飛是比較可怕的,一般我們在ROM中存放的程序目標(biāo)代碼是1-3字節(jié)的指令,就是最多3條字段的目標(biāo)碼組成了執(zhí)行動作,如果程序指針跑飛到了某個3字節(jié)指令的第2個字節(jié)上的時候,執(zhí)行的后果是什么,可就真的沒人知道了,即使在程序上作了足夠的數(shù)據(jù)判錯、邏輯跳轉(zhuǎn)的防范措施,結(jié)果也不會好。而且ROM一般是不可能全部都被程序代碼填滿的,總有富余空間,富余空間中的默認(rèn)內(nèi)容是啥,這些默認(rèn)字節(jié)是否也會導(dǎo)致一些操作呢?單片機(jī)中的默認(rèn)空間是0FFH,DSP的我沒查過,大家有興趣查一下,跳到這些字段里,也是容易出麻煩的。

      好了,不再羅嗦,直接給出解決方法吧,就是每隔一段程序代碼或控制區(qū)域,就人為放置上幾個NOP指令,在NOP指令后放置一個長跳轉(zhuǎn)的ERR處理程序。注意NOP最少放置3個,這樣任何的跑飛最多只能占用2個NOP,第三個NOP一樣還是能把程序代碼揪回來,揪回來后就執(zhí)行ERR處理程序。

      如果碰到安全性、可靠性等級要求比較高的程序,推薦的處理方法可以采用熱備份的處理方法,即用兩段代碼同時執(zhí)行同一個功能,執(zhí)行的結(jié)果進(jìn)行對比,如果一致則放行通過,如果結(jié)果不一致,咋處理就看您的嘍。但是… …國人有的是辦法,為了圖省事,你領(lǐng)導(dǎo)不是要求我編熱備份程序嗎,那好,我就把原來的代碼復(fù)制一遍,重新插入到某個地方,您這和明朝時代馮保太監(jiān)(還是嚴(yán)嵩、張居正阿?拿不準(zhǔn)了,大家有興趣的翻看《明朝那些事兒》查閱下)玩的沒啥兩樣,自己寫奏章,自己給自己審批奏章。既然是備份就是為了防止一個人出問題,那最好的辦法自然是不同的人來編這段,如果原理計算方法上也不同,數(shù)據(jù)采集通道也不同,那就過年帶娶媳婦的,好上加好了。

      安全性和可靠性的編程細(xì)節(jié)注意事項還有很多,窺一斑難見全豹呵,諸位仁兄一起努力鉆研了。

下一篇: PLC、DCS、FCS三大控

上一篇: 索爾維全系列Solef?PV

中文字幕第二一区_久久久久在线视频_精品国产自在现线看久久_亚洲精品一区二区三区电影网

      9000px;">

          色综合 综合色| 欧美高清激情brazzers| 欧美日韩中文精品| 26uuu亚洲综合色| 最新久久zyz资源站| 天天综合网天天综合色| 不卡av电影在线播放| 日韩色视频在线观看| 亚洲婷婷综合色高清在线| 麻豆91免费观看| 日本久久精品电影| 国产日产欧产精品推荐色| 视频一区二区三区中文字幕| 91香蕉视频在线| 国产日本欧美一区二区| 日韩精品欧美精品| 欧美在线免费视屏| 国产精品国产三级国产普通话99| 久久精品国产网站| 欧美美女直播网站| 一区二区视频在线看| 不卡av在线免费观看| 国产无人区一区二区三区| 久久精品国产一区二区| 69久久夜色精品国产69蝌蚪网| 亚洲精选视频免费看| 91丨porny丨户外露出| 久久久久久久久97黄色工厂| 久久精品理论片| 91麻豆精品国产自产在线观看一区| 一区二区三区四区亚洲| 91亚洲精品久久久蜜桃| 亚洲人快播电影网| 99re8在线精品视频免费播放| 国产欧美视频在线观看| 国产iv一区二区三区| 国产亚洲成年网址在线观看| 国产在线精品一区二区不卡了 | 丝袜美腿成人在线| 在线看不卡av| 五月天激情综合网| 91黄色免费看| 亚洲福中文字幕伊人影院| 精品视频在线视频| 亚洲www啪成人一区二区麻豆| 欧美唯美清纯偷拍| 亚洲高清久久久| 欧美一级在线视频| 国产在线精品一区二区不卡了 | 日韩一区二区三区在线观看 | 成人av资源站| 亚洲欧美电影一区二区| 欧美艳星brazzers| 日韩精品一级二级| 久久久久久久国产精品影院| 成人小视频免费观看| 亚洲欧美另类在线| 欧美日韩黄视频| 久久99精品网久久| 国产精品情趣视频| 欧美丝袜自拍制服另类| 蜜乳av一区二区| 国产精品免费视频一区| 在线中文字幕一区二区| 青青草一区二区三区| 久久精品水蜜桃av综合天堂| 91玉足脚交白嫩脚丫在线播放| 婷婷丁香久久五月婷婷| 欧美激情中文不卡| 欧美影片第一页| 激情小说亚洲一区| 国产精品传媒在线| 91精品麻豆日日躁夜夜躁| 国产盗摄一区二区| 亚洲不卡av一区二区三区| 久久久久久久久97黄色工厂| 91国产精品成人| 国产在线精品不卡| 亚洲图片欧美色图| 欧美国产日韩一二三区| 欧美老肥妇做.爰bbww视频| 国产精品一区二区在线播放| 一区二区三区在线影院| 久久亚洲欧美国产精品乐播| 欧美三级日本三级少妇99| 国产在线一区二区| 亚洲成人av一区二区| 亚洲欧洲精品一区二区三区| 91精品国产色综合久久不卡电影 | 欧美日韩卡一卡二| 成人美女视频在线观看| 老司机精品视频导航| 欧美激情中文字幕| 欧美日本韩国一区二区三区视频| 国产91对白在线观看九色| 久久精品国产亚洲高清剧情介绍| 一区二区国产视频| 日韩一区中文字幕| 国产亚洲成年网址在线观看| 日韩欧美一二区| 欧美日本一道本| 欧美日韩中文一区| 在线观看www91| 在线视频国内一区二区| 91丝袜美女网| 成av人片一区二区| 高清在线不卡av| 国产大陆a不卡| 国精产品一区一区三区mba桃花| 日韩黄色小视频| 亚洲成人自拍一区| 亚洲午夜在线观看视频在线| 日韩一区中文字幕| 成人免费小视频| 国产精品白丝在线| 国产精品剧情在线亚洲| 中文字幕欧美日本乱码一线二线 | 亚洲影院在线观看| 亚洲香肠在线观看| 亚洲一区二区四区蜜桃| 夜夜精品视频一区二区 | 国产乱妇无码大片在线观看| 国内精品视频一区二区三区八戒| 美女网站视频久久| 激情深爱一区二区| 成人黄色片在线观看| 成人手机在线视频| a级精品国产片在线观看| a在线欧美一区| 欧美亚洲一区二区在线观看| 欧美日韩中文字幕精品| 欧美一级日韩免费不卡| 日韩免费观看2025年上映的电影| 日韩一区二区在线免费观看| 久久男人中文字幕资源站| 国产色产综合色产在线视频| 亚洲天堂2014| 免费观看日韩电影| 国产乱人伦偷精品视频不卡| 成人免费毛片aaaaa**| 色综合久久六月婷婷中文字幕| 欧美日韩一区二区在线视频| 日韩欧美国产综合在线一区二区三区 | www.视频一区| 欧美视频在线观看一区二区| 欧美大度的电影原声| 久久久欧美精品sm网站| 一区二区三区美女视频| 青青青伊人色综合久久| 懂色av一区二区三区免费看| 在线一区二区三区做爰视频网站| 欧美电视剧在线看免费| 中文字幕一区二区三区精华液 | 18涩涩午夜精品.www| 奇米精品一区二区三区四区| 国产白丝精品91爽爽久久| 在线视频中文字幕一区二区| 日韩免费视频一区二区| 亚洲日本韩国一区| 麻豆精品新av中文字幕| 91丨porny丨户外露出| 欧美不卡一区二区三区| 亚洲免费av在线| 激情综合网激情| 91成人在线观看喷潮| 久久综合狠狠综合久久综合88| 亚洲美女视频在线观看| 久久99热这里只有精品| 欧美亚洲自拍偷拍| 亚洲国产高清aⅴ视频| 蜜桃av一区二区在线观看 | 国产婷婷色一区二区三区四区| 日本一区中文字幕| 91天堂素人约啪| 国产欧美一区视频| 免费看欧美美女黄的网站| 在线中文字幕不卡| 中文字幕一区二区视频| 国产一区二区调教| 日韩一级黄色片| 亚洲成人一二三| 色综合久久66| 日韩一区中文字幕| 国产91色综合久久免费分享| 日韩一级免费观看| 日日摸夜夜添夜夜添国产精品| 在线视频一区二区三区| 亚洲三级视频在线观看| 懂色av一区二区夜夜嗨| 国产亚洲欧美日韩在线一区| 久久av老司机精品网站导航| 制服丝袜成人动漫| 五月天亚洲婷婷| 欧美老年两性高潮| 亚洲1区2区3区4区| 欧美日韩另类一区| 水野朝阳av一区二区三区| 欧美美女一区二区在线观看| 日韩不卡手机在线v区| 91精品欧美一区二区三区综合在 |