vlambda博客
学习文章列表

H7-TOOL开发工具史上超重大更新,1拖4脱机烧录全球开源发布

    自此,H7-TOOL的脱机烧录功能已经是真正意义上的产品级。感谢兄弟姐妹们一直以来的支持。

    大家在使用中,有什么建议,欢迎反馈,争取做得更强大。

H7-TOOL开发工具史上超重大更新,1拖4脱机烧录全球开源发布

1拖4脱机烧录效果展示:

H7-TOOL开发工具史上超重大更新,1拖4脱机烧录全球开源发布
V1.20版APP程序:

H7-TOOL开发工具史上超重大更新,1拖4脱机烧录全球开源发布h7_tool_app(V1.20).zip 
H7-TOOL开发工具史上超重大更新,1拖4脱机烧录全球开源发布H7-TOOL_STM32H7_App-master(V1.20).zip 

上位机升级至V0.4:

H7-TOOL开发工具史上超重大更新,1拖4脱机烧录全球开源发布H7-TOOL PC机软件(V0.4).zip 
H7-TOOL开发工具史上超重大更新,1拖4脱机烧录全球开源发布H7-TOOL PC软件源代码(V0.4).zip


eMMC中要存储的文件:

H7-TOOL开发工具史上超重大更新,1拖4脱机烧录全球开源发布 H7-TOOL eMMC磁盘文件.zip 

H7-TOOL开发工具史上超重大更新,1拖4脱机烧录全球开源发布

脱机编程器单路和四路的效率比较,效率极高

测试烧录 H7-TOOL的固件:

boot(46KB) + APP(685KB)+ QSPI Flash(2MB字库)
情况1:

CPU Flash和QSPI Flash内已有数据,烧录boot(46KB) + APP(685KB)+ QSPI Flash(2MB字库)
单路 :21.3秒
四路 :25.9秒 (等效 每个6.5秒)
情况2:

CPU Flash和QSPI Flash均为全FF状态,烧录boot(46KB) + APP(685KB)
单路 :3.757秒
四路 :5.01秒 (等效 每个1.25秒)
H7-TOOL开发工具史上超重大更新,1拖4脱机烧录全球开源发布
【支持型号】

1、MM32:
MM32F003,  MM32F031,  MM32F032,  

MM32F103,  MM32L0xx,  MM32L3xx, 

MM32SPIN0x,  MM32SPIN2x, 

 MM32W0xxB,  MM32W3xxB

2、STM32:
STM32F0xx,  STM32F10x,  STM32F2xx

STM32F3xx, STM32F4xx,  STM32F7xx

STM32H7x,  STM32L0xx,  STM32L1xx

STM32L4xx,  STM32G0xx,  STM32G4xx

