新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 讓高可靠性嵌入式系統(tǒng)的開發(fā)更簡單的幾個(gè)技巧

讓高可靠性嵌入式系統(tǒng)的開發(fā)更簡單的幾個(gè)技巧

作者: 時(shí)間:2018-08-01 來源:網(wǎng)絡(luò) 收藏

本文引用地址:http://m.butianyuan.cn/article/201808/384916.htm

對(duì)一個(gè)可靠的系統(tǒng)而言,建立一個(gè)強(qiáng)大的看門狗系統(tǒng)是很重要的。由于有太多的技術(shù),難以在這幾個(gè)段落中完全涵蓋,但針對(duì)此一議題,筆者未來還會(huì)發(fā)表相關(guān)的文章。

技巧7 - 避免易失存儲(chǔ)器分配

不習(xí)慣在資源有限環(huán)境下工作的工程師,可能會(huì)試圖使用其編程語言的特性,這種語言讓他們可以使用易失存儲(chǔ)器分配。畢竟,這是一種常在計(jì)算器系統(tǒng)中使用的技術(shù),在計(jì)算器系統(tǒng)中,只有在有必要時(shí),內(nèi)存才會(huì)被分配。例如,以C時(shí),工程師可能傾向于使用malloc來分配在堆(heap)上的空間。有一個(gè)操 作會(huì)執(zhí)行,一旦完成,可以使用free將被分配的內(nèi)存返回,以便堆的使用。

在資源受限的系統(tǒng),這可 能是一場災(zāi)難!使用易失存儲(chǔ)器分配的其中一個(gè)問題是,錯(cuò)誤或不當(dāng)?shù)募夹g(shù)可能會(huì)導(dǎo)致內(nèi)存泄漏或內(nèi)存碎片。如果出現(xiàn)這些問題時(shí),大多數(shù)的并沒有 資源或知識(shí)來監(jiān)視堆或妥善地處理它。而當(dāng)它們發(fā)生時(shí),如果應(yīng)用程序提出對(duì)空間的要求,但卻沒有所請(qǐng)求的空間可以使用,會(huì)發(fā)生什么事呢?

使用易失存儲(chǔ)器分配所產(chǎn)生的問題是很復(fù)雜的,要妥善處理這些問題,可以說是一個(gè)噩夢(mèng)!一種替代的方法是,直接以靜態(tài)的方式,簡化內(nèi)存的分配。例如,只要在 程序中簡單地建立一個(gè)大小為256字節(jié)長的緩沖區(qū),而不是經(jīng)由malloc請(qǐng)求這樣大小的內(nèi)存緩沖區(qū)。此一分配的內(nèi)存可在整個(gè)應(yīng)用程序的生命周期期 間保持,且不會(huì)有堆或內(nèi)存碎片問題方面的顧慮。

結(jié)論

這些都只是一些可以讓人員開始建立更可靠的方法。另外還有很多其他技術(shù),例如利用良好的編碼標(biāo)準(zhǔn)、位翻轉(zhuǎn)的監(jiān)測(cè)、執(zhí)行數(shù)組和指針邊界檢查,及使用斷言等。所有這些技術(shù)都是讓設(shè)計(jì)者可以出可靠性更高的秘訣。


上一頁 1 2 下一頁

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