快闪记忆体 - Read Write Word
材料准备
- AmebaPro2 [ AMB82 MINI ] x1
范例说明
快闪记忆体 API 使用 3 * 4K 位元组 (12Kb) 的内存,通常足以满足大多数应用程式的需要。然而,可以透过指定特定的记忆体位址和所需的大小来提供更大的记忆体。
在本范例中,指定快闪记忆体的起始位址为0xFD000(“FLASH_MEMORY_APP_BASE”),大小为0x1000。使用偏移0x1F00,即快闪记忆体中的0xFD000 + 0x1E00 = 0xFEE00。 读取位址的值,然后加1。接下来,将新值写入相同位址。最后一步,再次从位址读取值并与增加的值进行比较。如果值相同则证明读写一个字成功。每次 Ameba 重新启动时,读取值都会增加,直到“RESET_THRESHOLD”(最高 0xFFFFFFFF),然后重设为 0。
在“File”->“Examples”->“AmebaFlashMemory”->“ReadWriteWord”中开启范例程式码。编译并上传到Ameba,然后多次按重置按钮。开启Serial Monitor查看结果。
预设情况下,Flash Memory API 使用位址 0xFD000~0xFFFFF 来储存资料。写入快闪记忆体时存在限制。
就是不允许直接将资料写入到上次写入时所使用的相同位址,除非先清除该磁区。快闪记忆体 API 有 1 个与清除相关的函数。
• 使用“FlashMemory.eraseSector(sector_offset)”清除快闪记忆体目标位址的一个磁区(4K 位元组)。
• 使用“FlashMemory.eraseWord(offset)”清除快闪记忆体目标位址的一个字(4 个位元组)。
Copyrights ©瑞晟微电子(苏州)有限公司 2021. All rights reserved. 使用条款