Embedded 通常是否可以唯一标识单个MCU(用于许可目的)(没有MAC地址可用)

Embedded 通常是否可以唯一标识单个MCU(用于许可目的)(没有MAC地址可用),embedded,68hc12,Embedded,68hc12,我被要求增强MCU(特别是飞思卡尔MC9S12E64)的固件安装程序,尽管我不知道这是否重要 增强安装的目的是限制固件的安装次数。这样做的最佳方式似乎是在固件安装期间唯一地标识正在使用的特定MCU,以便在中央数据库中保持跟踪 如果MCU有MAC地址,这似乎是可行的。不幸的是,这些MCU没有网络接口,因此没有MAC地址。查看上面提到的MCU手册,我找不到MCU唯一标识符的指示 我的问题是:MCU是否通常具有与它们相关联的唯一标识符(类似于MAC地址),当固件烧录到这些设备中时,软件可以获得这些标识

我被要求增强MCU(特别是飞思卡尔MC9S12E64)的固件安装程序,尽管我不知道这是否重要

增强安装的目的是限制固件的安装次数。这样做的最佳方式似乎是在固件安装期间唯一地标识正在使用的特定MCU,以便在中央数据库中保持跟踪

如果MCU有MAC地址,这似乎是可行的。不幸的是,这些MCU没有网络接口,因此没有MAC地址。查看上面提到的MCU手册,我找不到MCU唯一标识符的指示


我的问题是:MCU是否通常具有与它们相关联的唯一标识符(类似于MAC地址),当固件烧录到这些设备中时,软件可以获得这些标识符?

有些有,有些没有,这不是所有制造商提供的所有设备的特定标识符


一种解决方案是将您自己的唯一标识符编程到任何在制造厂可用的非易失性存储器中。另一种方法是包括一个设备,例如,它提供唯一的序列号以及非易失性存储器。许多(可能更便宜的)串行EEPROM设备也包括唯一ID或MAC()

有些有,有些没有,并非所有制造商的所有设备都有此功能


一种解决方案是将您自己的唯一标识符编程到任何在制造厂可用的非易失性存储器中。另一种方法是包括一个设备,例如,它提供唯一的序列号以及非易失性存储器。许多(可能更便宜的)串行EEPROM设备也包括唯一ID或Mac()

不是很多,因为制造商这么做很痛苦-尽管如评论中所指出的,它在新的基于皮质的部件中越来越流行-痛苦一定是值得的

您可以添加外部设备,例如Dallas/Maxim Onewire序列号芯片。当然,没有什么可以阻止你的用户修改主板,让他们都报告相同的ID,这样他们就可以多次安装了


或者在制造设备时将自己的ID编程到闪存中,并锁定设备,使其无法(轻松)通过调试界面进行更改。

这样做的人不多,因为制造商很难做到这一点-尽管在评论中指出,它正变得越来越受新的皮质部分的欢迎-痛苦一定是值得的

您可以添加外部设备,例如Dallas/Maxim Onewire序列号芯片。当然,没有什么可以阻止你的用户修改主板,让他们都报告相同的ID,这样他们就可以多次安装了


或者在制造设备时将您自己的ID编程到闪存中,并锁定设备,使其无法(轻松)通过调试界面进行更改。

HCS12没有内置此类功能。但是请注意,它有一个寄存器PARTID用于“我是哪个S12衍生物,哪个硅掩模?”


您需要做的是编写自己的flash编程算法,在内部跟踪写入次数,尽管在这种情况下,您必须修改程序。不幸的是,您使用的是E64,它不仅缺少合适的片上EEPROM,而且只有1个闪存组。这意味着写下“内部序列号”的代码必须从RAM中执行。飞思卡尔网站上有一个应用程序说明。

HCS12没有内置此类功能。但是请注意,它有一个寄存器PARTID用于“我是哪个S12衍生物,哪个硅掩模?”


您需要做的是编写自己的flash编程算法,在内部跟踪写入次数,尽管在这种情况下,您必须修改程序。不幸的是,您使用的是E64,它不仅缺少合适的片上EEPROM,而且只有1个闪存组。这意味着写下“内部序列号”的代码必须从RAM中执行。飞思卡尔网站上有一个应用程序说明。

尽管我觉得奇怪,你允许用户自己重新编程MCU,也就是说,你允许他们访问实际的二进制文件,可以用来创建产品的完整副本cat设计。你对此很好,因此不考虑你的知识产权的任何价值,但你想限制多少次,他们可以编程MCU?这有什么意义呢?制造商将拥有一个封装二进制文件的安装程序,安装程序必须连接到互联网才能验证激活码。@Lundin(添加了名称标签)@DanNissenbaum-“必须”直到有人对其进行反向工程,或记录它发送给程序员的内容,或在对安全位进行编程之前停止,并从部件中读取文件。请不要在多个堆栈交换站点上询问相同的问题。虽然您允许用户自己重新编程MCU,也就是说,您允许他们访问实际的二进制文件,但我觉得这很奇怪,可用于创建产品的完整复制cat设计。你对此很好,因此不考虑你的知识产权的任何价值,但你想限制多少次,他们可以编程MCU?这有什么意义呢?制造商将拥有一个封装二进制文件的安装程序,安装程序必须连接到互联网才能验证激活码。@Lundin(添加了名称标签)@DanNissenbaum-“必须”直到有人对其进行反向工程,或记录它发送给程序员的内容,或者在对安全位进行编程并从部件中读取文件之前停止。请不要在多个堆栈交换站点上询问相同的问题。实际上,许多更现代的微控制器,尤其是更小的arm cortex部件,现在都在提供,但甚至有