打印
[程序源码]

分享JLINK编程器,,快速版

[复制链接]
7497|38
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
之前分享过一个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支持的芯片,本工具都可以简单扩展、快速支持,,而且稳定可靠

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

效果图:


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

打包生成的exe免安装文件:
JMCUProgFast.part1.rar (5 MB)
JMCUProgFast.part2.rar (5 MB)
JMCUProgFast.part3.rar (1.56 MB)


评论
千岁寒 2019-3-3 12:27 回复TA
楼主厉害了。 
xyz549040622 2019-2-24 08:24 回复TA
牛逼,支持下! 
评分
参与人数 2威望 +12 收起 理由
feiguozhu + 2 很给力!
xyz549040622 + 10 赞一个!

相关帖子

来自 2楼
XIVN1987|  楼主 | 2019-2-26 21:21 | 只看该作者

使用特权

评论回复
板凳
xyz549040622| | 2019-2-24 08:26 | 只看该作者
准确的说,应该是jlink编程软件。

使用特权

评论回复
地板
XIVN1987|  楼主 | 2019-2-24 09:25 | 只看该作者
xyz549040622 发表于 2019-2-24 08:26
准确的说,应该是jlink编程软件。

嗯,,版主说的是,,

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

使用特权

评论回复
5
wdliming| | 2019-2-24 22:12 | 只看该作者
一定要支持,自力更生!!!谢谢分享下载来试用下

使用特权

评论回复
6
LEDS| | 2019-2-25 00:04 | 只看该作者
好东西,先顶一下。虽然看不懂。

使用特权

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

GCC也有flash文件。

使用特权

评论回复
8
gyh974| | 2019-2-25 09:45 | 只看该作者
大牛

使用特权

评论回复
9
Li-ion| | 2019-2-25 16:40 | 只看该作者
支持一个

使用特权

评论回复
10
ysf| | 2019-2-25 17:03 | 只看该作者
看到了,原来解压错了文件

使用特权

评论回复
11
6688hyc| | 2019-2-26 09:22 | 只看该作者
嗯?需要硬件编程器支持吗?

使用特权

评论回复
12
XIVN1987|  楼主 | 2019-2-26 09:40 | 只看该作者
6688hyc 发表于 2019-2-26 09:22
嗯?需要硬件编程器支持吗?

需要一个j-link

使用特权

评论回复
13
icecut| | 2019-2-26 11:52 | 只看该作者
jlink的刚需是nand编程, nor和片内都有jflash搞定

使用特权

评论回复
14
XIVN1987|  楼主 | 2019-2-26 12:20 | 只看该作者
icecut 发表于 2019-2-26 11:52
jlink的刚需是nand编程, nor和片内都有jflash搞定

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

使用特权

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

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

使用特权

评论回复
16
XIVN1987|  楼主 | 2019-2-26 12:48 | 只看该作者
icecut 发表于 2019-2-26 12:44
nor和nand不是一个玩意...编程方式差距很大.....

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

使用特权

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

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

使用特权

评论回复
18
weijinke| | 2019-2-26 19:00 | 只看该作者
顶一个~~

使用特权

评论回复
19
740071911| | 2019-2-28 15:28 | 只看该作者
厉害了

使用特权

评论回复
20
zwmasdf| | 2019-3-1 12:11 | 只看该作者
icecut 发表于 2019-2-26 14:08
nor和nand用不同的代码....

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

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

49

主题

334

帖子

18

粉丝