如何使用J-Flash进行序列号编程?

浏览:984来源:本站时间:2021-02-03

在产品的批量生产过程中,通常需要给每一个产品赋予一个单独的序列号,并将该序列号写入MCU的某个特定地址中。序列号在产品售后服务、版权控制以及远程更新等操作中都将发挥重要作用。本文将介绍如何使用J-Flash来进行序列号编程。注意J-Flash需要在Segger J-Link Plus/J-Link Trace/J-Link Pro以及Flasher等系列产品上才可用。

首先我们需要创建一个J-Flash工程,J-Flash工程的创建步骤请参考之前推送的“如何使用J-Flash软件烧录程序”文章内的介绍。微信文章链接:https://mp.weixin.qq.com/s/Viinvq3JXMxmr1h7yPHHLA


在创建好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,说明序列号烧录成功。



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