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

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

在長期穩定性的測試中發現,NandFlash總是有可能會發生讀寫錯誤,導致分區變化為只讀分區。由于在實際應用中,NandFlash分區存儲的為歷史數據信息,所以希望在NandFlash讀寫錯誤后不修改為只讀狀態,理解是UBIFS本身的機制導致它會出現這種錯誤。

1. 根文件系統是UBIFS,可寫讀的;

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

所以有了以下直觀認識:

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

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

解決方法:

1、通過修改內核分區表,新建一個用戶分區,這樣將數據存儲區和根文件系統分開存儲,用戶操作的一些數據和日志只在用戶分區執行,當有分區數據損壞時不會影響系統的掛載。具體方法參考《飛凌公司文件系統新建分區方法》。

2、如果堅持保留根文件系統分區為可讀寫,則每次通過linux命令執行關機操作,盡量避免直接切斷電源。

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

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

                               

相關產品 >

  • OK335xD開發板

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

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

    保定飛凌嵌入式專注AM335x,am335x 開發板,TI AM335x 等ARM嵌入式核心控制系統研發、設計和生產,是AM335x,335x開發板,TI AM335x 提供者, AM335x 系列產品現已暢銷全國,歡迎咨詢!

    了解詳情
    OK335xS開發板

推薦閱讀 換一批 換一批