你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

使用Python+JLinkARM.dll自制J-Link烧录工具,可用于量产  

[复制链接]
5265325 发布时间:2018-5-5 18:40
本帖最后由 5265325 于 2018-8-17 14:33 编辑

本工具的设计目的是为量产烧录时实现自动化烧录、一拖多烧录、同一芯片烧录多个数据、不同芯片烧录不同数据等负责的功能提供技术基础。说白了就是自己做一个能控制指定J-Link烧录指定数据的工具。工具只实现了选择J-Link序列号、选择芯片信号、选择烧录地址、选择烧录文件的一拖一烧录功能,可以自己扩展实现在一拖多、烧录序列号、烧录出厂配对数据、读取MAC地址等功能。理论上只要J-Link支持的芯片都能烧录,V8、V9和OB都支持,不过实测会有一些无法使用,例如使用外置SPI FLASH的芯片可能无法擦除或烧录。

下面只介绍本工具开发所需要的开发环境、库和原理,至于源码你们自己研究,才150多行!!!

一、工具原理
工具通过调用J-Link驱动JLinkARM.dll文件实现对指定J-Link的控制,只需要一个JLinkARM.dll文件就能控制J-Link,无须另装驱动。很多使用ARM内核的芯片厂商自家的命令行烧录工具也是使用JLinkARM.dll来烧录。本工具已经集成了JLinkARM.dll文件,版本号为V6.20d,如果需要使用其他版本的JLinkARM.dll,请确保版本号在V6.0版本以上。

二、开发环境
工具使用python语言编写,因为
python是世界上最好用的语言!
python是世界上最好用的语言!
python是世界上最好用的语言!
建议嵌入式软件工程师们也学习python,python除了生孩子,其他事都能搞定。

本工具在windows10家庭版上开发,理论上windows下都一样,linux请自行尝试。
使用python语言需要安装python,工具使用的是python3.6,其他版本请自行尝试。具体安装过程可以自行百度。
python下载:http://www.python.org/

开发环境是pycharm,一款用于python开发的IDE,社区版是免费的,安装了就能用。具体安装过程可以自行百度。
pycharm下载:http://www.jetbrains.com/pycharm/download/#section=windows

用到的pyhton库除了调用J-Link的pylink-square库和打包exe用的pyinstaller库之外,其他的都是python自带的,无须另外安装。
pylink-square库可通过以下方法安装:
1、在pycharm的Settings中搜索安装pylink-square库,目前最新版本是0.1.0,建议安装最新版。
2、命令行下输入 pip install pylink-square 安装。
3、去pylink-square的github页下载安装,网址:www.github.com/Square/pylink。上面也有库的使用方法。

pyinstaller库可通过以下方法安装:
1、在pycharm的Settings中搜索安装pylink-square库,目前最新版本是3.3.1,建议安装最新版。
2、命令行下输入 pip install pyinstaller 安装。
3、去pyinstaller的官网下载安装,网址:www.github.com/Square/pylink

、开发和打包
使用pycharm打开源码目录下的JLinkProgramTool.py文件,源码只有150多行,有界面和注释,懂python语言的相信一看就懂,所以这里就不做介绍,有问题的可以留言,我会解答。烧录时需要指定J-Link的序列号,正版J-Link每个都有不同的序列号,可以通过使用多个J-Link实现一拖多烧录。淘宝同一家店买的J-Link基本上都是同一序列号,在后面的帖子里我会教怎么修改V8和V9的序列号。

开发完成可以使用pyinstaller打包成exe,方便在产线上使用,打包方法是在工程目录下打开命令行使用
pyinstaller JLinkProgramTool.py命令打包,打包成功会在工程目录下生成disk文件夹,进入里面找到exe文件就可以打开使用了,打包后建议将JLinkARM.dll文件复制到exe同目录下。

工具截图:
TIM截图20180505184525.png

源码下载:
JLinkProgramTool.part1.rar (15 MB, 下载次数: 2056)
1 收藏 20 评论95 发布时间:2018-5-5 18:40

举报

95个回答
wm20031015 回答时间:2018-5-5 20:22:41
建议加个指定地址写入自加的序列号功能,
maxtch 回答时间:2018-5-6 12:38:04
有没有用过 J-Flash?
5265325 回答时间:2018-5-7 09:53:32
maxtch 发表于 2018-5-6 12:38
有没有用过 J-Flash?

这个工具是用来DIY扩展成产线上使用的量产工具的,如果只用来做一拖一单固件烧录,那就不需要这个工具了,直接用J-Flash
post2003 回答时间:2018-5-10 21:52:25
非常好的东西。

可以自己定制烧写工具。
Keshawn 回答时间:2018-5-15 16:08:39
额,实在是没金币啊,又特别需要....
合肥·宝 回答时间:2018-5-15 16:14:09
仰望大牛
潘川鄂 回答时间:2018-5-16 17:18:39
金币不够,我就看看。
往事尘封 回答时间:2018-5-19 20:14:34
赚一下金币,下载用。
5265325 回答时间:2018-5-24 17:35:58
Keshawn 发表于 2018-5-15 16:08
额,实在是没金币啊,又特别需要....

已经取消金币

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版