硬汉嵌入式论坛

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

[功能实战] H7-TOOL的脱机烧录高级脚本实现烧录一个固件运行一会,再烧录另一个固件的方法

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106692
QQ
发表于 2024-3-13 16:23:29 | 显示全部楼层 |阅读模式

这个一般用不到,算是脱机烧录特殊需求用法

测试目标:
实现烧录固件output1.hex_1.bin后,让芯片运行5秒,然后烧录第2个固件。  这个应用到一些特殊的场景需求上,需要第1个运行些特别操作,才可以运行第2个。

实现方法:
1、可以添加多个固件,可以烧录到不同地址,也可以烧录到相同地址,测试方便,我这里烧写到同一个地址

23456.png

2、高级脚本添加代码:

23.png

[C] 纯文本查看 复制代码
--编程入口
function start_prog(board_type, ch_num)
        local re
        
        config_chip1()  --配置烧录参数  (烧录完毕选择复位)

        change_file1()  --重置任务列表1
        start_prog_0(board_type, ch_num, 0) --执行烧录,不统计计数

        delayms(5000)  --延迟,等待程序1执行完毕

        change_file2()  --重置任务列表2
        re = start_prog_0(board_type, ch_num, 1) --执行烧录,统计计数

        return re  --返回OK or ERROR 
end

-- 文件列表1
function change_file1() 
        TaskList = {
                AlgoFile_FLASH, --算法文件
                "output1.hex_1.bin",  --测试程序,用于初始化参数区
                0x08000000,  --目标地址
                0x00000001,  --Bit0表示擦除方式(0按扇区,1整片) Bit1表示检查空片操作(1禁止 0允许) 
        }
end

-- 文件列表2
function change_file2() 
        TaskList = {
                AlgoFile_FLASH, --算法文件
                "output2.hex_1.bin",  --正式程序
                0x08000000,  --目标地址
                0x00000001,  --Bit0表示擦除方式(0按扇区,1整片) Bit1表示检查空片操作(1禁止 0允许) 
        }
end


代码含义:

2345.png

执行一键下载:

实际测效果:

2345.png










回复

使用道具 举报

0

主题

68

回帖

68

积分

初级会员

积分
68
发表于 2024-3-13 21:20:53 | 显示全部楼层
这个用法有意思,回头我也试试
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-30 07:19 , Processed in 0.256573 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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