首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在eeprom中组织数据

如何在eeprom中组织数据
EN

Stack Overflow用户
提问于 2017-01-16 20:59:01
回答 3查看 690关注 0票数 2

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

代码语言:javascript
复制
[n bytes address1][data1][data2][data3]
[n bytes address2][data1][data2]
[n bytes address3][data1][data2][data3][data4][data5][data6]

我担心如果我只是删除一些记录,那么内存将非常零碎(因为每条记录都有不同长度的数据)。

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

我和avr atxmega一起工作。

EN

Stack Overflow用户

发布于 2017-01-16 21:33:23

如果您实现“最佳匹配”算法(理想情况下,完全)重用“洞”而不是“首次匹配”(然后您将牺牲速度来换取效率),那么内存碎片的问题就会小得多。如果您的数据具有一定的粒度(似乎就是这种情况),您可以非常高效地工作。

使用链接的空闲列表组织EEPROM中的空白区域,并确保在整个空闲列表中搜索您想要存储的数据完全适合的区域,或者在某个可接受的开销范围内。如果找不到这样的区域,请使用最大的空闲区域。这会严重减少碎片(如果不能避免,取决于您的数据)。

票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41676984

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档