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转接板上的器件顺序也应该是这个:

cs 复制代码
--以下快捷方式将显示在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 re
         
        pg_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") then
                return re
        end
         
        pg_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") then
                return re
        end
 
        pg_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") then
                return re
        end
 
        pg_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的内容如下:

cs 复制代码
Locked = 0
ProgramLimit = 0
ProgrammedCount = 1
ProductSN = 0

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

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

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

4路全部烧录成功

【完整配置,方便参考】

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

Multi.7z (14.17KB)

相关推荐
委员10 小时前
基于NodeMCU的物联网空调控制系统设计
单片机·mcu·物联网·智能家居
字节程序员1 天前
使用JUnit进行集成测试
jmeter·junit·单元测试·集成测试·压力测试
奇文怪式2 天前
在【Arduino IDE】中在线下载和离线下载【ESP系列开发板的SDK】
c++·ide·单片机·mcu
WPG大大通3 天前
基于ST STM32MP257FAK3的MP2控制器之工业PLC 方案
网络·人工智能·mcu·plc·方案·大大通
两水先木示4 天前
【Unity3D】无限循环列表(扩展版)
java·开发语言·junit
小白学大数据4 天前
优化Lua-cURL:减少网络请求延迟的实用方法
开发语言·网络·爬虫·junit·lua
Tlog嵌入式4 天前
MicroPython+ESP32:一.开发环境的搭建
单片机·mcu·物联网·iot
上海易硅智能科技局有限公司4 天前
VSCode下的编译、调试、烧录
vscode·单片机·嵌入式硬件·mcu·agm芯片
上海易硅智能科技局有限公司4 天前
mcu+cpld 联合编程(概念及流程)
单片机·嵌入式硬件·mcu·agm芯片
aiamia4 天前
CAN配置---波特率中断引脚等---autochips-AC7811-ARM-M3内核
arm开发·单片机·mcu·车载系统·汽车