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