当前位置: 首页 > news >正文

H7-TOOL混合脱机烧录以及1拖4不同的通道烧录不同的程序操作说明(2024-08-07)

【应用场景】

原本TOOL的1拖4是用于同时烧录相同程序给目标板,但有时候一个板子上有多个不同的MCU,

客户希望仅通过一个TOOL就可以完成对板子上多个MCU的烧录,也就是1拖4不同的通道烧录不同的程序,此贴为此制作。
 

【实验目标】

由于这个属于定制需求,需要简单修下目标文件,后面升级也将做到TOOL的一键生成按钮中。

我们本次的实验通过1拖4转接板,依次接STM32F070,AT32F435,CH32F203,SAMD21。
 

【操作步骤】

1、先单路,不使用转接板,接目标进行测试,主要是方便验证制作的文件是否有问题,推荐这里单独在User文件夹下新建个文件,方便管理。

2、依次生成STM32F070,AT32F435,CH32F203,SAMD21的工程配置到TOOL里面。

注意加载的固件名要不同,输出文件名也要不同:

3、修改4个lua配置文件

操作TOOL进入eMMC磁盘

进入路径:

(1)4个LUA文件,AT32F435.lua,CH32F203.lua,SAMD21.lua,STM32F070.lua,后缀全部修改为 .luax ,目的是脱机浏览时会隐藏
(2)4个LUA文件,AT32F435.luax,CH32F203.luax,SAMD21.luax,STM32F070.luax都打开,将其中3行代码注释掉(dofile),并保存,两个横杠就是注释掉,或者干脆删掉也可以的。操作完毕后记得保存
       --dofile("0:/H7-TOOL/Programmer/LuaLib/fix_data.lua")
       --dofile("0:/H7-TOOL/Programmer/LuaLib/prog_lib.lua")
       --dofile("0:/H7-TOOL/Programmer/LuaLib/machine_if.lua")

(3)操作完毕后,在eMMC磁盘的这个文件夹下创建两个文件,一个1拖4顺序烧录不同文件.lua,一个1拖4顺序烧录不同文件.ini

一个1拖4顺序烧录不同文件.lua的内容如下:

特别注意,我们这里编辑的顺序是AT32F435, CH32F203, SAMD21, STM32F070,大家在1拖4转接板上的器件顺序也应该是这个:

--以下快捷方式将显示在PC软件界面---------------下面的注释将显示在H7-TOOL液晶屏
Note01 = "AT32F435, CH32F203, SAMD21, STM32F070"TVCC_VOLT = 3.3--UID加密和产品序号处理文件
dofile("0:/H7-TOOL/Programmer/LuaLib/fix_data.lua")--公共lua子程序
dofile("0:/H7-TOOL/Programmer/LuaLib/prog_lib.lua")--烧录机台接口程序
dofile("0:/H7-TOOL/Programmer/LuaLib/machine_if.lua")function start_prog(board_type, ch_num)local repg_write_c_var("MultiProgMode", 1)       -- 1拖4转接板,烧录其中1路pg_write_c_var("MultiProgSwitchPin", 0)  -- 烧录第1路pg_write_c_var("MulSwdActive", 1) dofile(f_getdir("proglua").."/AT32F435.luax")re = start_prog_0(board_type, ch_num, 1)         --烧录第1个芯片,统计次数if (re ~= "OK") thenreturn reendpg_write_c_var("MultiProgSwitchPin", 1)  -- 烧录第2路pg_write_c_var("MulSwdActive", 1) dofile(f_getdir("proglua").."/CH32F203.luax")re = start_prog_0(board_type, ch_num, 0)         --成功后烧录第2个芯片,不统计次数if (re ~= "OK") thenreturn reendpg_write_c_var("MultiProgSwitchPin", 2)  -- 烧录第3路pg_write_c_var("MulSwdActive", 1) dofile(f_getdir("proglua").."/SAMD21.luax")re = start_prog_0(board_type, ch_num, 0)         --成功后烧录第3个芯片,不统计次数if (re ~= "OK") thenreturn reendpg_write_c_var("MultiProgSwitchPin", 3)  -- 烧录第4路pg_write_c_var("MulSwdActive", 1) dofile(f_getdir("proglua").."/STM32F070.luax")re = start_prog_0(board_type, ch_num, 0)         --成功后烧录第4个芯片,不统计次数return re
end

