H7-TOOL汇总帖:https://www.cnblogs.com/armfly/p/12283459.html

当前已经对STM32F030,STM32F103,STM32F429,STM32F746进行了完美适配。

其它STM32型号的支持,大家可以看操作说明,做适配。

后续会对市场上的其它厂家嵌入式芯片做支持,甚至RISC-V内核。

大家在使用中,有什么建议,欢迎反馈。

脱机烧录视频视频效果展示:
http://v.qq.com/x/page/p30628h2ou7.html

V1.08版APP程序:

h7_tool_app(V1.08).bin

H7-TOOL_STM32H7_App-master(V1.08).zip

上位机升级至V.02:

H7-TOOL PC机软件(V0.2).zip

H7-TOOL PC软件源代码(V0.2 2020-02-07).zip

eMMC中要存储的文件:

H7-TOOL eMMC磁盘文件(V1.08).zip

【脱机烧录功能介绍】
1、通过文件浏览方式选择程序文件。不限制目录和文件个数。
2、FLM算法文件从KEIL MDK中复制出来,存放到emmc磁盘 \H7-TOOL\Programmer\FLM,按厂商分类。
3、目标程序文件、编程脚本存放到:\H7-TOOL\Programmer\User 文件夹。不限制目录级别和数量 。
4、动态解析FLM文件,分离出内存镜像通过swd加载到目标cpu ram。
5、支持多段bin写入。
6、支持option bytes编程,烧录完毕设置读保护。
7、支持自动解除读保护。
8、支持动态填充产品序号、UID加密字段、用户自定义字段。
9、自动保存烧录次数,支持剩余次数限制功能。
10、支持连续烧录模式,检测到IC后自动烧录。
11、可动态显示CPU电压和供电电流。
12、通过lua脚本配置算法文件和数据文件(bin)以及控制编程过程。
13、lua非常灵活,可以很方便扩充功能,比如:
(1)日期窗口段内才允许烧录。
(2)目标板电流超限报警。
(3)限定UID(CPU唯一序号)符合规则的才允许烧录。
(4)UID加密算法由用户自己定义。
(5)填充任意短数据(小于1K),比如可以写入生产日期时间或客户代码。
(6)关于程序文件保密问题,后期再考虑吧,因为H7-TOOL软件开源,文件结构开源,为了避免程序文件被加工厂泄露, 初步设想如下:
       a、控制USB虚拟磁盘程序入口,增加人工输入密码。
       b、在虚拟磁盘扇区读写底层函数,以512字节为单位增加客户自定义加密和解密算法。这样emmc数据内容就是被加密的,即使emmc芯片被复制出来放到其他H7-TOOL主板也无法识别。


【使用说明】
硬件连接:
1、SWD烧录接口:TVCC GND D8 D6 D4
2、用5P杜邦线连接到目标板。
3、目标板可以由H7-TOOL的TVCC引脚供电。
4、5P连接线的长度建议小于20CM。
 

进入和选择文件的步骤:
1、联机模式下长按S,弹出“扩展功能”菜单
2、选择"1.脱机烧录器",长按S确定,进入脱机烧录器界面
3、按S键切换到"选择文件",长按S进入文件浏览器界面
4、选择对应的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盘没有识别出来看此贴二楼:
http://www.armbbs.cn/forum.php?mod=viewthread&tid=96090

2、将压缩包解压出来后,全部复制到eMMC里面。

【lua文件说明】
1、找一个lua文件做模板,复制一份更换目录或名字,当前提供了以下几个模板:

2、用记事本打开lua文件进行编辑。
3、几个关键参数如下,需要指定算法文件和程序文件。
(1)算法文件基准目录 0:/H7-TOOL/Programmer/FLM
        AlgoFile_FLASH = "ST/STM32F10x/STM32F10x_512.FLM"
        AlgoFile_OPT   = "ST/STM32F10x/STM32F10x_OPT.FLM"

(2)bin文件名和目标FLASH地址。
         DataFile_0 = "../TestBin/512K.bin"
         FlashAddr_0 = 0x08000000

(3)基准目录 0:/H7-TOOL/Programmer/User,和lua文件同目录.支持../上级目录

4、更高级的设置,可以继续浏览lua文件,有C语言基础即可看懂,部分截图:

举例说明:
比如烧写一个bin文件output.bin到我们STM32-V6开发板
1、可以使用文件STM32F429BI_512K.lua做模板,仅需修理里面的bin文件名和目标Flash地址
DataFile_0 = "../TestBin/output.bin"
FlashAddr_0 = 0x08000000

2、将output.bin文件放到TestBin文件夹里面:

3、H7-TOOL进入套机烧录后,选择STM32F429BI_512K.lua文件:

4、点击开始烧录:

5、烧录过程分擦除,编程和校验:

部分LUA脚本文件截图,主要是熟悉下参数配置即可:

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

