在运行fedora 11的嵌入式系统中存储序列号的位置

时间:2012-04-12 11:16:45

标签: linux embedded embedded-linux

我有一项任务是接受Json格式的序列号并使用C ++对其进行验证并存储它,并且不允许用户更改它。只有生产团队需要改变它。现在我的问题是我将保存或存储序列号的位置。该产品是一个嵌入式系统,通过抱怨闪存卡运行。

该产品是在Fedora系统上运行的嵌入式系统,它不是试用版。用户将购买整个产品,只允许生产团队为单个产品分配序列号。如果软件崩溃或升级,我们不想丢失序列号。

谢谢和问候, 萨姆

2 个答案:

答案 0 :(得分:2)

我不知道您正在使用的系统架构;它的内存映射,您可用的任何受保护的闪存资源。

存储序列号类型信息时,我通常会确保以下内容:

  1. 要存储的项目保存在自己的闪存扇区中。
  2. 此扇区对任何正常的闪存擦除代码都不可见
  3. 在写入值之前,序列号扇区必须为空(之前没有为该单元分配序列号)。试图重写数据被拒绝。
  4. 将CRC添加到序列号数据中以进行验证。
  5. 我使用的所有处理器都有少量的配置或信息闪存,可用于校准值等。我使用一些内存作为一次写入序列号存储。

答案 1 :(得分:0)

假设用户无法访问您的系统(或至少不能以root用户身份访问),/ etc /中的简单文件可能会这样做。 这也假设您在升级软件时(如果?)不会覆盖整个闪存。