查看: 5480|回复: 16

[原创] 巧用J-Link+J-Flash给Kinesis烧写序列号

[复制链接]

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
发表于 2015-8-26 13:33:12 | 显示全部楼层 |阅读模式
原创作者:FSL_FAE_JiCheng

类似前段时间我写的两篇关于知识产权保护芯片加密的文章,这次再聊一聊产品量产时常需要考虑的另一个问题——烧写序列号。貌似最近跟“量产”杠上了,呵呵,作为产品生产周期的最后一环,需要考虑的问题很多,不着急,咱以后慢慢聊,哈哈~

    在产品批量生产的时候,很多人会有这样的需求,即将每个芯片烧写一个唯一的ID号(Serial Number),以方便对产品进行跟踪和管理或者满足对芯片进行绑定ID号加密的需要。而为了提高整个批量生产过程的效率,选择一个好的烧写工具则至关重要。对飞思卡尔的Kinetis系列来说,可用的烧写方案包括P&E官方的Cyclone MAX(支持在线烧写和脱机烧写,当然价格较贵)和J-Link(仅支持在线烧写,需要仿真器+上位机配合)等,本篇就以最近比较火的Freescale M0+ Kinetis L系列为例详细介绍一下J-Link+J-Flash批量烧写串号的方案(说到此,不得不感叹J-Link的强大,高速的下载和调试,丰富的IDE支持和调试组件和强有力的调试功能,不是土豪人家是金啊,小伙伴们都惊呆了有木有,怎一个NB了得):


开发平台:Kinetis L系列KL15Z128

烧写工具:J-Link + J-Flash(v4.76f)


(1) 这里我就不单独对J-Flash多作介绍了,可以参考我之前的一篇文章《教你用J-Flash ARM工具单独烧写程序到Kinetis》,至于包括J-Flash在内的软件包可以直接到SEGGER官网下载http://www.segger.com/jlink-software.html,建议下载最新版的,支持的芯片系列较全,相应的组件功能也更强大;


(2) 打开J-Flash(路径为Start->All Programs->SEGGER->J-Link ARM V4.76f->J-Flash),在最新版本中会直接弹出选择已有工程选项卡,根据需要在路径"安装路径\SEGGER\JLinkARM_V476f\Samples\JFlash\ProjectFiles\Freescale”下选择自己的目标芯片(我这里选择MKL15Z128xxx4.jflash,木办法,手里只有这个),选择如下图:



(3) 点击“start J-Flash”进入工程管理界面,然后点击File->Open data file,找到需要下载的bin文件或者S19文件,将其加载到jflash工程里面,加载之后的界面如下图:



(4) 万事具备,接下来就开始进行烧写序列号的设置。点击“Options->Project Settings->Production”,选中“Program Serial Number”,设置如下:



(5) 点击“OK”,设置完毕(只设置一次即可),然后连接目标芯片“Target->Connect”,连接成功,点击“Auto”,系统会自动将设置好的序列号添加到s19文件相应的地址,然后启动下载,同时也会在Jflash的工程目录(之前加载的sample prject的目录)下生成一个“<JFlashProjectName>_Serial.txt”,内容如下图,其中“12345679”为下次要写入的数据,系统自动为其加1了(由“Increment”决定):



(6) 我们回读烧写到片子中的数据(Target->Read Back->Entire chip),然后跳转到“0x2000”地址,可以看到序列号(12345678的十六进制)已经写入,如下图:



注意事项:


(1) 在烧写的时候,必须点击“Auto”下载,这样才会生成“<JFlashProjectName>_Serial.txt”文件,且会把序列号自动添加到s19文件然后烧进去,直接点击“Program”或者“Program&Verify”等烧写功能只会烧写原始S19文件,不会添加序列号;


(2) J-Flash烧写序列号最多支持4个字节,高于四个字节的数据J-Flash会将前四个字节取反再烧进去,所以实际上起作用的还是4个字节,不过单纯作为序列号的话肯定是足够了,4个字节32个比特位,IPv4的地址也就这些吧,呵呵,想不到会有什么产品会超过这个范围,那样的话Freescale超越当年的Motorola也不是问题了啊,哈哈;


(3) 关于烧写地址的问题,理论上只要在目标芯片的Code Flash地址范围内并且不与原始运行代码地址重叠即可,因为J-Flash烧写的原理是先添加数据到原始bin或者S19文件相应的位置然后整个文件一块烧写进去,所以写序列号的时候不需要额外的再擦写扇区一次也就是不会破坏同在一个扇区的原始数据,不过当然如果flash空间足够大的话不建议将序列号烧写地址挨着原始代码太近,建议将序列号写到Flash的最后,规避风险;


(4) 实际上采用J-Flash也可以烧写多余4个字节的数据,不过这需要手动添加编辑txt文件,这里就不多说了,可以参考附件中文档。


UM08003_JFlashARM.pdf (559.81 KB, 下载次数: 42)

回复

使用道具 举报

该用户从未签到

5

主题

32

帖子

0

注册会员

Rank: 2

积分
73
最后登录
2018-5-3
发表于 2015-8-26 14:04:49 | 显示全部楼层
这个好! 沙发
回复 支持 反对

使用道具 举报

  • TA的每日心情
    慵懒
    2017-4-27 10:34
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    36

    主题

    507

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1450
    最后登录
    2020-8-3
    发表于 2015-8-26 14:17:03 | 显示全部楼层
    赞一个
    哎...今天够累的,签到来了1...
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-23 21:04
  • 签到天数: 103 天

    [LV.6]常住居民II

    228

    主题

    5379

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    15313
    最后登录
    1970-1-1
    发表于 2015-8-26 14:27:47 | 显示全部楼层
    好呀,又一个技巧
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2021-3-10 19:44
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    126

    主题

    525

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2018
    最后登录
    2023-12-25
    发表于 2015-8-26 14:51:08 | 显示全部楼层
    楼主厉害啊,学习了。
    很开心
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2022-4-4 11:28
  • 签到天数: 351 天

    [LV.8]以坛为家I

    141

    主题

    8054

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    5740
    最后登录
    2022-4-4
    发表于 2015-8-26 15:25:36 来自手机 | 显示全部楼层
    学习下。
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2017-2-9 14:16
  • 签到天数: 17 天

    [LV.4]偶尔看看III

    25

    主题

    1785

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2245
    最后登录
    2024-4-12
    发表于 2015-8-26 16:39:24 | 显示全部楼层
    学习了。。。
    freescaleic.org.png
    回复

    使用道具 举报

    该用户从未签到

    145

    主题

    4926

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    9267
    最后登录
    1970-1-1
     楼主| 发表于 2015-8-26 16:58:44 | 显示全部楼层
    MDebug 发表于 2015-8-26 14:51
    楼主厉害啊,学习了。

    其实FAE版块置顶帖:
    飞思卡尔社区经验分享中文资源链接(2014.1.23更新)
    这里有,只不过链接是飞思卡尔community的,所以我转过来,也便于大家搜索。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    24

    主题

    364

    帖子

    0

    高级会员

    Rank: 4

    积分
    760
    最后登录
    2021-4-2
    发表于 2015-9-2 17:52:36 | 显示全部楼层
    不错的技术介绍
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-8-30 16:02
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    36

    主题

    1065

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1851
    最后登录
    2019-11-19
    发表于 2015-9-2 21:55:01 | 显示全部楼层
    牛逼, 顶一个
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-5-2 14:53 , Processed in 0.138920 second(s), 28 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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