中文字幕无码不卡一区二区三区_少妇被又大又粗又爽毛片久久黑人_91精品国产在热久久无毒不卡_久久久久久亚洲综合网站

技術熱線: 4007-888-234
設計開發(fā)

專注差異化嵌入式產品解決方案 給智能產品定制注入靈魂給予生命

開發(fā)工具

提供開發(fā)工具、應用測試 完善的開發(fā)代碼案例庫分享

技術支持

從全面的產品導入到強大技術支援服務 全程貼心伴隨服務,創(chuàng)造無限潛能!

新品推廣

提供新的芯片及解決方案,提升客戶產品競爭力

新聞中心

提供最新的單片機資訊,行業(yè)消息以及公司新聞動態(tài)

延長Flash工藝單片機擦寫壽命-資深單片機開發(fā)團隊經驗分享

更新時間: 2019-06-20
閱讀量:5158

專注單片機開發(fā)的英銳恩科技的資深團隊工程師總結了一些單片機開發(fā)過程中的小技巧,分享給你們。選擇Flash工藝的單片機是為了應對單片機開發(fā)過程中數(shù)據(jù)的經常更新,但是頻繁擦除超過一定次數(shù)之后,F(xiàn)lash就會失效。腫么辦?小技巧延長flash工藝單片機的壽命。雖然不是真正的提升了單片機Flash的擦寫次數(shù),但是卻延長了Flash的擦寫壽命,實現(xiàn)了需要頻繁更新數(shù)據(jù)的應用。

在單片機開發(fā)應用中,工程師經常會遇到需要在單片機內部Flash的某個區(qū)域保存和讀取一些數(shù)據(jù),而這些數(shù)據(jù)在應用中可能會經常變化,因而需要對Flash的數(shù)據(jù)經常更新。需要不斷地進行擦寫,那么,如何才能延長單片機的Flash擦寫壽命呢?

英銳恩科技代理替代PIC的國產單片機

英銳恩科技以EN Flash 工藝單片機為例,講解如何延長單片機的Flash擦寫壽命。

EN Flash 工藝單片機具有1000 K Flash擦除次數(shù),一個Flash Page是512字節(jié),也就是在執(zhí)行擦除指令時,一次至少擦除512字節(jié)的數(shù)據(jù)。EN Flash 工藝單片機提供了Flash自編程的讀、寫和擦除函數(shù)以及對Flash操作的參考例程。Flash支持單字節(jié)讀和寫,但是每次在更新數(shù)據(jù)之前必須要先擦除原來的數(shù)據(jù),不能在原數(shù)據(jù)基礎上直接寫新數(shù)據(jù)內容。假設每次需要更新的數(shù)據(jù)長度是16個字節(jié),最簡單的方法就是在每次更新數(shù)據(jù)之前執(zhí)行擦除指令,然后寫入新數(shù)據(jù)。但是更新數(shù)據(jù)頻率比較高的應用場合,這種方法顯然是不行的。此時需要采取“空間換時間”的方法了,擦寫的次數(shù)和存儲數(shù)據(jù)長度的大小成反比?!翱臻g換時間”就是指利用相對多的Flash空間來換取相對多的擦寫時間(次數(shù))。在第一次執(zhí)行擦除指令后,可以依次將數(shù)據(jù)寫入Flash的這一頁,當寫滿一頁后再進行擦除操作。這樣的話,一頁512字節(jié)空間,每次寫入16字節(jié)長度的數(shù)據(jù),一頁就可以寫32個數(shù)據(jù)塊,寫滿后再全部擦除,而不用每次寫數(shù)據(jù)前都擦除,該頁的擦除次數(shù)就可以提高32倍,也就是100K*32=320萬次了。

既然思路清晰了,那么單片機軟件實現(xiàn)起來就相對比較簡單。

首先需要選取數(shù)據(jù)塊中的某一字節(jié)作為地址INDEX,更新數(shù)據(jù)時第一個寫入Flash。Flash的編程原理都是只能將1寫為0,而不能將0寫為1。所以在Flash編程之前,必須將對應的頁擦除,而擦除的過程就是把所有位都寫為1的過程,頁內的所有字節(jié)變?yōu)?xFF。

寫入數(shù)據(jù)實現(xiàn)過程:

每次寫入數(shù)據(jù)時,從低地址到高地址依次(以16位步進)判斷INDEX的內容,為了防止實際數(shù)據(jù)中包含0xFF內容,從而出現(xiàn)誤判的情況,建議判斷INDEX和INDEX+1兩個地址的內容。如果都為0xFF,表示該地址空間未被寫過數(shù)據(jù),寫入需要更新的數(shù)據(jù);如果至少有一個不為0xFF,表示該地址空間已被寫過數(shù)據(jù),繼續(xù)查詢,直到查到內容都為0xFF為止;如果所有的INDEX(32個)和INDEX+1都至少有一個不為0xFF,表示該頁已經寫滿,執(zhí)行擦除指令后從首地址寫入數(shù)據(jù)。

讀取數(shù)據(jù)實現(xiàn)過程:

每次讀取數(shù)據(jù)時,從高地址到低地址依次(以16為步進)判斷INDEX的內容,這樣是為了查詢到最新的數(shù)據(jù)。同樣為了防止實際數(shù)據(jù)中包含0xFF內容,從而出現(xiàn)誤判的情況,建議判斷INDEX和INDEX+1兩個地址的內容。如果至少有一個不為0xFF,表示該地址已寫過數(shù)據(jù),讀取數(shù)據(jù);如果所有的INDEX(32個)和INDEX+1都為0xFF,表示該頁還未寫入數(shù)據(jù)。

perfect,思路清晰,實例講解。

英銳恩科技資深工程團隊為您提供免費技術支持,低成本的8位單片機,32位單片機買起來。

攀枝花市| 合江县| 突泉县| 三门峡市| 临江市| 日土县| 新绛县| 松潘县| 凉城县| 井冈山市| 云梦县| 金坛市| 永安市| 神池县| 横峰县| 瑞金市| 泰兴市| 广宁县| 贵阳市| 永和县| 新密市| 西峡县| 内丘县| 沙湾县| 凤山县| 兴安盟| 乌拉特前旗| 明星| 林西县| 定西市| 枣庄市| 乐都县| 巴青县| 体育| 莫力| 云浮市| 密山市| 锦州市| 汽车| 龙门县| 仁寿县|