找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2676|回復(fù): 19
打印 上一主題 下一主題
收起左側(cè)

Flash模擬EEPROM擦除時(shí)間太長(zhǎng)

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
大家好,

用的是STM32 MCU,為了省成本,用了內(nèi)部Flash模擬EEPROM,F(xiàn)lash最小擦除單位是扇區(qū),一個(gè)扇區(qū)大小是128K。

用一個(gè)扇區(qū)模擬EEPROM,當(dāng)整個(gè)扇區(qū)寫(xiě)滿后,擦除一次。但是規(guī)格書(shū)上寫(xiě)的是擦除一個(gè)128K的扇區(qū)需要耗時(shí)1~2s,這個(gè)時(shí)間太長(zhǎng)了!

肯定影響到系統(tǒng)實(shí)時(shí)性了。

有什么辦法可以解決嗎?看來(lái)還得用單獨(dú)的EEPROM芯片了!
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:1109793 發(fā)表于 2024-6-20 16:56 | 只看該作者
秒還是毫秒?STM32不會(huì)用,STC也不用2秒吧
回復(fù)

使用道具 舉報(bào)

板凳
ID:1108479 發(fā)表于 2024-6-20 17:25 | 只看該作者
xiaobendan001 發(fā)表于 2024-6-20 16:56
秒還是毫秒?STM32不會(huì)用,STC也不用2秒吧

秒,確實(shí)是1~2s, 規(guī)格書(shū)上寫(xiě)的,很奇怪很多用大容量的Flash都是怎么用的?
回復(fù)

使用道具 舉報(bào)

地板
ID:123289 發(fā)表于 2024-6-20 19:44 | 只看該作者
懷疑讀書(shū)不準(zhǔn)確,當(dāng)為ms級(jí)。將你讀的書(shū)貼出來(lái)看看。
回復(fù)

使用道具 舉報(bào)

5#
ID:192020 發(fā)表于 2024-6-20 20:38 | 只看該作者
要擦128K這么多?單位是不是有問(wèn)題
回復(fù)

使用道具 舉報(bào)

6#
ID:1034262 發(fā)表于 2024-6-20 21:22 | 只看該作者
xiaobendan001 發(fā)表于 2024-6-20 16:56
秒還是毫秒?STM32不會(huì)用,STC也不用2秒吧

STC8系列EEPROM扇區(qū)擦除幾個(gè)ms。
回復(fù)

使用道具 舉報(bào)

7#
ID:57657 發(fā)表于 2024-6-21 06:25 | 只看該作者
看你程序使用了多少字節(jié)EEPROM,使用數(shù)據(jù)磨損均勻算法寫(xiě)滿再擦。
回復(fù)

使用道具 舉報(bào)

8#
ID:1108479 發(fā)表于 2024-6-21 09:33 | 只看該作者
qq475878026 發(fā)表于 2024-6-20 20:38
要擦128K這么多?單位是不是有問(wèn)題

ST的高端MCU,STM32H743, 2M Flash, 最小擦除粒度確實(shí)是128K。
回復(fù)

使用道具 舉報(bào)

9#
ID:1108479 發(fā)表于 2024-6-21 09:37 | 只看該作者
yzwzfyz 發(fā)表于 2024-6-20 19:44
懷疑讀書(shū)不準(zhǔn)確,當(dāng)為ms級(jí)。將你讀的書(shū)貼出來(lái)看看。

用的是STM32H743,高端MCU ,內(nèi)部2M flash,最小擦除粒度是128K,擦除時(shí)間如下圖,上面的單位是s (不確定有沒(méi)有看錯(cuò))。附件規(guī)格書(shū)你也可以看一下


STM32H743數(shù)據(jù)手冊(cè).pdf

4.85 MB, 下載次數(shù): 2

回復(fù)

使用道具 舉報(bào)

10#
ID:1108479 發(fā)表于 2024-6-21 09:43 | 只看該作者
npn 發(fā)表于 2024-6-21 06:25
看你程序使用了多少字節(jié)EEPROM,使用數(shù)據(jù)磨損均勻算法寫(xiě)滿再擦。

這個(gè)我知道,其實(shí)我問(wèn)的是擦除時(shí)間長(zhǎng)影響實(shí)時(shí)性的問(wèn)題
回復(fù)

使用道具 舉報(bào)

11#
ID:744809 發(fā)表于 2024-6-21 10:10 | 只看該作者
可以在程序初始化的時(shí)候擦除,就不會(huì)影響后面的實(shí)時(shí)性,當(dāng)然啟動(dòng)時(shí)間也有要求的話,就沒(méi)辦法了
回復(fù)

