2017-09-06 38 views
0

我們正在研究一款適用於嵌入式系統的應用程序,適用於惡劣的環境(住宅樓供熱系統的控制器)。我需要擔心在正確的程序中損壞的內存嗎?

該應用程序應運行多年,無需重新啓動系統。它運行在運行Linux的嵌入式PC上。該程序實例化幾個其生命週期與應用程序相同的類。

我應該擔心內存在這麼長的一生中會變得腐敗嗎?定期檢查類不變量以檢測任何此類內存損壞是否有意義?或者現代硬件是否使這種腐敗天文數字不可能?

+0

https://stackoverflow.com/questions/2580933/cosmic-rays-what-is-the-probability-they-will-affect-a-program –

回答

0

我已經看到我在板上的廉價SD卡的份額,他們可以很容易地死在你身上。
幾個月前,一直在與一個製造商打交道,在高數據吞吐量下SD卡無法及時做出反應。彈出一些irq失敗消息,整個分區爆炸。
如果它不是用於批量生產,我肯定會建議你選擇一些好的和推薦的存儲。
但是真的,我不記得內存損壞問題(除了ROM),我會擔心內存泄漏。對於嵌入式系統而言,這些是最令人討厭的問題,意圖長時間不重啓。
必須非常小心,它們可能發生在用戶空間或內核空間中。即使你一直信任的軟件也可能有它們,具體取決於構建版本。必須仔細選擇Linux發行版,如果沒有專門的內核開發團隊,通常將這些東西外包給構建穩定系統的公司,其中每個包含的軟件包都經過測試並確認不泄漏。
最後,如果您將注意到內存有問題,那麼絕對需要幾個週期的壓力測試。