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