[STM32] 请教大神~如何在电子产品的固件上写入产品序列号

[复制链接]
2570|8
 楼主| henson186 发表于 2018-1-8 11:11 | 显示全部楼层 |阅读模式
想请教各位大神一个关于产品序列号的问题~
我们想给产品设置序列号,让产品联网后,后台能自动读出序列号。而且我们需要实现序列号标签(贴在机身和包装上),固件序列号一致。但是在开发过程发现,产品量产烧录的固件都是一样的,求各位大神指教一下产品固件的序列号是如何实现的?序列号通常是怎么样生成的?能够使得量产中序列号标签、固件序列号一致?
谢谢!!!
redleaves 发表于 2018-1-8 14:41 | 显示全部楼层
关键是烧录工具。芯片若是第一次烧录,每个芯片的固件中序列号是不同的。若是固件更新且要保留原序列号,还需在烧录前读出原有的序列号并加载到更新固件中。
kingkits 发表于 2018-1-8 17:38 | 显示全部楼层
通常是在产品验证时做的,一般芯片都有otp空间,产品生产完时,会通过技术下载一个检测产品状态的软件,这个软件负责写序列号
xcvista 发表于 2018-1-8 18:52 | 显示全部楼层
如果你不介意的话,大多数单片机芯片都有内部序列号,你可以直接用或者过一遍 SHA256 随机化一下。

ps 我十分不建议使用顺次分配的序列号,这样的话很容易让竞争对手估算出产品销量,也容易被黑客拖支持数据库。芯片内部序列号过一遍 SHA256 得到的数字完全随机不会泄露信息,但可以唯一对应到设备上。
xiaohua880123 发表于 2018-1-9 09:22 | 显示全部楼层
用电脑连接标签打印机,同时电脑可以和产品通信,然后在电脑上做个上位机,当需要打印标签时看产品是否有连接电脑,连了则打印标签,同时制定一个电脑和产品的特定协议,把打印的标签的序列号发给产品,产品接收该特定协议后写入指定区域的EEPROM,然后电脑再读取该产品序列号,看产品是否回复EEPROM中那个序列号,回复正确说明成功写入了。这样把打印出的产品标签贴在该产品上就行了。
Leeone 发表于 2018-1-9 13:28 | 显示全部楼层
一般用到单片机的内部都有序列号,可以直接用或者处理下当产品序列号就行了
ningling_21 发表于 2018-1-9 14:09 | 显示全部楼层
用芯片内部的ID加以处理也可以作为序列号
jimsboy 发表于 2018-1-19 18:39 | 显示全部楼层
买一个支持序列号烧录的离线烧录器就行了.
TB上有,就是有点贵.
zqx1000 发表于 2018-4-10 19:29 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

3

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部