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)

相关推荐
java搬砖工-苤-初心不变3 天前
基于 lua_shared_dict 的本地内存限流实现
开发语言·junit·lua
范纹杉想快点毕业5 天前
ZYNQ PS 端 UART 接收数据数据帧(初学者友好版)嵌入式编程 C语言 c++ 软件开发
c语言·笔记·stm32·单片机·嵌入式硬件·mcu·51单片机
电子科技圈5 天前
芯科科技FG23L无线SoC现已全面供货,为Sub-GHz物联网应用提供最佳性价比
科技·嵌入式硬件·mcu·物联网·制造·智能硬件·交通物流
意法半导体STM326 天前
运行 Ux_Host_HUB_HID_MSC 通过 Hub 连接 U 盘读写不稳定问题分析 LAT1511
mcu·usb·st·hub·usb_otg_hs·filex·u 盘
不要再敲了6 天前
掌握单元测试的利器:JUnit 注解从入门到精通
junit·单元测试
路弥行至7 天前
从0°到180°,STM32玩转MG996R舵机
c语言·数据库·stm32·单片机·嵌入式硬件·mcu·mongodb
索迪迈科技8 天前
基于野火F407开发板实现电源管理-停止模式
c语言·stm32·单片机·嵌入式硬件·mcu
山楂树下懒猴子8 天前
ChatAI项目-ChatGPT-SDK组件工程
人工智能·chatgpt·junit·https·log4j·intellij-idea·mybatis
方案开发PCBA抄板芯片解密8 天前
MCU、CPLD、DSP、FPGA 有什么区别,该如何选择?
mcu
蜀黍@猿9 天前
【GD32】存储器架构介绍
单片机·mcu