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

CH552 手冊 6.2提到?

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

6.5 flash-ROM 操作步驟 也沒提到擦除。


相對(duì)應(yīng)的CH559

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


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


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

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

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


雖然flash寫次數(shù)不多,不過加上一些簡單的平衡算法,也能夠做到類似上萬次擦寫壽命的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 感謝回復(fù)。

那是不是也可以認(rèn)為,iFlash是按照字節(jié)扣除壽命,而不是像一般flash一樣是按照塊扣除壽命?


壽命是對(duì)最小單元而言,552上的最小單元就是字節(jié)。

在考慮flash壽命的時(shí)候,整體固件升級(jí)的情況當(dāng)然是無法對(duì)擦寫壽命上有什么優(yōu)化。平衡算法更多的是把剩余的code flash區(qū)當(dāng)作data flash區(qū)來用的情況下:

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

當(dāng)然CH552本身就有更長壽命的data flash可以用,以及還有CH546之類更更長壽命的。


@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.


只有登錄才能回復(fù),可以選擇微信賬號(hào)登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频