在产品的批量生产过程中,通常需要给每一个产品赋予一个单独的序列号,并将该序列号写入MCU的某个特定地址中。序列号在产品售后服务、版权控制以及远程更新等操作中都将发挥重要作用。本文将介绍如何使用J-Flash来进行序列号编程。注意J-Flash需要在Segger J-Link Plus/J-Link Trace/J-Link Pro以及Flasher等系列产品上才可用。 首先我们需要创建一个J-Flash工程,J-Flash工程的创建步骤请参考之前推送的“如何使用J-Flash软件烧录程序”文章内的介绍。
在创建好J-Flash工程后,打开工程设置选项:
在选项设置界面我们可以看到当前MCU的Flash区块的起始地址和范围。
我们可以从中选取一个合适的地址用于存储产品序列号。 在设置页面的Production选项中,勾选Program serial number开启序列号烧录功能。
在该选项下,拥有4个参数需要进行设置。 Address:指定用于存储序列号的地址。 Length:J-Flash默认支持1到4字节大小的序列号。 Next SN:烧录动作开始时烧录的序列号的值。设定为1表示第一个序列号为1。 Increment:指定下一次烧录动作时序列号增长的数值,设定为1表示序列号以1递增。 设定完成后,选择Production Programming选项执行烧录,将自动完成擦除、下载和校验动作。
烧录完成后,我们可以读取Flash内存中的数据来校验烧录是否成功。 选择Manual Programming下的Read back选项,读取所有的Flash数据。
在读取到的Flash数据中,跳转至最开始设定的用于存储序列号的地址,可以验证序列号是否烧录成功。
再次执行烧录动作,并读取回Flash数据,可以发现第二次烧录的序列号按照设定的递增规则变为了2,说明序列号烧录成功。
|