3、STM8:
STM8L151x6, STM8S003x3,STM8S105x6,STM8S208x8
H7-TOOL开发工具史上超重大更新,1拖4脱机烧录全球开源发布
【脱机烧录功能介绍】
1、支持脱机烧录STM32。
2、支持灵动微MM32。
3、支持脱机烧录STM8芯片。
4、支持外置QSPI Flash烧录。
5、支持1拖4脱机烧录。
6、支持组合烧录,比如一键烧写H7-TOOL的boot、app和QSPI Flash。
7、支持读、写保护状态识别,自动解除保护状态。
8、支持多段bin写入。
9、支持选择软件复位和硬件复位。
10、支持option bytes编程,烧录完毕设置读保护。
11、支持自动识别硬件烧录不同的程序(识别算法由lua指定)。
12、FLM算法文件从KEIL MDK中复制出来,存放到emmc磁盘 \H7-TOOL\Programmer\FLM,按厂商分类。
13、目标程序文件、编程脚本存放到:\H7-TOOL\Programmer\User 文件夹。不限制目录级别和数量 。
14、动态解析FLM文件,分离出内存镜像通过swd加载到目标cpu ram。
15、FLM算法文件和数据文件支持绝对路径和相对路径。
16、支持动态填充产品序号、UID加密字段、用户自定义字段。
17、自动保存烧录次数,支持剩余次数限制功能。
18、支持连续烧录模式,检测到IC后自动烧录。
19、可动态显示CPU电压和供电电流。
20、通过lua脚本配置算法文件和数据文件(bin)以及控制编程过程。
21、烧录时LED快闪,烧录成功候常亮,烧录失败后熄灭
22、烧录界面增加清零本次计数、清零累计计数功能。
23、支持PC机联机调试lua程序
- 打印内核ID、flash内容、RAM内容、UID、Option bytes。
- 修改和显示目标CPU的RAM和任意寄存器。
- 擦除CPU内部Flash、EEPROM。
- 加读保护、解除保护。
- 启动编程。
24、lua非常灵活,可以很方便扩充功能,比如:
(1)日期窗口段内才允许烧录。
(2)目标板电流超限报警。
(3)限定UID(CPU唯一序号)符合规则的才允许烧录。
(4)UID加密算法由用户自己定义。
(5)填充任意短数据(小于1K),比如可以写入生产日期时间或客户代码。
H7-TOOL开发工具史上超重大更新,1拖4脱机烧录全球开源发布
【使用说明】

硬件连接:
1、SWD烧录接口:

TVCC GND D8(SWDIO) D6(SWCLK) D4(RESET)。

SWIM烧录接口:

TVCC GND D9(SWIM) D5(RESET)。
2、用5P杜邦线连接到目标板。
3、目标板可以由H7-TOOL的TVCC引脚供电。
4、5P连接线的长度建议小于20CM。
5、实测脱机烧录器,实测线束能到80CM长度(并非所有MCU)。
H7-TOOL开发工具史上超重大更新,1拖4脱机烧录全球开源发布
1拖4脱机烧录接线:
- 配合H7-TOOL主机实现四路同步烧录SWD接口ARM芯片
- 软件可配置1路 1-2路 1-3路 1-4路四种模式
- 4路同步烧录,提高量产效率
- 4路TVCC电压可调节 1.26V-5.0V
- 每路最大电流250mA  (目标超过此电流时,目标板自行供电)
- 赠送4套20CM硅胶优质杜邦线
- 配套5P杜邦壳和4P杜邦壳,可自行调整线序
- 提供加长双塑排针,应对主板烧录口未焊接插座只有排针孔的情况
- 支持不带硬件复位口线烧录
效果:

H7-TOOL开发工具史上超重大更新,1拖4脱机烧录全球开源发布
H7-TOOL开发工具史上超重大更新,1拖4脱机烧录全球开源发布
H7-TOOL开发工具史上超重大更新,1拖4脱机烧录全球开源发布
H7-TOOL开发工具史上超重大更新,1拖4脱机烧录全球开源发布

进入和选择文件的步骤:
1、联机模式下长按S,弹出“扩展功能”菜单
2、选择"1.脱机烧录器(单路)",长按S确定,进入脱机烧录器单路界面
3、选择"2.脱机烧录器(多路)",长按S确定,进入脱机烧录器多路界面
4、按S键切换到"选择文件",长按S进入文件浏览器界面
5、选择对应的lua文件,长按S确定

按键功能:
1、按S键切换到“开始烧录”按钮
2、短按C键开始烧录
3、长按S键进入连续烧录模式(检测到芯片自动烧录)
4、长按C键可终止烧录

【修改lua文件】
1、联机模式下长按S进入扩展功能 -> 系统设置 -> USB eMMC磁盘
2、等待10秒左右电脑上可以看到 eMMC磁盘
3、用电脑的文件浏览器操作eMMC磁盘内容
4、两个关键目录:

H7-TOOL\Programmer\FLM  存放烧录的算法文件

H7-TOOL\Programmer\User 存放用户的lua文件、bin文件

