MPC56xx系列器件具有用于代碼和數(shù)據(jù)的內(nèi)部非易失性閃存存儲(chǔ)器。Freescale的MPC56xx設(shè)備上實(shí)現(xiàn)了兩種類型的閃存模塊,即C90FL和C90LC。C90FL閃存適用于大容量閃存存儲(chǔ)器陣列,而C90LC優(yōu)化了較小的閃存陣列配置。
閃存存儲(chǔ)器設(shè)計(jì)可實(shí)現(xiàn)快速編程,但需要一次擦除整個(gè)塊。一旦編程完成,閃存存儲(chǔ)器在斷電時(shí)保持其編程狀態(tài)(非易失性)。在這種技術(shù)中,閃存存儲(chǔ)器陣列中的每個(gè)單元保存一個(gè)位的值(已編程為0或擦除為1)。這是一種采用2級(jí)NOR閃存實(shí)現(xiàn),并使用單個(gè)電壓閾值來確定位的高低的技術(shù)。這確保了最大的數(shù)據(jù)保留以滿足嚴(yán)苛的汽車要求。為了進(jìn)一步防止位翻轉(zhuǎn),該技術(shù)實(shí)現(xiàn)了糾錯(cuò)編碼(ECC),可糾正單位錯(cuò)誤并識(shí)別ECC碼字(64位數(shù)據(jù)位加8位ECC奇偶校驗(yàn)位)中的任何雙位錯(cuò)誤。
由于ECC,閃存存儲(chǔ)器可能處于ECC位無效的狀態(tài)。如果擦除操作在完成之前被中斷,就可能發(fā)生這種情況。如果在C90FL閃存上執(zhí)行擦除操作時(shí)發(fā)生斷電,正在擦除的閃存塊可能會(huì)處于不確定狀態(tài)(ECC值無效)。所謂斷電是指意外斷電、電源電壓下降或意外復(fù)位。
本應(yīng)用筆記描述了如何恢復(fù)由于中斷的擦除操作而導(dǎo)致C90FL閃存塊處于非法狀態(tài)的過程,如果發(fā)生此類斷電情況。