硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2925|回复: 11
收起左侧

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

[复制链接]

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
发表于 2022-2-19 12:33:35 | 显示全部楼层 |阅读模式
【应用场景】
原本TOOL的1拖4是用于同时烧录相同程序给目标板,但有时候一个板子上有多个不同的MCU,

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

【实验目标】

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

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

【操作步骤】

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

24567.jpg

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

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

2.jpg

3、修改4个lua配置文件

操作TOOL进入eMMC磁盘

12.jpg

进入路径:

21.jpg

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

[C] 纯文本查看 复制代码
--以下快捷方式将显示在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的内容如下:

[C] 纯文本查看 复制代码
Locked = 0
ProgramLimit = 0
ProgrammedCount = 1
ProductSN = 0


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

12.jpg

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

23.jpg

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

4路全部烧录成功

24.jpg

【完整配置,方便参考】

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

Multi.7z (14.17KB)
回复

使用道具 举报

759

主题

1050

回帖

3332

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3332
发表于 2022-2-21 00:23:46 | 显示全部楼层
该案例实现单路烧录,自动识别CPU型号烧录不同文件。

操作步骤:
1、分别制作单个芯片的烧录配置文件,放到同一个文件夹
2、修改2个lua配置文件
   - 更名为 .luax (脱机浏览时会隐藏)
   - 其中3行代码注释掉(dofile),2个文件都要改
       --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、修改”自动识别不同芯片.lua”
    - 可更名,同步的ini也需要更名
    - 修改其中的dofile()中的 .luax文件名为第2步的文件
    - 其中 f_getdir("proglua") 是V2.14固件新增的API函数,用于获得lua文件的绝对路径. 之前的固件无这个函数,可使用决定路径。
      比如:0:/H7-TOOL/Programmer/User/Demo/自动识别不同芯片/demo_STM32F429.luax
    - 使用相对路径,这个文件夹可以复制到User下任意目录。绝对路径不可以。

自动识别不同芯片.zip (7.48KB)

image.png

image.png



回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
 楼主| 发表于 2022-2-21 10:24:43 | 显示全部楼层
armfly 发表于 2022-2-21 00:23
该案例实现单路烧录,自动识别CPU型号烧录不同文件。

回复

使用道具 举报

2

主题

19

回帖

25

积分

新手上路

老八

积分
25
发表于 2024-6-26 11:08:25 | 显示全部楼层
烧录时候,提示数据文件名过短是什么意思
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
 楼主| 发表于 2024-6-26 11:30:45 | 显示全部楼层
eastonye 发表于 2024-6-26 11:08
烧录时候,提示数据文件名过短是什么意思

文件路径应该不对,比如a.bin,a.lua,这种的至少5个字符,系统检测到你的字符小于5,所以就会提示这个。
回复

使用道具 举报

2

主题

19

回帖

25

积分

新手上路

老八

积分
25
发表于 2024-6-27 13:25:37 | 显示全部楼层
eric2013 发表于 2024-6-25 23:30
文件路径应该不对,比如a.bin,a.lua,这种的至少5个字符,系统检测到你的字符小于5,所以就会提示这个。

我看最新版的H7_Tool,关于下载算法导入到tool这个操作,pdf教程,和软件不一致。
Snipaste_2024-06-27_13-24-15.bmp
上图pdf演示。下图实际软件烧录界面(没有2/3选项)
Snipaste_2024-06-27_13-24-38.bmp
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
 楼主| 发表于 2024-6-27 13:32:53 | 显示全部楼层
eastonye 发表于 2024-6-27 13:25
我看最新版的H7_Tool,关于下载算法导入到tool这个操作,pdf教程,和软件不一致。

上图pdf演示。下图 ...

2024版H7-TOOL操作手册PDF版(2024-03-25)
https://www.armbbs.cn/forum.php?mod=viewthread&tid=123447
回复

使用道具 举报

2

主题

19

回帖

25

积分

新手上路

老八

积分
25
发表于 2024-6-27 14:23:27 | 显示全部楼层
eric2013 发表于 2024-6-27 01:32
2024版H7-TOOL操作手册PDF版(2024-03-25)
https://www.armbbs.cn/forum.php?mod=viewthread&tid=12344 ...

谢了,对了,还有一个问题,自己的下载算法,烧录时候,提示targe_flash_init error。有过类似的情况嘛。像是初始化失败。STM32Programmer下载时,是没问题的
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
 楼主| 发表于 2024-6-27 15:09:12 | 显示全部楼层
eastonye 发表于 2024-6-27 14:23
谢了,对了,还有一个问题,自己的下载算法,烧录时候,提示targe_flash_init error。有过类似的情况嘛。 ...

你这个算法要在MDK下载可以正常下载,TOOL才可以正常使用,CubeProg和MDK的算法实现是略有区别的。
回复

使用道具 举报

2

主题

19

回帖

25

积分

新手上路

老八

积分
25
发表于 2024-6-27 15:12:12 | 显示全部楼层
eric2013 发表于 2024-6-27 03:09
你这个算法要在MDK下载可以正常下载,TOOL才可以正常使用,CubeProg和MDK的算法实现是略有区别的。

我懂你意思了,不过暂不探究。
我刚才看有个设置,默认界面是烧录界面的设置。我设置之后。开机后默认是烧录界面。但是现在长按C,没办法返回主界面。顶多只能到达选择1串几的那个界面。在这个界面长按C,没法实现返回上一层的功能了。长按S回到烧录界面。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
 楼主| 发表于 2024-6-27 15:38:09 | 显示全部楼层
eastonye 发表于 2024-6-27 15:12
我懂你意思了,不过暂不探究。
我刚才看有个设置,默认界面是烧录界面的设置。我设置之后。开机后默认是 ...

H7-TOOL进入脱机烧录启动模式和退出脱机烧录启动模式设置方法
https://www.armbbs.cn/forum.php?mod=viewthread&tid=123936
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
 楼主| 发表于 2024-8-7 00:58:19 | 显示全部楼层
花些时间,正式更新1拖4烧录不同芯片功能,详见楼主位
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-4-25 20:38 , Processed in 0.315052 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表