注意事项:
1、如果eMMC模拟U盘没有识别出来看论坛相应帖子。
2、将压缩包解压出来后,全部复制到eMMC里面。

H7-TOOL开发工具史上超重大更新,1拖4脱机烧录全球开源发布

【lua文件说明】
1、下面每个LUA文件都是一个完整的产品系列:
H7-TOOL开发工具史上超重大更新,1拖4脱机烧录全球开源发布
H7-TOOL开发工具史上超重大更新,1拖4脱机烧录全球开源发布
H7-TOOL开发工具史上超重大更新,1拖4脱机烧录全球开源发布
以STM32F407xG.lua为例,已经对STM32F4全系列进行了支持: H7-TOOL开发工具史上超重大更新,1拖4脱机烧录全球开源发布
2、用记事本打开lua文件进行编辑。
3、选择具体芯片系列,比如选择STM32F407IGT6,那么就可以使用STM32F407xG.lua文件,选择

dofile("0:/H7-TOOL/Programmer/Device/ST/STM32F4xx/STM32F40xxx_41xxx_1024.lua")

4、选择要下载的固件和程序位置。

--编程任务列表,可以任意追加--算法文件名和数据文件名支持绝对路径和相对路径,相对路径时和lua文件同目录,支持../上级目录 TaskList = { AlgoFile_FLASH, --算法文件 "0:/H7-TOOL/Firmware/H7-BOOT.bin", --数据文件 0x08000000, --目标地址  AlgoFile_FLASH, --算法文件 "0:/H7-TOOL/Firmware/h7_tool_app.bin", --数据文件 0x08020000, --目标地址
AlgoFile_QSPI, --算法文件 "0:/H7-TOOL/Fonts/GB2312ZK.bin", --数据文件 0x90000000, --目标地址 }

5、更高级的设置,可以继续浏览lua文件,简单易看懂,一目了然。

【举例说明】
比如烧写一个bin文件output.bin到我们STM32-V6开发板STM32F429BIT61、选择型号

dofile("0:/H7-TOOL/Programmer/Device/ST/STM32F4xx/STM32F42xxx_43xxx_2048.lua")
 TaskList = { AlgoFile_FLASH, "0:/H7-TOOL/Programmer/User/TestBin/output.bin", --数据文件                0x08000000,                                         --目标地址 }

3、将output.bin文件放到TestBin文件夹里面:
H7-TOOL开发工具史上超重大更新,1拖4脱机烧录全球开源发布
4、H7-TOOL进入脱机烧录(单路)后,选择STM32F429xI.lua文件:
H7-TOOL开发工具史上超重大更新,1拖4脱机烧录全球开源发布
5、点击开始烧录:
H7-TOOL开发工具史上超重大更新,1拖4脱机烧录全球开源发布
6、烧录过程分擦除,编程和校验:
H7-TOOL开发工具史上超重大更新,1拖4脱机烧录全球开源发布
LUA脚本文件截图,功能一目了然:
H7-TOOL开发工具史上超重大更新,1拖4脱机烧录全球开源发布
【支持PC机联机调试lua程序】
- 打印内核ID、flash内容、RAM内容、UID、Option bytes
- 修改和显示目标CPU的RAM和任意寄存器
- 擦除CPU内部Flash、EEPROM
- 加读保护、解除保护
- 启动编程


【和lua同名的ini文件说明】
文件内容如下,可以记事本编辑
Locked = 0                       --1表示锁死
ProgramLimit = 0             --烧录次数控制,0表示不限制, >0 表示限制的次数
ProgrammedCount = 43  --已经烧录的次数
ProductSN = 0                  --产品序号滚码
LastTotalTime = 0             --暂时未用
LastEraseChipTime = 22  --全片擦除时间(ms),程序自动记录

【四款芯片混合烧录效果】

源代码点击末尾阅读原文下载。