Nandflash希尔特编程器烧录带来的一些点知识信息
1.NAND FLASH的特殊性
1)存在壞塊。NAND FLASH由于其生產工藝的原因,出廠芯片中會隨機包含壞塊。壞塊在出廠時已經被初始化,并在特定區域中存在標記,如果在使用過程中出現壞塊,也需要進行標記。
2)易出現位反轉。NAND FLASH易出現位反轉的現象,如果位反轉出現在關鍵位置上,則會導致系統掛機。所以在使用NAND FLASH的同時,建議使用ECC以確保可靠性。
3)存在Spare區。正因為NAND FLASH有著上述兩項特殊性,Spare區就扮演著存放壞塊標志、ECC等的作用。
2.NAND FLASH燒錄的復雜性
1)如何管理壞塊。由于NAND FLASH存在壞塊,導致地址空間不連續,所以正確地處理壞塊是保證NAND FLASH燒錄后能夠正常在系統上運行的關鍵。目前我司基本上為每一種NAND FLASH配置3種標準的壞塊處理方式:Skip(跳過壞塊),Hard Copy(燒錄時若遇到壞塊,則相應數據可能會丟失)和Partition(分區)。若客戶需要其他特殊的壞塊管理方案,我司可按照客戶的要求為客戶定制算法。
2)定位燒錄。NAND FLASH在配合CPU一起運行的過程中,一些代碼或文件需要從一個確定的地址讀入來運行。如果客戶燒錄文件的某幾段數據需要從確定的地址讀入,且每一段數據在燒錄到NAND FLASH中時采用的是遇到壞塊順序燒錄到下一個好塊的處理方法,就可以制作分區表文件進行分區定位燒錄,我司稱這種燒錄方式為分區(Partition)。
3)計算ECC。ECC算法具有查錯、糾錯的功能,并且在NAND FLASH使用的絕大多數環境下,是需要ECC來確保可靠性的。由于ECC算法很多,每個算法個體又具有較強的可變性,且在Spare區存放的位置也不一樣,所以無法做成統一的算法。如果客戶的燒錄文件不包含Spare區的數據(主要是ECC),我司也可以按照客戶提供的ECC源程序在燒錄時生成ECC。一般情況下,建議客戶在生成燒錄文件時同時生成Spare區(ECC)的數據。
4)啟動代碼區檢查。啟動區的代碼一般要求存放在NAND FLASH中的連續好塊里,中途不可以出現壞塊,一旦出現壞塊,程序在NAND FLASH中啟動就會失敗。客戶可以根據自己啟動代碼大小來進行相應設置,使能啟動代碼區檢查功能以舍棄不符合啟動要求的芯片。我司編程器的啟動代碼區檢查(Boot Block Check)功能也可以用來掃描NAND FLASH的壞塊。
5)非標準壞塊標志。一些客戶考慮自己產品的保密性或公司內部技術的兼容性,將壞塊標志放在非標準的位置,或使用非0xFF作為好塊標志。如有此類情況,請客戶給予說明并定制算法。
總結
以上是生活随笔為你收集整理的Nandflash希尔特编程器烧录带来的一些点知识信息的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux内核源代码分析----内核基础
- 下一篇: 设置networkx中每个节点的位置