CH552的iflash到底是個(gè)啥工藝?

CH552 手冊 6.2提到?

ROM 是 iFlash?工藝,對于空白 ROM 正式封裝后的成品,可以在 5V 電源下進(jìn)行約 200 次編程。

6.5 flash-ROM 操作步驟 也沒(méi)提到擦除。


相對應的CH559

就寫(xiě)的是100K次擦寫(xiě)的Flash-ROM,6.5 flash-ROM 操作步驟要先擦再寫(xiě)。


我查了一下,iFlash這個(gè)關(guān)鍵詞除了在芯片介紹里之外,我沒(méi)找到任何相關(guān)資料。請問(wèn)有沒(méi)有更多信息?在用戶(hù)的角度是否可以認為它就是一個(gè)少編程次數但不用擦的flash存儲器?


理解的沒(méi)問(wèn)題,”iFlash“只是一個(gè)代名詞而已。

特點(diǎn)就是:不用擦除,直接寫(xiě)0或1;相比常見(jiàn)的MCU,flash的寫(xiě)次數少一些。

只是尤其要注意的是,flash只能在VCC外部提供5V電壓的時(shí)候進(jìn)行編程。


雖然flash寫(xiě)次數不多,不過(guò)加上一些簡(jiǎn)單的平衡算法,也能夠做到類(lèi)似上萬(wàn)次擦寫(xiě)壽命的flash差不多的作用。


mm what kind of balance algorithms do you mean?.?

The WCHIspTool does always erase the flash before programming. Especially since loader 2.31 that seems a serios problem to me. I have already 2 CH552 here which fail programming the first block.?

So my advice dont flash too often.


@TECH5 感謝回復。

那是不是也可以認為,iFlash是按照字節扣除壽命,而不是像一般flash一樣是按照塊扣除壽命?


壽命是對最小單元而言,552上的最小單元就是字節。

在考慮flash壽命的時(shí)候,整體固件升級的情況當然是無(wú)法對擦寫(xiě)壽命上有什么優(yōu)化。平衡算法更多的是把剩余的code flash區當作data flash區來(lái)用的情況下:

例如需要保存2byte字節數據,那一個(gè)數據單元可以由4個(gè)字節組成,1字節已寫(xiě)次數+數據L+數據H+檢驗和。程序約定起始地址A,需要獲取該數據時(shí)從A開(kāi)始遍歷,直到遇到非零數據,讀取4個(gè);如果已寫(xiě)次數差不多到200了,那就把數據向后移動(dòng)4字節,當前位置寫(xiě)0。那1K的flash空間,可以獲得2字節數據的1K/4*200=51200次的存儲。

當然CH552本身就有更長(cháng)壽命的data flash可以用,以及還有CH546之類(lèi)更更長(cháng)壽命的。


@usbman

Pardon me for replying to a dead thread.

Maybe you can try wchisp(https://github.com/ch32-rs/wchisp). This tool supports skipping verifying and erasing.


只有登錄才能回復,可以選擇微信賬號登錄
97精品依人久久久大香线蕉97-亚洲欧美日韩一区二区三区-国产亚洲欧美精品久久久-久久99精品久久久大学生-亚洲成a人片在线不卡一二三区 97精品依人久久久大香线蕉97-亚洲欧美日韩一区二区三区-国产亚洲欧美精品久久久-久久99精品久久久大学生-亚洲成a人片在线不卡一二三区