CH592的DataFlash似乎是不需要擦除的?
在初始化時(shí)調(diào)用以下代碼,每次上電下電,或者從低功耗喚醒時(shí),Temp[0]一直可以正常寫入。
CH592的DataFlash似乎是不需要擦除的?
在初始化時(shí)調(diào)用以下代碼,每次上電下電,或者從低功耗喚醒時(shí),Temp[0]一直可以正常寫入。
標(biāo)準(zhǔn)的操作流程,需要先擦除再寫。
關(guān)鍵是,這樣的話我就不能像普通Flash那樣管理這塊Flash了?
“一直可以正常寫入”
一定要先擦再寫,一定要先擦再寫,一定要先擦再寫,否則不保證寫正確,本質(zhì)上它還是一塊flash。
“不能像普通Flash那樣管理這塊Flash”
可以的。一般的flash也是先擦再寫嘛,只要保證寫入的字段,在寫的前一時(shí)刻是擦完的就OK;dataflash也是如此。
關(guān)鍵是我內(nèi)存不夠,每次都擦除是不是太影響壽命了,我可以像普通Flash那樣確保寫0的正常嗎?
延長flash的壽命,可以分塊滾動(dòng)使用flash。
“像普通Flash那樣確保寫0的正常”按flash特性來講,是可以的。注意:僅可以用于CH5Xx系列的dataflash。若是操作codeflash,讀寫操作會(huì)經(jīng)由內(nèi)核加解密,實(shí)際寫入到flash物理層中的二進(jìn)制內(nèi)容,與C代碼中的二進(jìn)制寫入內(nèi)容不一致。