zoukankan      html  css  js  c++  java
  • H7-TOOL脱机烧录器功能开源发布

    H7-TOOL汇总帖:https://www.cnblogs.com/armfly/p/12283459.html

    当前已经对STM32F030,STM32F103,STM32F429,STM32F746进行了完美适配。

    其它STM32型号的支持,大家可以看操作说明,做适配。

    后续会对市场上的其它厂家嵌入式芯片做支持,甚至RISC-V内核。

    大家在使用中,有什么建议,欢迎反馈。

    脱机烧录视频视频效果展示:
    http://v.qq.com/x/page/p30628h2ou7.html

    V1.08版APP程序:
    h7_tool_app(V1.08).bin 
    H7-TOOL_STM32H7_App-master(V1.08).zip

    上位机升级至V.02:
    H7-TOOL PC机软件(V0.2).zip
    H7-TOOL PC软件源代码(V0.2 2020-02-07).zip

    eMMC中要存储的文件:
    H7-TOOL eMMC磁盘文件(V1.08).zip 


    【脱机烧录功能介绍】
    1、通过文件浏览方式选择程序文件。不限制目录和文件个数。
    2、FLM算法文件从KEIL MDK中复制出来,存放到emmc磁盘 H7-TOOLProgrammerFLM,按厂商分类。
    3、目标程序文件、编程脚本存放到:H7-TOOLProgrammerUser 文件夹。不限制目录级别和数量 。
    4、动态解析FLM文件,分离出内存镜像通过swd加载到目标cpu ram。
    5、支持多段bin写入。
    6、支持option bytes编程,烧录完毕设置读保护。
    7、支持自动解除读保护。
    8、支持动态填充产品序号、UID加密字段、用户自定义字段。
    9、自动保存烧录次数,支持剩余次数限制功能。
    10、支持连续烧录模式,检测到IC后自动烧录。
    11、可动态显示CPU电压和供电电流。
    12、通过lua脚本配置算法文件和数据文件(bin)以及控制编程过程。
    13、lua非常灵活,可以很方便扩充功能,比如:
    (1)日期窗口段内才允许烧录。
    (2)目标板电流超限报警。
    (3)限定UID(CPU唯一序号)符合规则的才允许烧录。
    (4)UID加密算法由用户自己定义。
    (5)填充任意短数据(小于1K),比如可以写入生产日期时间或客户代码。
    (6)关于程序文件保密问题,后期再考虑吧,因为H7-TOOL软件开源,文件结构开源,为了避免程序文件被加工厂泄露, 初步设想如下:
           a、控制USB虚拟磁盘程序入口,增加人工输入密码。
           b、在虚拟磁盘扇区读写底层函数,以512字节为单位增加客户自定义加密和解密算法。这样emmc数据内容就是被加密的,即使emmc芯片被复制出来放到其他H7-TOOL主板也无法识别。


    【使用说明】
    硬件连接:
    1、SWD烧录接口:TVCC GND D8 D6 D4
    2、用5P杜邦线连接到目标板。
    3、目标板可以由H7-TOOL的TVCC引脚供电。
    4、5P连接线的长度建议小于20CM。
     

    进入和选择文件的步骤:
    1、联机模式下长按S,弹出“扩展功能”菜单
    2、选择"1.脱机烧录器",长按S确定,进入脱机烧录器界面
    3、按S键切换到"选择文件",长按S进入文件浏览器界面
    4、选择对应的lua文件,长按S确定

    按键功能:
    1、按S键切换到“开始烧录”按钮
    2、短按C键开始烧录
    3、长按S键进入连续烧录模式(检测到芯片自动烧录)
    4、长按C键可终止烧录

    【修改lua文件】
    1、联机模式下长按S进入扩展功能 -> 系统设置 -> USB eMMC磁盘
    2、等待10秒左右电脑上可以看到 eMMC磁盘
    3、用电脑的文件浏览器操作eMMC磁盘内容
    4、两个关键目录:
            H7-TOOLProgrammerFLM  存放烧录的算法文件
            H7-TOOLProgrammerUser 存放用户的lua文件、bin文件

    注意事项:
    1、如果eMMC模拟U盘没有识别出来看此贴二楼:
    http://www.armbbs.cn/forum.php?mod=viewthread&tid=96090

    2、将压缩包解压出来后,全部复制到eMMC里面。
     

    【lua文件说明】
    1、找一个lua文件做模板,复制一份更换目录或名字,当前提供了以下几个模板:
     

    2、用记事本打开lua文件进行编辑。
    3、几个关键参数如下,需要指定算法文件和程序文件。
    (1)算法文件基准目录 0:/H7-TOOL/Programmer/FLM
            AlgoFile_FLASH = "ST/STM32F10x/STM32F10x_512.FLM"
            AlgoFile_OPT   = "ST/STM32F10x/STM32F10x_OPT.FLM"

    (2)bin文件名和目标FLASH地址。
             DataFile_0 = "../TestBin/512K.bin"
             FlashAddr_0 = 0x08000000

    (3)基准目录 0:/H7-TOOL/Programmer/User,和lua文件同目录.支持../上级目录

    4、更高级的设置,可以继续浏览lua文件,有C语言基础即可看懂,部分截图:

    举例说明:
    比如烧写一个bin文件output.bin到我们STM32-V6开发板
    1、可以使用文件STM32F429BI_512K.lua做模板,仅需修理里面的bin文件名和目标Flash地址
    DataFile_0 = "../TestBin/output.bin"
    FlashAddr_0 = 0x08000000

    2、将output.bin文件放到TestBin文件夹里面:
     

    3、H7-TOOL进入套机烧录后,选择STM32F429BI_512K.lua文件:
     

    4、点击开始烧录:
     

    5、烧录过程分擦除,编程和校验:
     

    部分LUA脚本文件截图,主要是熟悉下参数配置即可:
     

    【和lua同名的ini文件说明】
    文件内容如下,可以记事本编辑
    Locked = 0                     --1表示锁死,目前未用
    ProgramLimit = 0            --烧录次数控制,0表示不限制, >0 表示限制的次数
    ProgrammedCount = 43   --已经烧录的次数
    ProductSN = 0                --产品序号滚码
    LastTotalTime = 0           --暂时未用
    LastEraseChipTime = 22  --全片擦除时间(ms),程序自动记录

  • 相关阅读:
    MongoDB集群架构 调整,增加延迟备份节点服务器,删除仲裁节点(9)
    MongoDB 副本集管理-不定期更新(8)
    DML和查询操作说明(7)
    MongoDB 副本集权限认证(6)
    python之路——作业:Select FTP(仅供参考)
    python之路——作业:类Farbic主机管理程序(仅供参考)
    python之路——作业:高级FTP(仅供参考)
    python之路——RabbitMQ
    python之路——协程(greenlet、gevent、简单爬虫)
    python之路——多进程(进程间通信、进程池)
  • 原文地址:https://www.cnblogs.com/armfly/p/12311217.html
Copyright © 2011-2022 走看看