使用道具 舉報(bào)

12#
ID:161164 發(fā)表于 2024-6-21 10:52 | 只看該作者
可以按頁(yè)擦除啊,一頁(yè)只有1k
3.3.3 Embedded Flash memory






回復(fù)

使用道具 舉報(bào)

13#
ID:123289 發(fā)表于 2024-6-22 00:11 | 只看該作者
擦128K是秒級(jí),擦一頁(yè)不需要這么多時(shí)間。
回復(fù)

使用道具 舉報(bào)

14#
ID:1108479 發(fā)表于 2024-6-22 09:17 | 只看該作者
lkc8210 發(fā)表于 2024-6-21 10:52
可以按頁(yè)擦除啊,一頁(yè)只有1k
3.3.3 Embedded Flash memory

估計(jì)沒(méi)看我發(fā)的STM32H743的規(guī)格書(shū),這個(gè)MCU沒(méi)有頁(yè)的概念,只有扇區(qū)概念,所以擦除單位只能按扇區(qū)來(lái)擦除,一個(gè)扇區(qū)是128K。所以這樣是不是無(wú)解了?不行的話,就用EEPROM了,國(guó)產(chǎn)的一個(gè)也沒(méi)幾個(gè)錢(qián)


回復(fù)

使用道具 舉報(bào)

15#
ID:1108479 發(fā)表于 2024-6-22 09:17 | 只看該作者
yzwzfyz 發(fā)表于 2024-6-22 00:11
擦128K是秒級(jí),擦一頁(yè)不需要這么多時(shí)間。

這顆MCU沒(méi)有頁(yè)而概念,只有扇區(qū),一個(gè)扇區(qū)是128K,所以只能按照128K扇區(qū)擦除
回復(fù)

使用道具 舉報(bào)

16#
ID:624769 發(fā)表于 2024-6-22 20:13 | 只看該作者
據(jù)說(shuō),STM是非常高級(jí)的芯片,這玩藝難道還是單線程?你發(fā)了擦除指令之后,只能象“落后的51”一樣,等他完成了才能獲得時(shí)鐘權(quán)限么?不能先干別的事?
回復(fù)

使用道具 舉報(bào)

17#
ID:123036 發(fā)表于 2024-6-22 22:37 | 只看該作者
188610329 發(fā)表于 2024-6-22 20:13
據(jù)說(shuō),STM是非常高級(jí)的芯片,這玩藝難道還是單線程?你發(fā)了擦除指令之后,只能象“落后的51”一樣,等他完 ...

STM32H743雙bank把他分分應(yīng)該不影響程序跑起來(lái)。
回復(fù)

使用道具 舉報(bào)

18#
ID:828160 發(fā)表于 2024-6-23 15:41 | 只看該作者
lkc8210 發(fā)表于 2024-6-21 10:52
可以按頁(yè)擦除啊,一頁(yè)只有1k
3.3.3 Embedded Flash memory

這個(gè)不是H7xx的芯片吧
回復(fù)

使用道具 舉報(bào)

19#
ID:844772 發(fā)表于 2024-7-1 11:39 | 只看該作者
我理解你的問(wèn)題是,需要不斷讀取Flash,但擦除時(shí)會(huì)停止取指操作,MCU就像是卡了,但你給的手冊(cè) P33 的 Figure 4. STM32H743xI/G bus matrix ,看圖它分為flash A 和flash B,我理解如果讀取FLASHA時(shí),可以對(duì)FLASHB進(jìn)行擦除操作,在擦除的幾秒時(shí)間內(nèi),SysTick_Handler()中斷服務(wù)函數(shù),uwTick記數(shù)器變化應(yīng)該正常的。我的建議你應(yīng)該理解吧?
回復(fù)

使用道具 舉報(bào)

20#
ID:1108479 發(fā)表于 2024-7-1 11:54 | 只看該作者
188610329 發(fā)表于 2024-6-22 20:13
據(jù)說(shuō),STM是非常高級(jí)的芯片,這玩藝難道還是單線程?你發(fā)了擦除指令之后,只能象“落后的51”一樣,等他完 ...

我不太明白,擦除Flash的時(shí)候,CPU還能干別的事嗎?不是要等擦除完成嗎?難道擦除Flash的時(shí)候還能像DMA一樣操作?如果能這樣,那就好辦了
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表