AM335x系列UBIFS報(bào)錯(cuò)分析及解決方法
在長期穩(wěn)定性的測試中發(fā)現(xiàn),NandFlash總是有可能會(huì)發(fā)生讀寫錯(cuò)誤,導(dǎo)致分區(qū)變化為只讀分區(qū)。由于在實(shí)際應(yīng)用中,NandFlash分區(qū)存儲(chǔ)的為歷史數(shù)據(jù)信息,所以希望在NandFlash讀寫錯(cuò)誤后不修改為只讀狀態(tài),理解是UBIFS本身的機(jī)制導(dǎo)致它會(huì)出現(xiàn)這種錯(cuò)誤。
1. 根文件系統(tǒng)是UBIFS,可寫讀的;
2.在運(yùn)行Linux系統(tǒng)時(shí),系統(tǒng)的一些服務(wù),如日志等,可能會(huì)頻繁的讀寫存儲(chǔ)器。UBIFS對掉電的容忍性是比較差的,在異常掉電或重啟后,下次重啟后可能導(dǎo)致到UBIFS文件系統(tǒng)記錄節(jié)點(diǎn)CRC和實(shí)際計(jì)算的不一致,導(dǎo)致根文件系統(tǒng)掛載不了,啟動(dòng)過程報(bào)錯(cuò)。
所以有了以下直觀認(rèn)識(shí):
1.UBIFS掛載速度快,存儲(chǔ)器壽命高。
2.UBIFS對異常掉電的容忍性差,容易出現(xiàn)CRC錯(cuò)誤。
解決方法:
1、通過修改內(nèi)核分區(qū)表,新建一個(gè)用戶分區(qū),這樣將數(shù)據(jù)存儲(chǔ)區(qū)和根文件系統(tǒng)分開存儲(chǔ),用戶操作的一些數(shù)據(jù)和日志只在用戶分區(qū)執(zhí)行,當(dāng)有分區(qū)數(shù)據(jù)損壞時(shí)不會(huì)影響系統(tǒng)的掛載。具體方法參考《飛凌公司文件系統(tǒng)新建分區(qū)方法》。
2、如果堅(jiān)持保留根文件系統(tǒng)分區(qū)為可讀寫,則每次通過linux命令執(zhí)行關(guān)機(jī)操作,盡量避免直接切斷電源。
3、更新飛凌AM335X系列最新的Yaffs文件系統(tǒng)。具體資料見飛凌技術(shù)論壇OK335系列資料下載。
飛凌已經(jīng)經(jīng)過驗(yàn)證,以上方法皆能降低該問題發(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è)計(jì)開發(fā),主頻800MHz,支持Linux、RTLinux。AM335x開發(fā)板工業(yè)級寬溫,配合豐富的外設(shè)接口,適用于各種惡劣環(huán)境應(yīng)用。 了解詳情 -
OK335xS開發(fā)板
AM335X系列包括AM3352處理器、AM3354、AM3356、AM3357、AM3358、AM3359,都可工作在800Mhz的速度。同時(shí)支持4個(gè)操作系統(tǒng) Linux、RTLinux實(shí)時(shí)操作系統(tǒng),,在圖像、圖形處理、外設(shè)和諸如 EtherCAT 和 PROFIBUS 的工業(yè)接口選項(xiàng)方面進(jìn)行了增強(qiáng)。飛凌OK335xS開發(fā)板基于AM335x處理器開發(fā),主頻800MHz,郵票孔封裝,體積小。根據(jù)AM335x的性能及功能,飛凌推薦了非常多的解決方案分享。
保定飛凌嵌入式專注AM335x,am335x 開發(fā)板,TI AM335x 等ARM嵌入式核心控制系統(tǒng)研發(fā)、設(shè)計(jì)和生產(chǎn),是AM335x,335x開發(fā)板,TI AM335x 提供者, AM335x 系列產(chǎn)品現(xiàn)已暢銷全國,歡迎咨詢!
了解詳情