H7-TOOL脱机烧录器功能开源发布的更多相关文章

  1. .NET平台下的微信SDK(Rabbit.WeiXin)开源发布

    在上一篇文章<RabbitHub开源情况及计划>上有提及到了一个新的开源项目——微信SDK,经过几天的努力现在开源发布Beta1版本. 目录 前言 特点 功能 支持的消息类型 请求消息 事 ...

  2. AEAI BPM流程集成平台V3.0.2版本开源发布

    本次开源发布的是AEAI BPMV3.0.2版流程平台,该版本是数通畅联首次正式对外发布的版本,产品现已开源并上传至开源社区http://www.oschina.net/p/aeai-bpm. 产品说 ...

  3. 自定义进度条PictureProgressBar——从开发到开源发布全过程

    自定义进度条PictureProgressBar——从开发到开源发布全过程 出处: 炎之铠邮箱:yanzhikai_yjk@qq.com 本文原创,转载请注明本出处! 本项目JCenter地址:htt ...

  4. SharePoint2013 显示网站菜单中设计管理器功能

    当部署完SharePoint2013后,并创建了对应的网站集,就开始试图去按照企业VI(Visual Identity)来定制站点的布局.色彩.字体等等的页面元素.可是,在站点的设置菜单中,默认没有“ ...

  5. Restful.Data v1.0 - 轻量级数据持久层组件, 正式开源发布了

    经过几个星期的优化调整,今天 Restful.Data 正式开源发布. 源码地址:https://github.com/linli8/Restful 今天不写那么多废话了,还是重新介绍一下 Restf ...

  6. AEAI EM费用管理系统V1.0.2版本开源发布

    本次开源发布是AEAI EM费用管理系统 V1.0.2版,该版本是此产品的首个版本,产品现已开源并上传至开源社区http://www.oschina.net/p/aeai-em. 产品说明: AEAI ...

  7. GJM : Taurus.MVC 2.0 开源发布:WebAPI开发教程 [转载]

    Taurus.MVC 2.0 开源发布:WebAPI开发教程 转载自http://www.cnblogs.com/cyq1162/p/6069020.html 因是新手  粘贴时有一个版权问题 本文原 ...

  8. 芯片烧录器编程AT24C02

    网上买了两款芯片烧录器,因为项目用的到.芯片以后的类型可能是IIC 接口的.就选则了一个IIC接口的AT24C02EEPROM.进行尝试.手头上没有这款芯片. 就想起自己单片机上有这款芯片.然后就开始 ...

  9. Landpy.ActiveDirecoty,按照Active Record Pattern设计的方便Lib开源发布

    想方便的操作AD吗,不想记住那么多AD Attribute名称和常量?请使用Landpy.ActiveDirecoty库,按照Active Record Pattern设计的AD Lib已经在Code ...

随机推荐

  1. MinGW x64 for Windows安装

    1. 百度搜索MinGW gcc 或直接登录 MinGW gcc官网 http://www.mingw.org/ 2.选择左侧download链接,进入下载页面 3.下载安装包mingw-get-se ...

  2. javaweb使用button的onclick属性访问servlet

    1.定义一个servlet: 如我定义了一个名称为Choose_class.java的servlet 2.定义一个button <input type="button"  v ...

  3. 从零构建以太坊(Ethereum)智能合约到项目实战——第23章 从零构建和部署去中心化投票App,decentralization Voting Dapp

    P90 .1-从零构建和部署去中心化投票App-01 P91 .2-从零构建和部署去中心化投票App-02 P92 .3-从零构建和部署去中心化投票App-03 参考博文:http://liyuech ...

  4. 阿里云服务器Ubantu16.04升级python3.6

    从ppa上下载下载python3.6 sudo apt-get install software-properties-common#使用 “add-apt-repository” 脚本添加 ppa ...

  5. Manacher 算法学习笔记

    算法用处: 解决最长回文子串的问题(朴素型). 算法复杂度 我们不妨先看看其他暴力解法的复杂度: \(O(n^3)\) 枚举子串的左右边界,然后再暴力判断是否回文,对答案取 \(max\) . \(O ...

  6. Django 学习之From组件

    一.Form组件介绍 Form组件可以做的几件事情: 1.用户请求数据验证 2.自动生成错误信息 3.打包用户提交的正确信息 4.如果其中有一个错误了,其他的正确这,保留上次输入的内容 4.自动创建i ...

  7. Node.js之EventEmiter

    参考: 1. Node.js之EventEmiter讲解 2. Node.js之events事件 3. 在线运行node.js代码 Node.js主要API使用异步事件驱动模型,异步I/O操作完成时, ...

  8. ubuntu14 安装git

    1.安装git Step1 测试git是否安装,终端输入 $ git 没有安装时,不会识别git命令:

  9. Windows下ARP协议的工作原理简介

       ARP协议(Address Resolve Protocol,地址解析协议)工作在TCP/IP协议的第二层-数据链路层,用于将IP地址转换为网络接口的硬件地址(媒体访问控制地址,即MAC地址). ...

  10. Numpy 广播(Broadcast)

    广播(Broadcast)是 numpy 对不同形状(shape)的数组进行数值计算的方式,对数组的算术运算通常在相应的元素上进行. 如果两个数组 a 和 b 形状相同,即满足a.shape == b ...