在我的项目中,我需要在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/