Flash Memory – 使用超過4K的Flash Memory
範例說明
Flash Memory API預設使用4K大小的memory,對大部份的應用應該已經足夠,但如果遇到需要用到超過4K的情況,可以指定特定的位置與大小來使用。
首先打開範例 “File” -> “Examples” -> “AmebaFlashMemory” -> “ReadWriteOneWord”
這個範例裡會聲明Flash起始位置為0xFC000, 大小為0x4000。 (預設起始位置為0xFF000,大小為0x1000)
然後根據offset對特定位置做讀寫。範例裡使用offset 0x3F00,即Flash位置0xFC000 + 0x3F00 = 0xFFF00。第一次讀出來將值設定成0,之後每次開機都加1。
程式碼說明
之前的Flash API可以直接使用,但預設起始位置為0xFF000,大小為0x1000,如果要使用別的設定,則要呼叫begin(),範例裡第一個參數是起始位置,第二個參數是大小。
FlashMemory.begin(0xFC000, 0x4000);
要讀出這個區塊的值,使用readWord(),範例裡讀出offset 0x3F00的地方,也就是0xFC000 + 0x3F00 = 0xFFF00的位置,讀出來的大小為32-bit,放在回傳值裡
value = FlashMemory.readWord(0x3F00);
寫入則使用writeWord(),第一個參數是offset,第二個參數是要寫入的值。
FlashMemory.writeWord(0x3F0C, value);
Copyrights ©瑞晟微电子(苏州)有限公司 2021. All rights reserved. Terms of Use