eric2013 发表于 2024-3-13 16:23:29

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


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

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

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



2、高级脚本添加代码:



--编程入口
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

代码含义:



执行一键下载:

实际测效果:












Vxworks 发表于 2024-3-13 21:20:53

这个用法有意思,回头我也试试
页: [1]
查看完整版本: H7-TOOL的脱机烧录高级脚本实现烧录一个固件运行一会,再烧录另一个固件的方法