我的系統需要將數據存儲在EEPROM閃存中。字節串將一次寫入一個EEPROM,而不是一次連續寫入。字符串的長度可能會有所不同。我希望字符串按順序保存,而不會從最後寫入地址繼續浪費任何空間。例如,如果第一個字節的字符串被寫入地址0x00〜0x08,那麼我希望從地址0x09開始寫入第二個字節的字符串。寫入閃存時的跟蹤地址
如何實現?我發現一些EEPROM的寫命令不需要指定地址,只是從最後寫入的點開始繼續。但是我使用的EEPROM不支持。 (我正在使用Spansion的S25FL1-K)。每次寫入時我都會考慮分配部分內存來跟蹤地址並存儲地址,但這可能會更快地消耗掉閃存。什麼是廣泛使用的方法來處理這種情況?
謝謝。
編輯: 我問的是如何以非易失性的方式跟蹤/保存地址,以便下次寫入時,我知道要開始的地址。
您是否閱讀過數據表?命令以地址開始,然後您可以有一個到256個字節。所以你知道你開始的地址是什麼,你知道這個字符串有多長,所以當你啓動另一個命令時,你知道你在頁面中的位置,你知道使用哪個地址。不確定你的問題是什麼。你必須預先檢查字符串長度,以確保你不超過任何限制,不論你使用的部件/頁面或spi控制器的限制是多少,你可以發送每個命令有多少字節的限制等等。所以你總是知道起始地址和長度。 –
您指定的設備是* not * EEPROM。它是一個串行NOR閃存。 –
@dwelch數據未被正確寫入。該系統通過藍牙收集數據,並在閃存空閒時寫入閃存,並確認收集的數據可以安全地寫入。之前的寫作可能會持續一段時間。就像你說的那樣,是的,我知道寫這個時刻我在頁面上的位置。我問的是如何記住這個地址,以便在下一次寫入時可以將它作爲起始地址。我不是,如果這我的解釋是清楚的.. –