[程序源码] 分享JLINK编程器,,快速版

[复制链接]
2878|35
 楼主 | 2019-2-23 21:55 | 显示全部楼层 |阅读模式
之前分享过一个JLINK编程器软件:https://github.com/XIVN1987/JMCUProg

不过它是通过JLINK直接读写Flash控制器寄存器来实现编程的,,速度非常慢,,因此只有技术价值,,不具有实用价值

正常的JLINK编程器一般都是把一段代码下载到单片机的RAM中,然后用JLINK控制这段代码的执行、并传输程序数据给这段儿代码,,让它完成实际的Flash擦除、写入,,Keil MDK、IAR、JFlash给单片机下载程序都是使用的这种方法

实现这种编程器需要克服两个技术问题:
1、通过JLINK控制单片机执行指定函数
2、从Keil MDK的算法文件*.FLM中提取出算法代码和信息(提取现成算法可以节省大量时间,且这些算法都是MCU官方出品、质量可靠)

幸运的是这两个难题都已被国外大神解决,并把相关代码开源到github上,,我的源码中的flash.py和flash_algo.py这两个文件就是github上找到的分别解决上述两个难题的代码

由此,我实现了高速版的JLINK编程器,,下载速度和Keil MDK、IAR、JFlash一样快 ,,而且实际的烧写算法代码不需要自己写,直接从Keil MDK的烧写算法文件中提取即可,,因此,只要是Keil支持的芯片,本工具都可以简单扩展、快速支持,,而且稳定可靠

先把此工具分享给坛友,,希望大家喜欢,,

效果图:
截图.jpg

源代码:https://github.com/XIVN1987/JMCUProgFast (如果喜欢的话可以去给加个星 )

打包生成的exe免安装文件:
JMCUProgFast.part1.rar (5 MB, 下载次数: 116)

评论

千岁寒 2019-3-3 12:27 回复TA
楼主厉害了。 
xyz549040622 2019-2-24 08:24 回复TA
牛逼,支持下! 

评分

参与人数 1威望 +10 收起 理由
xyz549040622 + 10 赞一个!
 楼主 | 2019-2-26 21:21 | 显示全部楼层

使用特权

评论回复
| 2019-2-24 08:26 | 显示全部楼层
准确的说,应该是jlink编程软件。

使用特权

评论回复
 楼主 | 2019-2-24 09:25 | 显示全部楼层
xyz549040622 发表于 2019-2-24 08:26
准确的说,应该是jlink编程软件。

嗯,,版主说的是,,

不过jlink编程软件 + jlink调试器就等于jlink编程器了

使用特权

评论回复
| 2019-2-24 22:12 | 显示全部楼层
一定要支持,自力更生!!!谢谢分享下载来试用下

使用特权

评论回复
| 2019-2-25 00:04 | 显示全部楼层
好东西,先顶一下。虽然看不懂。

使用特权

评论回复
| 2019-2-25 00:25 | 显示全部楼层
顶。
分析过keil带的几个算法文件,确实是先把写flash的算法下载到ram里面,然后再写ram,执行算法。
原厂提供的算法都非常非常的简洁,整个flash烧写只有几十条汇编指令。

GCC也有flash文件。

使用特权

评论回复
| 2019-2-25 09:45 | 显示全部楼层
大牛

使用特权

评论回复
| 2019-2-25 16:40 | 显示全部楼层
支持一个

使用特权

评论回复
| 2019-2-25 17:03 | 显示全部楼层
看到了,原来解压错了文件

使用特权

评论回复
| 2019-2-26 09:22 | 显示全部楼层
嗯?需要硬件编程器支持吗?

使用特权

评论回复
 楼主 | 2019-2-26 09:40 | 显示全部楼层
6688hyc 发表于 2019-2-26 09:22
嗯?需要硬件编程器支持吗?

需要一个j-link

使用特权

评论回复
| 2019-2-26 11:52 | 显示全部楼层
jlink的刚需是nand编程, nor和片内都有jflash搞定

使用特权

评论回复
 楼主 | 2019-2-26 12:20 | 显示全部楼层
icecut 发表于 2019-2-26 11:52
jlink的刚需是nand编程, nor和片内都有jflash搞定

不管是片内的还是片外的,,只要是连到单片机上的存储器,都能使用此软件进行编程,比如它现在支持的rt1050用的就是片外qspi flash,,
难道jflash还能直接把jlink连接到存储器管脚上进心编程??

使用特权

评论回复
| 2019-2-26 12:44 | 显示全部楼层
XIVN1987 发表于 2019-2-26 12:20
不管是片内的还是片外的,,只要是连到单片机上的存储器,都能使用此软件进行编程,比如它现在支持的rt10 ...

nor和nand不是一个玩意...编程方式差距很大.....

使用特权

评论回复
 楼主 | 2019-2-26 12:48 | 显示全部楼层
icecut 发表于 2019-2-26 12:44
nor和nand不是一个玩意...编程方式差距很大.....

给存储器编程的实际上是一段儿运行在单片机上的代码,,jlink只是用来将这段儿代码下载到单片机的sram中,然后传输数据、控制单片机执行这段儿代码的流程,,所以只要是单片机能读写的存储器,,都可以用这个上位机编程

使用特权

评论回复
| 2019-2-26 14:08 | 显示全部楼层
XIVN1987 发表于 2019-2-26 12:48
给存储器编程的实际上是一段儿运行在单片机上的代码,,jlink只是用来将这段儿代码下载到单片机的sram中 ...

nor和nand用不同的代码....

使用特权

评论回复
| 2019-2-26 19:00 | 显示全部楼层
顶一个~~

使用特权

评论回复
| 2019-2-28 15:28 | 显示全部楼层
厉害了

使用特权

评论回复
| 2019-3-1 12:11 | 显示全部楼层
icecut 发表于 2019-2-26 14:08
nor和nand用不同的代码....

不同的代码就用不同的烧录算法啊

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

关闭

热门推荐上一条 /5 下一条

在线客服 快速回复 返回顶部 返回列表