搜索
查看: 857|回复: 0

[原创] 如何使用J-Flash进行序列号编程?

[复制链接]

该用户从未签到

39

主题

173

帖子

2

蝴蝶豆

金牌会员

最后登录
2021-3-29
发表于 2021-1-29 15:33:43 | 显示全部楼层 |阅读模式
在产品的批量生产过程中,通常需要给每一个产品赋予一个单独的序列号,并将该序列号写入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工程后,打开工程设置选项:
1.png
在选项设置界面我们可以看到当前MCU的Flash区块的起始地址和范围。
2.png
我们可以从中选取一个合适的地址用于存储产品序列号。
在设置页面的Production选项中,勾选Program serial number开启序列号烧录功能。
3.png
在该选项下,拥有4个参数需要进行设置。
Address:指定用于存储序列号的地址。
Length:J-Flash默认支持1到4字节大小的序列号。
Next SN:烧录动作开始时烧录的序列号的值。设定为1表示第一个序列号为1。
Increment:指定下一次烧录动作时序列号增长的数值,设定为1表示序列号以1递增。
设定完成后,选择Production Programming选项执行烧录,将自动完成擦除、下载和校验动作。
4.png
烧录完成后,我们可以读取Flash内存中的数据来校验烧录是否成功。
选择Manual Programming下的Read back选项,读取所有的Flash数据。
5.png
在读取到的Flash数据中,跳转至最开始设定的用于存储序列号的地址,可以验证序列号是否烧录成功。
6.png
再次执行烧录动作,并读取回Flash数据,可以发现第二次烧录的序列号按照设定的递增规则变为了2,说明序列号烧录成功。
7.png
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|论坛-意法半导体STM32/STM8技术社区

GMT+8, 2024-4-20 21:16 , Processed in 0.218933 second(s), 32 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表