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)

相关推荐
电子科技圈13 小时前
IAR与鸿轩科技共同推进汽车未来
科技·嵌入式硬件·mcu·汽车
Dnelic-16 小时前
解决 Android 单元测试 No tests found for given includes:
android·junit·单元测试·问题记录·自学笔记
电子科技圈18 小时前
XMOS携手合作伙伴晓龙国际联合推出集成了ASRC等功能的多通道音频板
科技·嵌入式硬件·mcu·物联网·音视频·iot
7yewh20 小时前
嵌入式硬件杂谈(四)-高速板PCB设计 高速信号全面讲解 蛇形线 等长线 差分对 阻抗对
驱动开发·嵌入式硬件·mcu·物联网·硬件工程·pcb工艺·精益工程
linux_carlos1 天前
#lwIP 的 Raw API 使用指南
stm32·单片机·mcu·物联网·rtdbs
liu_endong2 天前
杰发科技AC7840——EEP中RAM的配置
mcu·杰发科技·autochips·车规芯片
King~30+2 天前
STM32--中断使用(超详细!)
stm32·单片机·嵌入式硬件·mcu
网易独家音乐人Mike Zhou2 天前
【Linux驱动开发】irq中断配置API及中断应用 阻塞休眠和非阻塞的驱动操作
linux·c语言·驱动开发·stm32·单片机·mcu·iot
7yewh2 天前
嵌入式硬件电子电路设计(七)稳压二极管-齐纳二极管-齐纳击穿全面详解
stm32·嵌入式硬件·mcu·物联网·硬件架构·硬件工程·pcb工艺
7yewh2 天前
嵌入式硬件实战基础篇(二)-稳定输出3.3V的太阳能电池-无限充放电
stm32·嵌入式硬件·mcu·物联网·硬件架构·硬件工程·pcb工艺