一个1拖4顺序烧录不同文件.ini的内容如下:

Locked = 0
ProgramLimit = 0
ProgrammedCount = 1
ProductSN = 0

将这两个文件保存到eMMC此路径后,退出eMMC磁盘


(4)TOOL重新上电,操作显示屏,注意选项1拖第1路

选择我们创建的这个文件一个1拖4顺序烧录不同文件.lua,然后就可以操作TOOL的实体按键执行脱机烧录

4路全部烧录成功


【完整配置,方便参考】

分享下Multi文件夹完整文件,方便大家参考

Multi.7z (14.17KB)

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 江协科技STM32学习笔记(第10章 SPI通信)
  • Redis主从哨兵模式
  • Web开发中的Cookie、Session与Token:一场身份认证之旅
  • 日期类代码实现-C++
  • windows关闭英语美式键盘
  • conda配置国内源
  • Python | Leetcode Python题解之第334题递增的三元子序列
  • c语言中比较特殊的输入函数
  • 基于Mediepipe的手势识别系统 | OpenCV | Mediapipe | C++ | QT | Python | C# | Unity
  • Doris与StarRocks
  • linux网络配置脚本
  • 《机器学习by周志华》学习笔记-决策树-04多变量决策树
  • 【重学c++primer】第五章第二节 深入浅出:左值和右值
  • LabVIEW VI 多语言动态加载与运行的实现
  • Cesium天空盒子(Skybox)制作(js代码)和显示
  • @jsonView过滤属性
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • 【402天】跃迁之路——程序员高效学习方法论探索系列(实验阶段159-2018.03.14)...
  • Git同步原始仓库到Fork仓库中
  • JavaScript DOM 10 - 滚动
  • java中的hashCode
  • SSH 免密登录
  • Swoft 源码剖析 - 代码自动更新机制
  • 体验javascript之美-第五课 匿名函数自执行和闭包是一回事儿吗?
  • 《码出高效》学习笔记与书中错误记录
  • 回归生活:清理微信公众号
  • 如何在 Intellij IDEA 更高效地将应用部署到容器服务 Kubernetes ...
  • 曜石科技宣布获得千万级天使轮投资,全方面布局电竞产业链 ...
  • ‌JavaScript 数据类型转换
  • #Z0458. 树的中心2
  • (2024.6.23)最新版MAVEN的安装和配置教程(超详细)
  • (35)远程识别(又称无人机识别)(二)
  • (PADS学习)第二章:原理图绘制 第一部分
  • (Redis使用系列) Springboot 整合Redisson 实现分布式锁 七
  • (vue)el-tabs选中最后一项后更新数据后无法展开
  • (不用互三)AI绘画工具应该如何选择
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (二)WCF的Binding模型
  • (三)Pytorch快速搭建卷积神经网络模型实现手写数字识别(代码+详细注解)
  • (三)SvelteKit教程:layout 文件
  • (算法)硬币问题
  • (五) 一起学 Unix 环境高级编程 (APUE) 之 进程环境
  • (一)python发送HTTP 请求的两种方式(get和post )
  • (一)springboot2.7.6集成activit5.23.0之集成引擎
  • (一)基于IDEA的JAVA基础10
  • (转)linux自定义开机启动服务和chkconfig使用方法
  • .halo勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET 8 编写 LiteDB vs SQLite 数据库 CRUD 接口性能测试(准备篇)
  • .NET 中各种混淆(Obfuscation)的含义、原理、实际效果和不同级别的差异(使用 SmartAssembly)
  • .net 桌面开发 运行一阵子就自动关闭_聊城旋转门家用价格大约是多少,全自动旋转门,期待合作...
  • .NET/C# 阻止屏幕关闭,阻止系统进入睡眠状态
  • .xml 下拉列表_RecyclerView嵌套recyclerview实现二级下拉列表,包含自定义IOS对话框...
  • @Transactional注解下,循环取序列的值,但得到的值都相同的问题
  • [Android]Android开发入门之HelloWorld
  • [AndroidStudio]_[初级]_[修改虚拟设备镜像文件的存放位置]