c - 如何组织eeprom中的数据

标签 c avr eeprom

在我的项目中,我需要在eeprom中保存各种记录,而且我还需要搜索(按地址)、删除和编辑这些记录。记录如下所示:

[n bytes address1][data1][data2][data3]
[n bytes address2][data1][data2]
[n bytes address3][data1][data2][data3][data4][data5][data6]

恐怕如果我只删除一些记录,那么内存会非常碎片(因为每条记录都有不同长度的数据)。

此任务的最佳解决方案是什么?

我使用avr atxmega

最佳答案

您可以定义记录的最大大小并使用它来保存数据。 您会得到一些空字节,但它省去了跟踪内存的麻烦。

还要提防扇区。扇区是要删除的最小组。如果您的数据超出扇区边界,可能会导致数据损坏。

关于c - 如何组织eeprom中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41676984/

相关文章:

c - C 中 main() 执行一半后输出消失

c - 管道回声到gcc?

c - 如何操作数组的单个位

c - AVR(调试)PWM 生成

c - M95128-W EEPROM。每页的第一个字节未正确写入或读取

stm32 - 如何在STM32F4中使用备份SRAM作为EEPROM

linux - 在 linux 上读写 spi eeprom

c++ - 使用 Telnet 测试 select()

c - ATMega128 启动时输出闪烁

microcontroller - 对设备编程感兴趣。从哪儿开始