AM335x系列UBIFS報錯分析及解決方法

原創(chuàng) 2018-05-31 09:30:00 AM335x系列UBIFS報錯分析及解決方法
有許多工程師在使TI的AM335x系列CPU時會出現(xiàn)UBIFS錯誤的問題,TI官方也沒有給出太好的解決方案。飛凌嵌入式就以上問題進(jìn)行了深入研究。

在長期穩(wěn)定性的測試中發(fā)現(xiàn),NandFlash總是有可能會發(fā)生讀寫錯誤,導(dǎo)致分區(qū)變化為只讀分區(qū)。由于在實際應(yīng)用中,NandFlash分區(qū)存儲的為歷史數(shù)據(jù)信息,所以希望在NandFlash讀寫錯誤后不修改為只讀狀態(tài),理解是UBIFS本身的機(jī)制導(dǎo)致它會出現(xiàn)這種錯誤。

1. 根文件系統(tǒng)是UBIFS,可寫讀的;

2.在運行Linux系統(tǒng)時,系統(tǒng)的一些服務(wù),如日志等,可能會頻繁的讀寫存儲器。UBIFS對掉電的容忍性是比較差的,在異常掉電或重啟后,下次重啟后可能導(dǎo)致到UBIFS文件系統(tǒng)記錄節(jié)點CRC和實際計算的不一致,導(dǎo)致根文件系統(tǒng)掛載不了,啟動過程報錯。

所以有了以下直觀認(rèn)識:

1.UBIFS掛載速度快,存儲器壽命高。

2.UBIFS對異常掉電的容忍性差,容易出現(xiàn)CRC錯誤。

解決方法:

1、通過修改內(nèi)核分區(qū)表,新建一個用戶分區(qū),這樣將數(shù)據(jù)存儲區(qū)和根文件系統(tǒng)分開存儲,用戶操作的一些數(shù)據(jù)和日志只在用戶分區(qū)執(zhí)行,當(dāng)有分區(qū)數(shù)據(jù)損壞時不會影響系統(tǒng)的掛載。具體方法參考《飛凌公司文件系統(tǒng)新建分區(qū)方法》。

2、如果堅持保留根文件系統(tǒng)分區(qū)為可讀寫,則每次通過linux命令執(zhí)行關(guān)機(jī)操作,盡量避免直接切斷電源。

3、更新飛凌AM335X系列最新的Yaffs文件系統(tǒng)。具體資料見飛凌技術(shù)論壇OK335系列資料下載。

飛凌已經(jīng)經(jīng)過驗證,以上方法皆能降低該問題發(fā)生的幾率,但是不能從根本上解決該問題,這是由NandFlash本身的特性所決定了。

                               

相關(guān)產(chǎn)品 >

  • OK335xD開發(fā)板

    飛凌AM335x開發(fā)板已經(jīng)推出幾年,經(jīng)過行業(yè)檢測,穩(wěn)定性得到肯定。多年行業(yè)積累,AM335x的解決方案涉及各行各業(yè),歡迎進(jìn)店咨詢。飛凌AM335x開發(fā)板基于TI Cortex-A8 AM335x CPU設(shè)計開發(fā),主頻800MHz,支持Linux、RTLinux。AM335x開發(fā)板工業(yè)級寬溫,配合豐富的外設(shè)接口,適用于各種惡劣環(huán)境應(yīng)用。 了解詳情
    OK335xD開發(fā)板
  • OK335xS開發(fā)板

    AM335X系列包括AM3352處理器、AM3354、AM3356、AM3357、AM3358、AM3359,都可工作在800Mhz的速度。同時支持4個操作系統(tǒng) Linux、RTLinux實時操作系統(tǒng),,在圖像、圖形處理、外設(shè)和諸如 EtherCAT 和 PROFIBUS 的工業(yè)接口選項方面進(jìn)行了增強(qiáng)。飛凌OK335xS開發(fā)板基于AM335x處理器開發(fā),主頻800MHz,郵票孔封裝,體積小。根據(jù)AM335x的性能及功能,飛凌推薦了非常多的解決方案分享。

    保定飛凌嵌入式專注AM335x,am335x 開發(fā)板,TI AM335x 等ARM嵌入式核心控制系統(tǒng)研發(fā)、設(shè)計和生產(chǎn),是AM335x,335x開發(fā)板,TI AM335x 提供者, AM335x 系列產(chǎn)品現(xiàn)已暢銷全國,歡迎咨詢!

    了解詳情
    OK335xS開發(fā)板

推薦閱讀 換一批 換一批