如何使用Flasher烧录自定义序列号?

浏览:1070来源:本站时间:2021-04-14

我们之前介绍过一期“如何使用J-Flash进行序列号编程”的文章,该方式烧录序列号时是以一种标准的规则递增序列号,如果想要避免他人依据序列号的递增规则伪造产品序列号,则产品序列号可能并不会以简单的递增规则进行排列。例如序列号中间可能存在间隔,或者是以其他规则生成的更为无序的自定义序列号,本文将介绍如何烧录自定义序列号。

注意烧录自定义序列号的操作仅支持Flasher工作在stand alone模式下,在通过J-Flash软件将Flasher配置为工作在stand-alone模式时,若要烧录自定义序列号,则需要在J-Flash的工程文件保存路径下创建一个与J-Flash工程名相关的自定义序列号文件,然后将该序列号文件下载到Flasher中。

例如我们的J-Flash工程的名字为STM32F103,那么需要创建的序列号文件为_SNList.txt,即STM32F103_SNList.txt。在自定义序列号文件中,序列号的规则可以是更加复杂的。

图片

在该文本文件中,可以输入自定义的序列号,在序列号文件中,每个序列号占据一行,且序列号的每个字节由两个十六进制数字表示。

图片

例如一个序列号需要烧录在0x08000000地址处,且序列号的值为:

0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08

那么该序列号在序列号文件中应该表示为:

0102030405060708

按照上述规则创建好自定义的序列号文件后,还需要指定序列号烧录的地址及长度等参数。

通过Option->Project settings->Production选项,勾选Program serial number开启序列号烧录功能。

图片

在该选项下,拥有如下4个参数需要进行设置。

· Address:指定用于存储序列号的地址。

· Length:J-Flash默认支持1到4字节大小的序列号。

注意:如果序列号文件中的序列号超出了定义的长度,那么超出的部分将会被忽略。如果序列号的长度比自定义长度小,则多余的字节会以0进行填充。

· Next SN:烧录动作开始时从序列号文件的哪个位置开始,此处需要设置为0,使Flasher从序列号文件的第一行开始烧录。

· Increment:在添加了自定义序列号文件后,此选项保持默认值即可,Flasher会根据序列号文件逐行进行烧录。

当完成序列号文件的创建和上述选项的设置后,通过File->Download serial number file to Flasher选项将序列号文件下载到Flasher中。

图片

当Flasher执行完一次烧录之后,会自动读取序列号文件的下一行进行烧录。

图片图片

从上述截图中我们可以看到,Flasher读取序列号文件成功烧录了我们自定义的序列号,通过该功能,可以满足更复杂的生产环境的需求。



京ICP备:京ICP备05011254号-1 版权归北京麦克泰软件技术有限公司所有
北京麦克泰软件技术有限公司