eric2013 发表于 2019-10-30 08:25:55

H7-TOOL开源项目的GitHub地址,当前版本V2.25,含论坛方式下载原理图,上位机,固件等(2024-02-23)

下载不正常的话,请鼠标右击附件“复制链接地址”,然后粘贴到浏览器地址栏或者迅雷等下载器来下载。

旧版TOOL的V1.X上位机,下位机和原理图全开源,2024版TOOL未开源

0、使用说明书
https://www.armbbs.cn/static/image/filetype/pdf.gifH7-TOOL使用说明书.pdf (16.96MB)

1、Github:
   https://github.com/armfly


2、码云国内镜像:
   https://gitee.com/armfly/H7-TOOL_STM32H7_App


3、原理图
https://www.armbbs.cn/static/image/filetype/pdf.gif D315-2_1拖4烧录器转接板_原理图.pdf
https://www.armbbs.cn/static/image/filetype/pdf.gifD253-6_H7-TOOL主板_原理图第6版.pdf
https://www.armbbs.cn/static/image/filetype/pdf.gifD254-6_H7_TOOL显示板第6版.pdf
https://www.armbbs.cn/static/image/filetype/pdf.gifD268-5_H7-TOOL-示波器模块第5版.pdf
https://www.armbbs.cn/static/image/filetype/pdf.gifD291-2_H7_TOOL转接板_原理图.pdf
https://www.armbbs.cn/static/image/filetype/pdf.gifD380-1_H7_TOOL简易转接板_原理图.pdf


4、PC机软件:
2024-02-23升级PC软件到V2.2.5。
https://www.armbbs.cn/static/image/filetype/zip.gifh7toolPC_release(V2.2.5).7z (50.32MB)
https://www.armbbs.cn/static/image/filetype/zip.gifH7-TOOL_PC源码(V1.4.4 2021-01-24).zip (81.02MB)

5、单片机软件:
2023-12-06升级APP到V2.25,升级boot到V2.05
注,BOOT和APP的hex文件已经集成到上位机软件里面,方便上位机更新APP和BOOT
https://www.armbbs.cn/static/image/filetype/zip.gifHT_Boot(V1.03 V版 源码2021-01-19).zip (13.25MB)
https://www.armbbs.cn/static/image/filetype/zip.gifH7-TOOL_STM32H7_App-master(V1.49)(2021-03-25).zip (23.49MB)

6、eMMC磁盘文件:
已经集成到上位机软件里面,上位机软件已经可以方便的管理eMMC。


7、测试和标定用的LUA脚本程序:
https://www.armbbs.cn/static/image/filetype/zip.gif测试标定用Lua脚本2019-10-21.zip


8、标定工装的接线图:
https://www.armbbs.cn/static/image/filetype/pdf.gifH7-TOOL_标定板接线图(2019-10-21).pdf


9、虚拟串口驱动:
上位机软件里面也已经集成
https://www.armbbs.cn/static/image/filetype/zip.gifen.stsw-stm32102.zip

static/image/hrline/4.gif
APP更新记录:

发布日期: 2024-02-21
PC软件版本: V2.2.5
STM32_APP固件版本: V2.25
STM32_BOOT固件版本: V2.05

【PC软件】V2.2.5
1. 脱机烧录功能升级
- NXP S32K1XX系列,添加FLASH_DATA算法
- NXP S32K3XX, 缺省不选择整片擦除,选扇区擦除(如果ab分区了,整片擦除会失败)
- 新增航顺 HK32F0301M系列
- 修正PC计算数据文件的校验和算法
- 新增FLM文件配置选项 FLM_BUFFER_ADDR, FLM_STATIC_BASE, SB_FLASH_ADDR, FLM_INIT_CLK
- GD32F450ZI 修正配置文件映射错误问题
- GD32F403,修正lib文件指向问题
- 新增华兴微特SWM34S系列
- 修正新唐M481系列无法写选项字的问题
2. RTT功能
- 界面下方发送窗口可隐藏
- 增加水平滚动条
3、Lua函数 read_clock()修改返回值为年月日时分秒星期等7个整数值
4、客户分享CAN解析器GBT27930-2015电动汽车充电桩车通信和英飞凌电源模组解析
5、lua脚本控制按键自动执行到指定界面。按键缓冲区由10改为50.
6、串口助手和RTT Viewer, 解决暂停接收后复制一次文本后,再也无法恢复显示的问题。
7、CAN助手
   - 增加水平滚动条
   - 新增两个lua窗口,方便实现
   - 解决快捷发送面板设置不能保存的问题   
8、串口助手
   - 解决保存log文件,无法立即打开的问题。
   - 取消信息窗口
   - 增加水平滚动条
   - 增加ESP8266 ESP32常用的76800 (固件和PC软件必须同步升级)
   - 缺省波特率参数ID改为11 (之前是10)
   - GB2312和GBK模式时,自动换行字符数由120修改为256(修改TOOL固件实现)
9、主菜单中增加目标控制:复位目标板、断电、上电等操作。其余界面的复位目标板按钮取消
10. Trace功能
   - 截屏功能改进,升级文件ILI9488.lua
   - SVD功能:解决无法解析 GD32F1x0.svd 的问题
   - SVD功能:在STM32F10x系列svd文件中手动增加了CPU字段 <cpu>      <name>CM3</name> </cpu>

【EMMC文件】V2.2.5
1. machine_if.lua
      --读START引脚电平ReadStartLevel() 排除SPI-FLASH芯片。无可用启动引脚。
2. 新增的芯片配置文件

【固件】V2.25--支持2024新版H7-TOOL,2.8寸屏幕
1、固件增加 get_tvcc()函数.
2、新增m_write("AW9523", "LED_RED", 10) ,控制指示灯
3. 横屏时,浏览文件时,文件夹图标有毛刺问题
4. 增加ESP8266 ESP32常用的76800bps
5. 串口助手,GB2312和GBK模式时,自动换行字符数由120修改为256
----------------------------------------------------------------------------
发布日期: 2023-12-04
PC软件版本: V2.2.4
STM32_APP固件版本: V2.24
STM32_BOOT固件版本: V2.04

【PC软件】V2.2.4
1. 脱机烧录功能升级
- 新增GD32C10x系列
- 新增富满微FM32F03x(厂家调试)
- 新增钜泉光电HT502x
- 新增英飞凌TLE987x系列
- 新增NXP S32K1xx系列
- 新增APM32E103系列
- 新增GD32F427RE系列
- 修正PY32F002 flash容量
- 修正新唐 M480系列,选项字设置读保护的BUG。
- 修正STM32H723系列FLASH容量
- 修正PUYA串行FLASH P25Qxxx系列解锁指令
- 修正N76E003.lua, UID_BYTES = 0
- 修正串行FLASH状态字已写保护后无法再次写入的问题
- 修正PSOC4 & PSOC6 不接复位线时无法烧录问题(可选择断电复位模式)
- 将PSOC4系列分为更小的分类,比如PSOC4(4146)、PSOC4(4147)
- 新增敏矽微ME32G030系列
- 新增森国科SGK32G030 系列(调试中...)
- 新增新唐8051 MS51FB9AE
- 扩充串行FLASHXM25QH10B、XM25QH20B、XM25QH40B、XM25QH80B
- 新增PY32F002B
- 新增国芯CCM4101
- 修正极海APM32F407写选项字校验失败问题
- 新增灵动MM32SPINEBK, 030C,023C,080C,G5534D
- 新增中微CMS32L051
- 实现串行FLASH多路烧录时,可以烧录不同的序列号
- 扩展功能:
      单击厂商/分类图标可刷新Device列表(device.csv有变化时)
          双击可打开device.csv进行编辑(需要电脑安装excel或wps)      
- 解决BUG
      STM8L手工拼接的HEX转换问题
      STM8L UID长度变量定义错误
2、增加I2C从机功能
3、增加SPI从机功能
4. CAN功能升级
- 新增CANopen解析器
- CAN、UART解码器,最长支持每行 2K字符串(含数据体)
- CAN助手,CANFD数据段新增5Msps选项
- CAN助手,UART助手,RTTViewer ,暂停刷新勾选后,鼠标暂停弹起会自动开始刷新。
5. Trace功能
- 新增SVD寄存器监视功能
- 升级RTOS解析文件:FreeRTOS.lua、RTX5.lua、ThreadX.lua、uCOS-II.lua、uCOS-III.lua
- Trace界面,增加几个扩展按钮(从解析器文件中读取按键名字)
6、其他改进
- Log窗口添加水平滚动条,方便展示超长的字符串
- UART RTT 发送缓冲区由1K调整为16K
- 新增Lua API 接口函数,可控制串行FLASH底层读写
- 串口助手保存log时,同时生成不带通道数字的文件。 *.log是带数字的,*.txt不带数字
- 串口助手,MODBUS从机解决若干BUG,并调整列表显示。

【固件】V2.24
1. 串口助手,当使能显示发送数据时,接收的数据前面增加, 和对齐数据
2. swd_init_debug函数改进,解决PSOC4烧录失败问题(V2.22引入的问题)
3. lua脚本get_rng函数新增无参数时出错处理
4. 脱机烧录优化写FLM文件到目标内存后的校验步骤
5. 支持SPI FLASH一拖4烧录不同的序列号
6. 修正DAC模拟信号发生器无法控制波形个数的问题(V2.22,V2.23存在这个问题)
7. 修改 stm32h7xx_hal_i2c.c, 增加计数器
8. 修改 FDCAN_IT_IRQ_PRIO、FDCAN_CAL_IRQ_PRIO 优先级。
9. 新增 I2CSLAVE_IRQ_PRIO、SPISLAVE_IRQ_PRIO
10、修改 bsp_spi_bus.c

【EMMC文件】V2.2.4
1. prog_lib.lua
- function erase_chip_mcu(void), 如果有独立的擦除函数,则执行它

----------------------------------------------------------------------------
发布日期: 2023-07-17
PC软件版本: V2.2.3
STM32_APP固件版本: V2.23
STM32_BOOT固件版本: V2.04

【PC软件】V2.2.3
1.更新固件文件和EMMC文件

【固件】V2.23
1.解决STM8S无法烧录的BUG (V2.22引入的BUG)

【EMMC文件】V2.2.3
1.新唐M481,缺省不选择整片擦除(FLM中无整片擦除函数)

----------------------------------------------------------------------------
发布日期: 2023-07-11
PC软件版本: V2.2.2
STM32_APP固件版本: V2.22
STM32_BOOT固件版本: V2.04

【PC软件】V2.2.2
1. 脱机烧录新增芯片:
- 新增I2C EEPROM烧录(仅限单路,不支持1拖4)
- 新增NXP S32K3xx系列
- 新增华芯微特 SWM32SRET6
- 新增HolyChip上海芯圣8051系列HC89xxx(支持OB配置界面)
- 新增雅特立AT32F423(支持OB配置界面)
- 新增华大HC32F4A0
- 新增钜泉光电HT501X、HT602X系列
- 新增灵动,MM32SPIN0230、MM32G0160、MM32G0001、MM32F5230、MM32F5330系列
- 新增GD32F303xB
- 新增新唐M480系列
- PSOC4 新增设置读保护功能。
- 修改国芯 CCM4201S,增加算法选项,支持烧录BOOT区。
- 国芯新增 CCM4206,CCM4206是CCM4202S精简版,烧录方法一样   
- 新增TI MSPM0L1306
- 新增比亚迪 BS9x46 系列

2. 脱机烧录功能优化
- 烧录时打印芯片厂家和型号
- 复位模式新增断电上电复位,解决PSCO4无复位引脚无法烧录问题
- 修改软件校验模式(修改了固件的校验算法,方便大部CPU可以使用)
- 接线说明,新增1拖4 ARM芯片接线说明
- 输出缺省文件名修改为第1个固件名
- 关于OB配置
    - 无保护的OB值更名为 缺省值(无保护), 主要用于自动解除保护。改为仅能查看,不能编辑。
      - 取消写缺省值的选项。
      - 新增配置OB按钮,后面将逐步针对每种芯片添加OB配置界面。      
- 选择数据文件时,正常单击按钮时初始目录为上次文件夹,鼠标右键单击按钮时初始目录为对应编号的数据文件目录。
- Log .NVIC_CPUID = 410FC241, Cortex-M4 r1p0显示patch和revision
- 读芯片界面,增加页面大小设置(缺省是1024)
- 读芯片界面,生成测试文件,增加填充随机数选项
- 在限制页面,增加检测IDCODE(芯圣8051是缺省启用,其他芯片是缺省关闭)   
- prog_lib.lua 新增 OB_ADDRESS_LINEAR = 1--OB数据线性连续,只需要提供1个首地址
- prog_lib.lua 烧录ARM芯片时, 打印TVCC电压、电流、复位模式、出错立即终止参数。
- 生成烧录配置文件时,增加PC软件版本和生成日期,便于后期问题追溯
- 1拖16显示结果时,如果都失败了,则显示未检测到IC #1 #2 ,而不是最后的成功个数和失败个数
- 点芯片lua文件名标签自动打开编辑器,而不是直接展示在log窗口
- 修改 prog_lib.lua,NRF52解除读保护后支持断电复位。
- 打印prog_lib.lua、machine_if.lua、fix_data.lua 的文件修改日期和版本

3. 脱机烧录功能解决BUG      
- 解决1拖16模式分组烧录问题,少于3组时,依然轮询4组的问题。
- 修复HC32L19X芯片FLASH容量小于32K的问题,实际芯片是256K。
- 解决BUG:在第2行添加自定义FLM文件时,填充算法数组出错。
- 读芯片功能。NXP S32K3读FALSH内存之前不执行 pg_init(), 因为它需要使能调试才能读数据。
- 杰发科 AC780x_64.lua,AC780x_128.lua 文件修正FLASH容量错误
- 完善 N32G03x_Lib.lua 文件, 应对客户程序启用PLL导致烧录失败的问题
- 修复极海 APM32F003 Lib文件
- 修正复旦微FM33FR0XX UID地址和UID长度
- AT32403Axx系列复位模式缺省修改为硬件模式(也可以不接NRST口线)
- 解决导入配置文件功能无法使用的问题

4. PC软件参数导入功能
- 新增截屏窗口参数导入
- 新增脱机烧录数据文件、地址、算法导入(待完善,芯片厂商ID可能不正确)
5. RTT面板隐藏设置可以保存
6. 系统设置、维护界面,软件功能选择支持全关和全开
7. Trace功能优化
- 关于keil路径问题,以ini文件优先,注册表次之。
- 添加uCOS-II解析
- 增加FreeRTOS解析
8. RTT功能
- 解决RTT BUG: 当选择键入时发送,直接回车发送3个字符的问题。
- 解决RTT BUG: 下载搜索列表时,并没有更新到TOOL内。
- 解决搜索不到HC32F460的RTT控制块的问题
- 点击RTT快捷发送菜单时,也更新发送记录
- 修正Down下行通道内存地址计算(解决缓冲区个数不为3无法处理下行数据的问题)
9. PWM信号发生器,支持0.1Hz,0.01Hz单位
10. DAC波形发生器,解决20KHz以上方波末尾多一个脉冲的问题。
11. CAN助手
- 界面显示改为逗号分隔,
- log保存为csv格式,execel可以直接打开
- 修复翻页后再来数据只显示1行的问题
- 时间格式改为 12:30:09.123.450ms和us用
- 发送窗口可以隐藏
- 增加复制功能
12、串口示波器、CAN示波器、RTT示波器支持0x前缀的16进制数据

【固件】V2.22
1.按客户要求,增加脉冲检测的lua接口函数
    m_init("DETPULSE")--进入D1测量脉冲模式   
    count, freq, duty = m_read("DETPULSE") --返回脉冲个数(整数)、频率(Hz 浮点数)、占空比(% 浮点数)
    m_write("DETPULSE", 0,0,0)--清零脉冲个数、频率、占空比
    m_uninit("DETPULSE")--退出D1测量脉冲模式      
2. 74HC595芯片 lua API 接口支持128个595芯片扩充,之前是16个。
3. 针对恒硕CX32L003,
- 完善解除SWD保护的指令时序。
- 解决写完OB选项字后,page末尾数据不是FF的问题。
4. 修改PG_SWD_ProgBuf(),写选项字以外的空间时填充FF。检验OB区数据偏移地址更正。
5. 写无保护选项字时,1拖16显示的成功个数不正确。
   - 更正 h7_DetectIC()内部对错误标志的清零。又有恢复清零(有解除读保护后计数问题,暂不处理了)
6. set_read_protect() 执行前增加swd解锁. 显示idcode、打印flash内容时取消swd解锁.
7. HC32F460,解决搜索不到RTT控制块的问题。
8. 修改读取IDCODE的逻辑次序,解决PSOC4识别不到IDCODE的问题.
9. PWM信号发生器,支持0.01Hz单位
10.DAC波形发生器,解决20KHz以上方波末尾多一个脉冲的问题。添加DMA半传输中断。
11.实现Lua TCP&UDP功能。未完全测试,暂时不开放。
12.内存不足,优化代码。g_tVar.InputState,g_tVar.RelayState.
13.USB虚拟磁盘的描述符中产品标识由Product修改为H7-TOOL
14.完善扇区擦除机制,针对非ARM芯片。
- pg_prog_file.c修改扇区擦除判断机制,处理滚码区
- prog_lib.lua 计算EndAddress
15.优化CANFD接收程序,可连续接收2M波特率数据包
16. MUL_JTAG2SWD() 有较大的改动,针对PSOC4多路烧录失败问题. 取消旧的SWD切换协议。
17. RTT-Viewer : 取消IDE调试识别判断
18. 修改软件校验模式(修改了固件的校验算法,大部CPU可以使用。自带校验函数的FLM不能用)
19. 新增NTC B3454温度传感器 7_14K_B3454

----------------------------------------------------------------------------
【PC软件】V2.2.1
1.脱机烧录
- 厂商列表重排,按字母次序。
- 高级配置参数中,删除不常用的参数。
- 高级配置参数中,新增显示FLM文件信息选项
- NRF52 系列, 优化乱脚本。降低时钟速度,解决某客户程序异常的板子无法识别IDCODE的问题。
- NRF52 系列,载入HEX文件时, 自动选择SDE和FLASH算法。修改需要解除保护的条件。
- 新增灵动 MM32L0020, MM32F0160, MM32G0140系列
- 灵动 MM32F0010 MM32F0020 实现SWD解锁时序(SWD口用于GPIO的情况)
- 新增英飞凌 TLE9853
- 修改STM32F10xxC 缺省选择硬件复位
- 新增普冉PY32F002
- 新增华大 HC32F002系列
- 新增Qorvo 的PAC55xx系列
- 新增NXP LPC800系列
- 中颖SH3xF9xxx系列添加EEPRM算法
- 解决V2.2.0的bug: 用户自定义FLM文件放到第2行以后时,填充错误的修正地址和大小
- TVCC电压值根据芯片型号自动填充缺省值
- 解决 GD32 系列写选项字失败的问题(V2.19引入的bug)
2.Trace
- 解决始终开启Cashe的问题
- 解决out和ELF文件无法导出Hex文件的问题
- 修改ThreadX系统识别方式, 无法解析的elf文件显示错误后终止执行
- 解决BUG: 目标板截屏功能,单色屏时读的数据长度错误
3.界面
- 串口发送窗口的参数可保存
- CAN参数界面,修正参数的值域
- RTT界面参数可保存
4.RTT功能增加快捷发送面板,支持C语言转义字符
5.新增导入PC配置参数功能,支持导入界面颜色配置、Uart命令列表、Uart解码器、
RTT命令列表、RTT解码器、CAN命令列表CAN解码器、芯片厂商列表、脱机烧录用户配置文件、
WiFi热点列表、RTT搜索地址
6.删除 ini\rtt\RttViewer.ini 文件,配置选项集中放到 app.ini文件
7.维护界面,增加"诊断硬件"功能,主要用于远程售后

【固件】V2.21
1. 修正 pg_init() 函数的bug. 读数据到文件有异常.
2. 扩充 pg_swd() 函数, 可设置SWCLK和SWDIO电平. MM32F0010发SWBOOT解锁序列需要,
      - pg_swd("PIN_SWCLK", 1)
      - pg_swd("PIN_SWDIO", 1)
      - pg_swd("SWDIO_OUT", 1)
3. 刷新TVCC设置寄存器,方便lua程序读取
4. 调试打印FLM文件信息时,原始地址和大小和修正的地址和大小均显示出来
5. 应对LPC824, 在swd_write_word(DBG_HCSR, DBGKEY | C_DEBUGEN | C_HALT) 之后延迟10us.
6. 新增寄存器:缺省启动模式
7. 修正 pg_read16() 的bug。该bug导致GD32写选项字失败。
8. 根据CH1电压识别1拖16转接板的机制改为不识别,以菜单项为准。相关函数
   - MUL_swd_set_target_reset()
   - 打印提示信息
   - 新增pg_read_c_var() 新增 Prog16Mode 变量供lua程序使用
9. 支持1拖16模式时串口AT指令控制协议。

-------------------------------------------------------------------------------------------------------------

发布日期: 2023-02-27
PC软件版本: V2.2.0
STM32_APP固件版本: V2.20
STM32_BOOT固件版本: V2.04

【PC软件】V2.2.0
1.新增Trace功能
- 新增左侧图标Trace
- 支持在线检测RTX5、UCOS-III、ThreadX任务情况
- 支持目标板截屏功能
- 支持变量波形功能(类似J-Scope)
- 支持硬件异常分析(Hardfault)V1.0
2.升级脱机烧录功能
- 脱机烧录界面,厂商列表可设置为常用列表,厂商列表框鼠标右键可设置               
- 脱机烧录界面"文件"页面增加浏览User文件夹按钮
- 升级机台接口文件,增加单路串行FLASH机台信号
- 新增芯片型号:
   - GD32E50x 系列M33核
   - 韦斯佰瑞 WB32F10x 系列M3核
   - FR801xH系列(未实现,加上逻辑分析仪时序错乱)
   - 苼泉 MG32F02、MG32F10x
   - 中颖,SH30F9871
   - Cyress PSOC6 全系列
   - AutoChip AC7802x、 AC7840x
   - 灵动MM32全系列升级更新,删除无用的型号,添加新型号
   - ST公司STM32WBxx系列 (STM32WB55)
   - Nordic NRF9160
   - 广芯微UM3213A新增XT25F64算法
- 解决N32G430烧录问题,修正lua文件中RAM大小
- GD32F30X系列,修复选项字写入异常(暂时只支持设置读保护,不支持其他选项字)         
- 导入lua配置文件时新增的变量无法识别,解决该bug,
- 滚码存储格式,支持大端BCD码和小端BCD码。
- 升级 prog_lib.lua文件,MCU_RemoveProtect()后增加复位操作,避免部分芯片解除读保护后不能直接读UID
- 取消生成USE_TEST_BIN烧录临时文件的代码快(早期固件,已废弃)
- 新增AlgoFileCorrect[]用于手动修正FLM算法地址和容量
3.示波器拨盘图标更新,增加10V档位,并修改鼠标点击动作机制。
4.升级EMMC文件时,排除wifi列表文件

【固件】V2.20
1.烧录单路串行FLASH时,不初始化第2-4路的IO口, 是为了实现机台信号接口。
2.烧录51、STM8、SPI FLASH时,也支持LCD屏显示滚码。以前版本只有ARM才显示滚码。
3.新增 DISP_ELF_INFO = 1 表示显示ELF文件信息,缺省关闭显示
4.针对 PSCOC6 的FLM进行特殊处理.
5.解决MM32F0020烧录完毕不能复位运行的问题,因为这个芯片的SWCLK和BOOT0复用。
- pg_reset()硬件复位口线拉低前,强制SWCLK为低电平。
6. pg_swd("JTAG2SWD") 针对多路模式,刷新通道配置。
7. ARM内核新增识别:STAR-MC1
8. 因为NRF9160.整片擦除会清空RAM,因此?葱?MCU_EraseMass() 后后必须重载一次算到RAM.
   - 新增 ENTER_DEBUG_AFTER_ERASEALL = 1 变量进行控制
9. ELF_ParseFile() 函数新增2个形参,可以后期通过lua改变flm文件的起始地址和容量
10.修复RTT 无法设置SWD时钟延迟的BUG。新增参数项可脱机调节时钟延迟。

----------------------------------------------------------------------------
发布日期: 2022-11-16
PC软件版本: V2.1.9
STM32_APP固件版本: V2.19
STM32_BOOT固件版本: V2.04

【PC软件】V2.1.9
1. 脱机烧录新增IC
   -- 灵动 MM32F0020、MM32F0133
   -- 中微半导体 CMS32M53xx、CMS32M55xx、CMS32M57xx。 CMS32F03x
   -- 广芯微电子 UM321x
   -- 中移芯昇CM32M101A
   -- 极海APM32F4xx系列 APM32F405、407、415、417
2. 脱机烧录器功能增强
   -- 高级配置中添加参数说明(SWD时钟延迟对应的实际速度)
   -- UID加密页面,增加"打开算法文件夹"按钮
   -- UID解密结果长度可设置4-16之间任意值。之前是 4、6、8、16
   -- UID解密页面完善说明,如何添加自定义加密文件
   -- 支持读串行Flash的UID,可用于程序加密
   -- 烧录串行FLASH的滚码和UID密码时,数据文件之后的空间按1024字节粒度进行擦除和编程,之前是16KB
   -- 烧录器读芯片界面,支持偏移地址为负数
   -- 更改芯片型号后,算法栏自动选择第1项,地址框自动填充为首地址。
      修改算法文件后也自动修改为首地址。不影响HEX文件分段地址自动填充功能。
   -- Cypress PSOC4,支持Hex文件中 0x09030000、0x09040000 配置数据的自动分割。
3. 界面BUG
   --解决BUG: Windows字体缩放100%时,示波器拨盘10V档位的位置不正确
   --LOG窗口字体由宋体修改为新宋体,解决字体大小变化时,制表符号不对齐问题
   --修改鼠标滚轮调整LOG窗口字体大小的步距,更加细腻。
   
【固件】V2.19
1. 增加开机启动选项,新增模拟信号发生器。上电可以直接恢复上次设置状态
2. 修正 uint8_t W25Q_DetectIC() 函数的bug               
3. lua接口f_write() 函数实现4字节对齐               
4. lua API新增 get_runtime_us()、check_runtime_us()
5. 修复utf8转gbk的bug(末尾为2字节uft8编码,直接退出)
6. 解决V2.18引入的BUG(非烧录界面下载程序时,不保存烧录启动文件,导致下载之前的配置文件)
7. lua API新增 pg_read_uid(), 目前仅用于读取串行flash的UID
8. 烧录器参数界面,取消多路模式项目(已实现自动交易上次烧录模式)
9. 上电缺省界面参数,修改参数值为:"缺省", "脱机烧录", "DAP-Link", "信号源"。
10.信号发生器功能。增加PWM发生器

----------------------------------------------------------------------------

发布日期: 2022-08-27
PC软件版本: V2.1.8
STM32_APP固件版本: V2.18
STM32_BOOT固件版本: V2.04

【PC软件】V2.1.8
1. 添加Lua范例,测试STM32F407 GPIO翻转
2. 添加ARM芯片
- 新增 芯海CS32F0, F1, L0系列
- 新增 FMD(麦芒微)的FT32F030, 032, 072
- 新增 WHXY(武汉芯源)全系列 CW32F002、CW32F003、CW32F020、CW32F30、CW32L031、CW32L083
- 新增 Vango(万高) V85xx系列 V8500、 V8510、 V8520、 V8530、 V8531 文件(还有问题)
- 增加复旦微FM33LGxx 写选项字功能
- 新增雅特力AT32F425系列
- 新增国民技术 N32G43x、N32G031、N32G032 系列
- 新增华芯微特SWM341系列
- 新增NXP MKE16Z64 文件(调试还有问题)
- SPI FLASH芯片类新增 64MB型号W25Q512。
3. PC可以下传大于32MB程序文件。
-取消文件传输时每帧时间戳的log。
-修复程序文件传输时进度条显示bug
4. 系统设置-维护界面,新增通信指令测试,方便客户掌握通信协议.
5. 实现扫码枪扫码烧录.升级prog_lib.lua文件,fix_data.lua 文件
6. 滚码界面,常量值支持HEX和ASCII两种输入格式
7. H7A和H7B系列的UID地址不对,这两个系列的地址是 0x08FFF800UL
8. machine_if.lua 文件升级,装入脱机lua文件时,增加200ms延迟,用于识别1拖16转接板
9. 支持打开芯片配置文件目录(点击"系列"标签)
10. 系统设置-维护界面增加ELF文件解析功能(需要安装KEIL MDK支持)

【固件】V2.18
1. 增加lua接口 f_write() 函数,实现写任意文件
2. lua动态内存由 214K改为 216K
3. FLM解析时,如果page大于16KB,则修正为16KB. 并在log中显示出来.
Page Size   : 65536B
--Error: pagesize is modified to 16KB
4. 协助客户实现HID控制烧录器(不采用lua接口,用modbus rtu指令)
- 66H功能码写烧录启动配置文件时,先发消息再更新文件内容.
- 增加烧录状态寄存器,可通过03H功能码读取
- 解决02H功能码无法读取D0-D9状态的BUG。读寄存器可以到10个。
5. 烧写NRF51822,烧写UICF文件报 error : swd_wait_until_halted() timeout。
- V2.1.5 引入的bug。swd_prog_file.c
                /* 修改缓冲区,填充UID加密数据或产品序号 */
                PG_FixFlashMem(addr, FsReadBuf, bytes, _FileIndex, 0);               
                for (i = 0; i < bytes / PageSize; i++)
                              
6. lua 接口增加 pg_select_file() 函数(还有缺陷,执行后会复位lua环境, 以后再解决)
7. 客户反映RT1052板子硬件复位烧录成功但是不计数。修正函数的bug。(未解决)
    uint8_t MUL_swd_enter_debug_program_hw(void),
8. 增加一个全局静音参数,包括脱机烧录结束提示音、lua小程序中执行beep也将被关闭
9. Lua接口,增加读写单精度浮点、双精度浮点和字符串的函数
10. 优化计算文件MD5的函数算法,速度提高2倍.

----------------------------------------------------------------------------

发布日期: 2022-06-28
PC软件版本: V2.1.7
STM32_APP固件版本: V2.17
STM32_BOOT固件版本: V2.04

【PC软件】V2.1.7
1.脱机烧录,添加文件时就生成文件校验和

2.针对AutoChip AC7811,空片读OB和UID前必须进入DEBUG调试状态才行。升级 prog_lib.lua
在读OB和UID之前增加
      if (MUST_ENTER_DEBUG_FIRST ~= nil) then
                if (MUST_ENTER_DEBUG_FIRST == 1) then
                        pg_enter_debug()
                end
      end

3. 添加华大2个CPU,HC32L176,HC32L196
4. 添加复旦微 FM33FR0x 系列
5. 添加泰为 TAE32F53xx
----------------------------------------------------------------------------
发布日期: 2022-05-08
PC软件版本: V2.1.6
STM32_APP固件版本: V2.16
STM32_BOOT固件版本: V2.04

【PC软件】V2.1.6
1.新增脱机烧录芯片
- 普冉 PY32F003和 PY32F030 系列
- STM32H723、725、730、733、735
- ESMT(台湾晶豪) SPI-FLASHEN25Q、EN25QH系列
- Goodix(汇顶) GR551x系列
2. 修复bug. SPI控制器初始化配置第3项和第4项一样
3. SPI控制器,更新写并读的脚本,读写之间增加延迟
4. 解决串口助手接收到半个汉字时异常弹窗问题,捕获异常不显示.
5. 已添加250M示波器模块通信代码(暂未开放使用)
6,串口助手,注释栏宽度稍微调大一些

【固件】V2.16
1. Modbus API 增加04H功能码读函数
      modbus_read04_u16(port, timeout, addr485, regaddr, regnum)
      modbus_read04_s16(port, timeout, addr485, regaddr, regnum)
      modbus_read04_u32(port, timeout, addr485, regaddr, regnum)
      modbus_read04_s32(port, timeout, addr485, regaddr, regnum)
      modbus_read04_float(port, timeout, addr485, regaddr, regnum)
2. 先执行软件复位再执行硬件复位
         - static uint32_t DAP_SWJ_Pins(const uint8_t *request, uint8_t *response);
         - void ResetTarget0(void)
         - static int h7_reset(lua_State* L) 两处修改
3. 如果缺省启动设置为脱机烧录,则无法通过D7启动烧录,也无法检测电压和电流(V2.12引入的BUG)
4. 解决CANFD包长问题。

----------------------------------------------------------------------------
发布日期: 2022-04-13
PC软件版本: V2.1.5
STM32_APP固件版本: V2.15
STM32_BOOT固件版本: V2.04

【PC软件】V2.1.5
1. 界面优化
- 信号发生器D0-D9按钮增加鼠标自动提示
- 关闭信号发生器时,面板上的Check按钮同步更新
2.新增脱机烧录芯片
   合泰HT32、瑞萨RA系列、ISSI的IS25串行FLASH
3.脱机烧录新增串口控制接口,方便客户的主机控制烧录器

【APP固件】V2.15
1. 解决bug。串口监视,100.012 格式显示的ms值不对
2. 模拟信号发生器增加 10mV 档位
3. 修正服务器旧地址61.160.223.136识别bug,不能自动更新新地址
4. 解决STM32L051烧录2个文件,部分情况校验失败问题
5. 解决串口助手打印汉字偶尔显示乱码问题. tool同步汉字双字节后再传输

【EMMC】V2.15
1. 增加合泰HT32系列芯片烧录
2. 增加瑞萨RA系列芯片烧录
3. 增加ISSI的IS25LP,IS25WP全系列SPI FLASH
4. 自动解除读保护功能,部分芯片设置缺省不自动解除保护。-1表示不支持,禁止启用,0表示支持但是默认不解除
5. STM32G0B1,G0B0,缺省设置不自动解除读保护

发布日期: 2022-02-24
PC软件版本: V2.1.4
STM32_APP固件版本: V2.14
STM32_BOOT固件版本: V2.04

【PC软件】V2.1.4
1. 界面优化
- 解决从3K屏移动到2K屏显示异常问题。工程设置中,选择DPI感知为 System aware. 用 monitor per方式会异常
    缺陷:仅仅在打开软件时识别DPI,移动到其他DPI屏则是缩放界面(轻微模糊,不影响使用)
- 增加大尺寸的高清图标。缩放比率支持100% 125% 150% 175% 200% 250%, 更大的 300% 350% 则固定按 250%处理
- print log时,PostMessag 改为 SendMessage,避免漏显数据
- 加快启动速度窗体创建完毕前,线程每隔10ms检测一次创建完毕
- 发布版本设置C编译优化级别为执行时间优先(之前是无优化)
- 系统设置界面,局域网搜索出有白色竖线(需删除废弃的Edit控件)
- 如果DPI变化了,则窗口尺寸恢复缺省大小设置
2. 烧录器
- 增加导入lua配置文件功能
- 国芯2041S缺省选择扇区擦除. 已替换FLM文件也支持整片擦除
- 修正STM32F407不能解除读保护的问题(V2.10 APP固件新生的bug)
- 更正hex文件解析(02扩展地址的hex文件)
- 更正hex文件解析(分段地址跨距超0x80000000的hex文件)
- 更正EMMC文件prot_lib.lua文件, 解决烧录计数加4的bug
- 芯片选择下面的一行标签字体改小为8号,避免重叠
- PC软件打开文件夹前不设置缺省目录,自动记录上次路径
- 生成配置文件时,同时生产一个打包压缩的生产交接文件expf. 计划后期开发独立的导入小软件提供给烧录厂使用

【APP固件】V2.14
1. 修正STM32F407不能解除读保护的问题(V2.10 APP固件新生的bug)
2. 新增 lua函数f_getdir, 获得烧录脚本文件的目录,用于实现相对路径操作
3. 修正服务器旧地址61.160.223.136识别bug,不能自动更新新地址

【EMMC】V2.14
1. 升级prot_lib.lua 文件(重要更新)
- 解决烧录计数加4的问题
2. 简化高级脚本配置,重新封装start_prog
      function start_prog(board_type, ch_num)
                return start_prog_0(board_type, ch_num)
      end
      function start_prog_0(board_type, ch_num, enable_count)
3. 升级STM32F407相关的文件,OB读保护修正屏蔽位,避免误测到读保护
4. 更新国芯 4201_FPGA_QSPI4_Eflash_fix_chiperase.FLM,支持整片擦除

----------------------------------------------------------------------------
发布日期: 2022-02-08
PC软件版本: V2.1.3
STM32_APP固件版本: V2.13
STM32_BOOT固件版本: V2.04

【PC软件】V2.1.3
1. 升级编译工具,用C++ Builder 10.4编译. 支持高清字体.
2. 示波器功能
- 摒弃波形控件,使用Canvas绘图API绘制波形窗口
- 支持水平光标、垂直光标
- 支持触发电压光标指示
- 波形移动时限制移除窗口之外
3. 脱机烧录
- hex文件分离,2M门槛跨距修改为1M门槛。PSOC6,跨距可能正好2M
- 针对64k小容量hex文件,修正输出0字节bin问题
- 新增ST BlueNRG-LP 芯片烧录
- 新增桃芯科技 ING918xx 系列芯片烧录
4. TOOL在电压表界面,直接打印电压值到串口示波器
5. Lua输出窗口字体 字体大小可调节
6. 信号发生器独立到单独的窗口,新增任意波形输出功能
7. 解决在win11下左侧图标闪烁问题

【APP固件】V2.13
1. pg_swd("RDP", DPc_RDBUFF) 函数内部多了一次DPc_RDBUFF操作
2. elf文件解析,修改小问题 if (_algo->program_buffer + _algo->program_buffer_size > g_AlgoRam.Addr + RamSize)
3. lua接口函数,pg_swd("JTAG2SWD") 增加返回值IDCODE
4. swd_read_dp() 成功时才修改返回值变量
5. 新增 lua DAC接口,支持DMA模式输出任意波形
      - dac_wave_start(g_dac_buf, freq, n)
      - dac_wave_stop()      
      - dac_volt2dac(Talbe1)
6. 支持DAC波形个数控制,需使能DAC回调函数 HAL_DAC_MODULE_ENABLED

【EMMC】V2.13
1. 升级NXP MKExx、MKLxx系列脚本文件
2. 新增ST BlueNRG-LP 芯片
3. 新增桃芯科技 ING918xx 系列芯片

发布日期: 2022-01-07
PC软件版本: V2.1.2
STM32_APP固件版本: V2.12
STM32_BOOT固件版本: V2.04

【PC软件】V2.1.2
1. 串口助手
      - 可隐藏发送窗口
      - 解码器语法错误时,可显示到数据行后面
      - 可保存选择的解码器配置
2. 脱机烧录(需同步更新EMMC文件)
- 脚本页面,增加载入脚本按钮,可选择脚本范例
- 增加lua函数 get_hard_info(), 用于获得屏幕状态
- 修正lua函数 lcd_disp_label()内部实现,绘制文字时底色选择透明
- 显示文件名换行时, 出现半个汉字则会显示乱码
- 增加1拖16功能
- 修正无法解析特殊HEX文件(最后1行无回车)的bug
- 新增NXP的MKLXX系列烧录
3. 波形显示,修正X,格式显示异常的问题. DS18B20不能显示波形
4. 修正底栏缩放文字重叠问题
5. CAN助手解码器如有语法错误则显示出错原因
6. 修正BUG:

【APP固件】V2.12
1、增加写C程序变量的lua接口(内部使用)
-lua_register(g_Lua, "pg_write_c_var", h7_WriteCVar);   
-lua_register(g_Lua, "pg_read_c_var", h7_ReadCVar);
2、多路脱机烧录选择出错退出策略为继续烧录时,并且写入滚码时,编程会终止. 解决该BUG
3、调整烧录模式选择界面,增加1拖16
4. 解决bug: 进入脱机界面后再进入串口界面,串口2无法接收

----------------------------------------------------------------------------
发布日期: 2021-12-30
PC软件版本: V2.1.1
STM32_APP固件版本: V2.11
STM32_BOOT固件版本: V2.04

【PC软件】V2.1.1
1. CAN助手增加参数保存功能
2. 解决CAN助手死机问题
3. 解决RTTViewer死机问题
4. 修改记录页面增加日志(用于排查软件异常)

【APP固件】V2.11
1. 解决CAN助手死机问题
2、脱机烧录屏蔽RESET和START端口的初始化,修改为由lua根据转接板来配置

----------------------------------------------------------------------------
发布日期: 2021-12-28
PC软件版本: V2.1.0
STM32_APP固件版本: V2.10
STM32_BOOT固件版本: V2.04

【PC软件】V2.1.0
1. 脱机烧录
      - 一键下载功能(生成配置文件+传送到TOOL+执行1次烧录)
      - 载入HEX文件时,可自动拆分跨距较大的多分段文件,并自动选择缺省算法
      - 在"读芯片"页面可生成指定长度的bin文件(全00,全55,全FF,递增整数等)
      - 新增如下型号:
                - 华大 HC32L110C6PA
                - NRF51系列 NRF51822-QFAC
                - 雅特立 AT32F435CGT7、AT32F437RMT7
                - 航顺 HK32F030、HK32F030M、HK32F103系列               
                - 复旦微 FM33LC023N
      - 修正 STM32H7A, H7B系列烧录问题(重做了FLM文件)
      - 升级了STM32G0xxx系列,开放了OB区修改功能
      - ST芯片中增加外部SPI FLASH的FLM文件,仅V5, V6, V7开发板用
      - 苏州国芯更名为国芯科技, 并添加读取芯片型号功能,可实现UID加密功能
2.检测到低版本弹窗提示升级
3. CAN助手
- 取消none文件,改为使能控制
4. 截屏功能,支持横屏模式
5. 主界面图标可屏蔽
6. 更新EMMC文件时,弹窗提示是否更新

【APP固件】V2.1.0
1. ADC采集功能优化,当DAC功能使能时,ADC波形采集增加过滤功能,滤除异常毛刺。
   修改的函数为 void DSO_LockWave(void)
2. swd_transfer_retry() 一直 DAP_TRANSFER_WAIT 增加循环等待次数
3、osRtxErrorNotify() 内部死机, 已屏蔽 osRtxErrorTimerQueueOverflow 原因
   - RTX_Config.h#define OS_TIMER_CB_QUEUE         256 // 8
3. 脱机烧录.
- error_t target_flash_program_page, 写入数据小于page,并且起始地址不是page首地址时有bug
- 增加通过FLM文件读MCU序号功能
- 解决航顺HK32写选项字的bug(航顺的FLM写选项字按2字节page写入, 需要循环多次)
4. 修正 lua显示接口API.
      - lcd_disp_label(x, y, h, w, str, align, fontzize, front_color, back_color)
- c函数DispLabelRound() 函数内部X坐标和宽度修正bug。会覆盖边框。
5. 串口助手MODBUS从机,打开显示发送帧后会循环解码发送,已解决
6. LUA FLM接口文件,实现读国芯单片机的SN

----------------------------------------------------------------------------
发布日期: 2021-11-28
PC软件版本: V2.0.9
STM32_APP固件版本: V2.09
STM32_BOOT固件版本: V2.04

【PC软件】V2.0.9
1. 脱机烧录
- 解决BUG: 烧写美仁半导体的 MRF88001D1 时, 特定长度的数据文件已经烧录成功但校验错误(V2.05引入的问题)
- FLM中无EraseChip函数的,按照扇区擦除来执行 (MRF88001D1的FLM无EraseChip函数)
- 升级STM32G0xx系列,增加STM32G050, STM32G051, STM32G061,STM32G0B0, STM32G0B1, STM32G0C1
- 数据文件路径仅记录一个,不必分别记录10个。
- 增加"器件"下拉框的宽度, 解决STM32L4xx型号过长不能完整显示的问题
- 输出文件夹调整为2行显示
- 增加文件管理页面,可同步和备份User文件夹
2. CAN功能
- CAN永久发送状态可通过界面"终止发送"按钮退出,启动CAN助手和退出CAN助手也可终止发送
- 解决以太网连接方式不显示数据的问题(未识别APP版本号导致)
- 解决第1行无法复制到剪切板的bug
- CAN解码器增加波形输出功能,支持监视6个数据节点
3. UART串口助手
- 支持打印Tab('\t'), 8字节对齐
- 解决信息窗口RX1和RX2数据未更新的bug
- HID串口格式校验位支持MARK和SPACE (CDC虚拟串口不支持)
- 支持设置数据位(6-8)和停止位(1,1.5,2)
- 串口示波器,支持通道空数据 "1,2,,5"
- 修正Modbus从机的bug(寄存器数值读回异常)
- 显示PC发送数据时,*换为
- 解码器增加波形输出功能
4. RTTViewer
   - 解决第1行无法复制到剪切板的bug
         -增加搜索内存块
    {0x20000000, 0x20000},/* 128K */
    {0x24000000, 0x80000},/* 512K */
    {0x30000000, 0x40000},/* 256K */      
    {0x1fff8000, 0x08000},/* 32K- HC32F460 */
    {0x10000000, 0x40000},/* 256K - LPC1700 */
    {0x08000000, 0x40000},/* 256K - cypress */
5. lua
- 增加串口波形按钮
- 增加终止Lua按钮
- 输入窗口标题更改简化
- 增加文件管理,用于将lua文件夹同步到TOOL上
6. 系统设置
- 恢复局域网搜索。优化功能,读回的IP地址为动态IP, 自动区分WIFI和RJ45网口。
- 模拟量校准功能, USB电压和外部电源页面中增加缺省值按钮
- 固件升级功能还原为单独升级,和EMMC升级分开。因为有时无需升级数据文件。
- 更细EMMC文件时,弹框让用户确认
7. 截屏功能升级,采用图片压缩技术提高刷新速度, 更改了通信协议
8. 为解决关闭弹窗问题,关闭程序时先隐藏窗口,保存参数,最后用taskkill杀掉进程(效果待跟踪)
9. 修改记录页面增加待定功能
10.记忆主窗口大小并增加菜单-恢复缺省窗口大小.


【App固件】V2.09
1. 2.0寸横屏界面改进
      -界面00,TVCC,POWER文本框居中
      -脉冲测量、数控电源等界面,椭圆数据框展宽
      -模拟信号发生器界面
      -DAP-LINK界面
      -DS18B20界面
2. 串口助手
      - GB2312发送时,第2行对齐时间戳。并修正换行的bug
      - 支持打印Tab('\t'), 8字节对齐
      - 串口格式校验位支持MARK和SPACE, 软件支持 SostMarkSpace      
3. Lua小程序
      - 6个按钮实现动态添加, 减小按钮高度,增大打印区窗口可显示更多内容
      - PC联机下载时,如果TOOL在Lua界面,则自动重新加载按钮
4. CAN连续发送退出,通过PC按钮退出。无需长按
5. 复位指令执行直接在Modbus解析中执行,避免IF任务死机无法执行
6. 参数修改界面, 大数据修改提示停留操作1秒后长按C可退出
7. PC联机烧录时可选择烧录模式。入口: "执行烧录"按钮鼠标右键菜单
8. 系统设置中关于界面, 增加主板型号参数
9. 复位打印RTC, 方便跟踪代码
10. 取消竖屏交换S,C键的功能(V2.06针对2.0寸屏引入的).
11. 脱机编程完毕,硬件复位保持期间发送软件复位指令,调整发送时刻
12.【bug】
- 修正 wifi_task(void)函数bug,ESP32_ReadLineNoWait()需要全局变量。
- ESP32_ATGMR(gmr); char gmr;/* 缓冲区不足,会溢出 */
- DAP_Config.h reset口线配置由OD模式改为INPUT模式, 不执行RESET口线设置1的动作
    __STATIC_INLINE void PORT_SWD_SETUP (void). reset口线配置为OD模式是错误的
    __STATIC_FORCEINLINE void   PIN_nRESET_OUT (uint32_t bit) { 删除软件复位指令,放到DAP请求中去做
          static uint32_t DAP_SWJ_Pins(const uint8_t *request, uint8_t *response)
- Lua语法错误唱过128字节时,字符串缓冲区溢出,导致LCD不能刷屏
- modbus_write_floatLUA API 函数形参bug,不支持浮点传递参数
- wifi_if.c文件, static int32_t s_rx_ok_time 改为文件级全局变量, 用于10秒周期的WiFi看门狗

【Boot固件】V2.04 无变化

----------------------------------------------------------------------------
发布日期: 2021-09-25
PC软件版本: V2.0.8
STM32_APP固件版本: V2.08
STM32_BOOT固件版本: V2.04

【PC软件】V2.0.8
1.改进线程退出机制, 尽量避免关闭死机问题(好像未解决)
2.主窗口大小可保存
3.RTT Viewer功能
- 字体修改为等宽字体
- 支持鼠标复制文本
- RTT支持回车键发送\r
- 支持RTT示波器, 支持科学计数法的数字,支持设置X坐标轴值
- 支持加时间戳
4.串口助手
- 右侧的参数栏搬移到启动助手的弹窗窗口中
- 增加MODBUS助手功能
- 增加MODBUS虚拟从机功能 (未完成完整测试,临时屏蔽了)
- 非HEX模式时, 128字符换行修改为100字符自动换行
- 操作日志窗口隐藏不在显示了
- 串口时间戳由CPU运行时间改为RTC时钟戳
- 串口示波器支持科学计数法的数字,支持设置X坐标轴值
- HEX模式,发送数据前面增加*表示是PC机发送的
- 支持鼠标复制文本
- 串口界面刷新调整为定时100ms(避免大量数据导致界面假死)
- 支持选择串口1或串口发送数据
5.示波器增加CH2的波形放大和缩小,调整缩放策略为10%步进
6.CAN助手, 修正CAN助手光标滚动bug,允许上翻到仅剩1行。
7.增加USB供电和外部供电校准界面
8.脱机烧录
- 配置页面增加高级脚本功能
      - UID长度为0,表示芯片不支持UID,PC界面上禁相关控件
      - 增加极海 APM32F0xx_128.FLMAPM32F0xx_256.FLM
      - 增加美仁半导体的一款ICMR88FX02
      - 增加国芯 CCM4201S (内置2M QSPI FLASH)
      - 增加华大 HC32F460系列
      - 增加NXP(飞思卡尔)的MKEXX系列(MKE02Z, MKE04Z, MKE06Z, MKE14F, MKE14Z, MKE15Z, MKE16F, MKE18F)
- 针对STM32G031,如果固件自己做了读保护设置,则强制用UnderReset模式才能读到IDCODE。
    G031 缺省复位模式设置为UnderReset,烧录完毕后选择不动作(也就是不要复位)才能读取Flash和OB
- 增加禁止检查空片的控制(NXP MKE02系列内部EEPROM不能执行查空操作)

【App固件】V2.08
1. lua 增加 crc16_modbus 函数
2. WiFi功能
- 关闭WiFi模块内部上电自动重连功能,由STM32程序控制接入AP
- WiFi名字支持UTF8中文. 最大密码长度由16字节改为32字节. AP列表支持从第1行开始
- 解决IP地址0的问题. 扫描的AP超过20个时会发生该问题
3. 脱机烧录
- 屏蔽多路烧录软件复位指令错误 ERROR:1112 ack = 0x08,0x00,0x00,0x00)
- 烧录1K文件,芯片扇区大小为256的芯片。校验的地方有BUG,已解决
- 增加禁止检查空片的控制
5. 增加USB供电和外部供电校准寄存器
6. 调整WIFI任务优先级低于IF_USER, 避免死机问题
7. 串口助手
- HEX模式,发送数据前面增加*表示是PC机发送的
- 自动换行参数定义为串口超时换行参数
9. RTT上行缓冲区由2K改为8K, 下行由512改为1K
10.测温界面,可选择NTC类型
11.调整LCD底层SPI时序的相位关系(为了支持新到的一批2.0寸屏)
12. EPS32固件升级界面,切换到AT模式后,按C键可以查询固件版本 AT+GMR

【Boot固件】V2.04
1.调整LCD底层SPI时序的相位关系(为了支持新到的一批2.0寸屏)

----------------------------------------------------------------------------
发布日期: 2021-08-03
PC软件版本: V2.0.7
STM32_APP固件版本: V2.07
STM32_BOOT固件版本: V2.03

【PC软件】V2.0.7
1.解决局域网无法读取示波器波形的BUG(V2.0.5)
2.SPI控制器界面,通道参数名称改为选择片选
3.左侧栏增加按钮:SCR截屏、SYS系统设置
4.Lua API助手入口挪到帮助菜单

【App固件】V2.07
1. 增加WiFi功能
2. 增加颜色风格切换,明亮和暗黑两种风格
3. 增加离线模拟信号发生器功能
4. 基本参数 网络参数升级后,统一恢复为缺省值,避免旧固件缺省参数异常。
5. 新增背光亮度参数(调节范围 5-255)
6. 修正N76E003复位引脚被程序占用导致无法2次烧录的问题(网友luguo提供).
7. IP分配参数增加选项:强制DHCP参数,应对路由器自动复位时,进入静态IP状态.
8. HID串口助手
   - 优化代码实现2M波特率无丢码.
   - HEX格式,回车换行字符在LineIdel中断中添加
9. 避免烧录成功但最后报错的问题(原因是访问UID地址时出错,修正不支持UID的MCU配置文件)
10. 修改多路烧录模式时序, 提高一拖四烧录成功率
   - 延迟大于0时,CLK空闲时设置为0电平,数据改变在CLK=0期间改变.
   - 延迟等于0时,还是沿用之前的时序,数据在时钟上升沿同步变化.
11. 解决BUG: PC传送文件时,重发帧计算数据偏移错误, 导致只要出现重传情况,则最终MD5校验不过的问题。
12. 串口助手log文件。时间戳前面有串口号了,后面就没必要再加
13. STM8S003,烧录特定BIN文件,下次烧录需要先读UID的问题。检测IC函数执行前对GPIO重新配置.
14. 解决部分lua程序执行显示乱码和死机问题。void LCD_DispStrEx() 内部对不可见字符的格式化处理有问题.

【EMMC磁盘文件】V2.07
1. 解决STM32F411烧录提示解除保护问题,修正缺省OB值
   - STM32F411xE_256.lua
   - STM32F411xE_512.lua
   - 微信客户戴健LIONB帮验证
2. 国芯CMM4202文件, 延迟调整为10, 校验选择软件CRC,UID长度=0
   - UID_BYTE = 0 不支持直接读FLASH区域
3. 新增大唐DTS1585脱机烧录文件

----------------------------------------------------------------------------
发布日期: 2021-07-01
PC软件版本: V2.0.6
STM32_APP固件版本: V2.06
STM32_BOOT固件版本: V2.03

【PC软件】V2.0.6
1.增加密码功能,启用后进入U盘需要密码
2.增加远程访问功能
3.执行EMMC文件复制时,解决打印log闪屏问题
4.左下角LED指示灯,在通信超时后设置为灰色
5.串口助手,修改定时时间参数时会自动开启自动发送的问题
6.界面左侧增加图标工具栏
7.示波器界面,调整顶部状态栏的字体大小,显示鼠标测量的操作方法
8.CAN助手界面,增加分频参数,同时控制不用的参数显示灰色
9.取消以太网搜索功能

【EMMC磁盘文件】V2.06
1. 新增 emmc_version.txt 文件用于描述磁盘文件版本和更新记录
2. 解决STM32G431芯片OPT烧录bug
   - 更新 STM32G4xx_CAT2_OPT.FLM
   - 更新 STM32G431_441相关的lua
3. 更新STM32G031芯片OPT缺省数据错误
4. 新增 GD32F1x0 系列的烧录文件
5. NRF52系列,缺省校验方式选择0自动
6. 新增Cypress PSoc4系列芯片
7. 新增复旦微 FM33LG0xx系列芯片

【App固件】V2.06
1. 增加密码功能
- 启用密码功能后,进入U盘模式、同步时钟、外网远程访问时均需要输入密码
- 密码保存在CPU FLASH内,启用密码后,固件会自动设置为Flash读保护(禁止仿真器读出密码)
- 如果使用J-Link等工具烧录TOOL的固件,必须先解除读保护(会擦除全片)
- 可防止烧录公开的固件获取EMMC文件数据
- 加密后将禁止lua接口中的文件读取功能

2. 增加外网访问功能(RJ45网口)
- 网络参数中新增DHCP参数,缺省是自动获得IP
- 增加服务器IP和端口号参数,缺省值61.160.223.136 端口30100
- 通过我司的隧道服务器中转数据

3. 脱机烧录功能
- 去掉输入产品序号和清零总记录的菜单项
- 修正校验模式选择软件CRC和硬件CRC时,烧录成功但是最后报错的bug(V2.05的bug)
- 开机启动设置为脱机烧录时,多路模式允许返回到烧录模式选择菜单,单路烧录不允许返回
- 横屏模式,菜单超出屏幕以外,已修正
- 多机烧录的宏 MUL_SW_READ_BIT_SLOW(bit),更改延迟函数的位置

4. 示波器功能
- 解决普通触发模式容易程序假死问题。看门狗中断服务程序中不在死等硬件边沿,超时一段时间后自动退出,避免假死
- 去掉5Msps采样频率,实测16bit只能到3M左右。后期有空时用8bit模式实现更高的采样频率.
- 低频波形计算不准bug. 实际是ADC采集频率设置不对,低于2K的采集频率需要分频。
- 解决波形右边一根竖线问题,原因: 低于200K的采样频率,计算触发后的时间不足一个单位,容易导致缺失最后一个样本
- 解决波形左边一根竖线问题,原因: 启动ADC时,自校准未完成,也就是触发器的等待时间不够

5. DAC输出波形功能
- 解决小频率不正确的问题,DAC触发定时器配置问题
- 解决高频波形输出时假死问题。小于50KHz时,样本数取128,输出波形频率大于50KHz时,样本数降低为64个,

6. 上电缺省TVCC电压
- 由微型数控电源设置TVCC, 掉电可保存
- 基本参数中增加TVCC设置(这个和数控电源的TVCC是同一个参数)
- DAP-Link参数中取消TVCC设置
- 联机模式界面,显示TVCC实时电压值(DSO示波器启动时,不显示TVCC)

7. 系统设置中的关于菜单
- 增加网络信息页面(动态IP地址,网关等)
- 增加模拟量状态页面(可查看USB供电电压)
- 增加显示EMMC磁盘文件版本

8. lua接口API,增加f_size()函数获得文件大小 , f_password()函数输入密码(设备加密后需要用)
9. 所有的参数设置页面之前的标题文字是设置参数,现在改为按不同的功能显示不同的标题。
10. USB虚拟串口支持7bit+1校验的模式.数据监视器中的串口助手暂未添加7bit模式)
11. 解决CAN低波特率的bug. 低于100K的波特率需要分频。参数设置中增加了分频参数

【BOOT】V2.03
1. 针对WIN7的U盘升级,关闭USB然后延迟2秒后再跳到APP程序。

----------------------------------------------------------------------------
发布日期: 2021-05-14
PC软件版本: V2.0.5
STM32_APP固件版本: V2.05
STM32_BOOT固件版本: V2.02 【无变化】

【PC软件】V2.0.5
1.只允许开启一个exe
2.增加CAN助手功能
3.串口助手中新增串口示波器功能

【EMMC磁盘文件】
- 新增华芯微特SWM0x0、SWM1x0、SWM2x0、SWM3x0系列芯片烧录
- 新增AutoChips(杰发科技)AC780x、AC781x系列芯片烧录

【App固件】V2.05
1. 实现CAN监视器功能,PC机增加了CAN助手功能
2. lua增加CAN接口API
3. lua增加读文件接口API, f_read, f_dir
4. DS18B20温度表,增加数据传送到PC机串口助手的功能,PC机可记录和展示曲线
5. 调整USB HID两个任务的优先级,解决示波器开启时,DAP-Link HID下载失败问题
6. 解决串口监视器界面参数设置菜单乱码问题

----------------------------------------------------------------------------
发布日期: 2021-04-23
PC软件版本: V2.0.4
STM32_APP固件版本: V2.04
STM32_BOOT固件版本: V2.02 【无变化】

【PC软件】V2.0.4
1.简化DAC发生器的操作步骤,输出电压和电流时自动切换到无波形状态。
2.优化LOG显示代码,在修改文本期间禁止绘图,大幅度提高lua print的打印显示速度
3.LOG窗口TMemo控件最大只有64K字节容量,程序已加限制,超过64K将清空.
4.对不支持OB区操作的芯片,将OB相关编辑框颜色设置为灰色
5.帮助菜单中增加本地说明书的链接
6.串口助手窗口显示字体换为等宽的黑体,HEX格式显示时,自动32字节换行并对齐

【EMMC磁盘文件】
- 新增南京沁恒CH32F103系列芯片烧录
- 新增华大HC32L136、HC32F030、HC32F14系列芯片烧录(不支持串口ISP解锁)
- 新增CKS32系列芯片烧录(CKS32F0xx、CKS32F1xx)
- 解决APM32F030连续烧录时一会儿成功一会儿的失败问题,修改缺省配置参数
    烧录完毕执行断电重启, 断电时间300ms.
- MM32所有的lua文件都整理下,设置好缺省值(时钟延迟\复位模式\最优的校验方式)
- 完善nRF52系列芯片的缺省配置参数(烧录完毕断电,时钟延迟设置2)

【App固件】V2.04
1. 解决RTT Viwer, PC端不支持UTF8切换通道的BUG. Byte_UTF8_to_GB()
2. STM8S 烧录问题(AC6语句优化导致的问题)
3. 解决灵动MM32选择全片擦除时, 需要第2次烧录才成功的BUG(擦除后要重新init)
4. 屏幕类型缺省参数设置为2.0寸
5. 串口助手HEX格式显示时,自动32字节换行并对齐


----------------------------------------------------------------------------
发布日期: 2021-04-16
PC软件版本: V2.0.3
STM32_APP固件版本: V2.03
STM32_BOOT固件版本: V2.02

【PC软件】V2.0.3
1.USB HID帧缓冲区改为1024, 支持自动识别,可兼容V2.00的TOOL固件
2.脱机烧录功能更改
- 烧录完毕,支持断电
- TOOL上滚码支持10进制和16进制
- 不支持OB操作的片子,界面控件显示灰色
- 选中芯片时,自动显示说明文件
- 修改算法时,地址编辑框自动填充地址值
- 支持参看生成的配置lua文件(点查看文件按钮)
- 支持查看CPU对应的lua配置文件(点lua文件名标签)

3.串口助手界面,支持记忆展开和隐藏发送面板,发送窗口可以调节尺寸
4.EMMC磁盘文件更新
- 新增nRF52系列芯片烧录
- 修改prog_lib.lua

【App固件】V2.02
1. 升级HAL库到V1.10.0
2. USB HID帧缓冲区改为1024
3. 解决屏保超时参数第1次上电不起作用的问题
4. SPI刷屏硬件初始化仅在参数变化时执行
5. 脱机下载功能优化
- TOOL上显示滚码支持HEX显示和10进制显示,显示的滚码为下次将要烧录的滚码
- 文件选择界面,可显示的行数多了一行,已修正
- lua 读ID操作时,增加swd初始化
- SwdProngFile,编程前增加初始化
- lua增加DP AP寄存器的读写接口
- 新增nRF52系列芯片的解密和烧录
- 优化烧录计数器文件的读写机制,避免读文件失败计数值清零问题
6. 文件浏览器增加图标显示,方便区分文件夹和lua文件
7. I2C总线控制,新增几个lua接口函数
   - 支持读取和设置SCL SDA电平
   - 支持时钟拉伸
   - 支持发送数据时,可选择是否 stop信号
8. 硬件信息菜单改为关于菜单,支持显示CPU版本(Y版或V版), 文字右对齐
9. MD5算法用H750的硬件MD5实现,因为V版CPU不支持,放弃修改,代码已屏蔽
10. 主板RTC VBat功能异常时允许进入界面(BOOT也要修正,更正到V2.02)
- 固件库修正:stm32h7xx_hal_rtc.c文件
    函数 HAL_StatusTypeDef RTC_EnterInitMode(RTC_HandleTypeDef *hrtc) 解决超时不退出的bug
- LSE_STARTUP_TIMEOUT, 32K时钟异常超时由5秒修改为1秒
- 程序跳转变量 RAM1_JUMP_VAR 从备份寄存器移到内部RAM

【Boot固件】V2.02
1. 升级HAL库到V1.10.0
2. 主板RTC VBat功能异常时允许进入界面
3. 背景颜色修改为浅红色

----------------------------------------------------------------------------
发布日期: 2021-04-14
PC软件版本: V2.0.1和 V2.0.2
临时发布,已撤销作废

----------------------------------------------------------------------------
发布日期: 2021-03-31
PC软件版本: V2.0.0
STM32_APP固件版本: V2.00
STM32_BOOT固件版本: V2.01

【PC软件】V2.0.0
1.USB通信由USB虚拟串口修改为USB高速HID接口
2.增加RTT Viewer功能,支持UTF-8编码,支持记录保存
3.增加HID串口功能, 支持双路串口数据显示,支持UTF-8编码,支持记录保存
4.脱机烧录界面更改
      - 读flash的功能挪到新增的页面
      - 传送到TOOL时就控制TOOL进入脱机界面(暂不烧录)
      - 点击烧录测试按钮时控制TOOL执行一次烧录(之前是通过执行临时lua代码执行)
      - 简化界面,不在提供烧录临时文件功能
5.显示lua打印数据采用主动查询方式实现,无需另开UDP监听端口777
6.定时截屏功能启用后,页面切换到其他页面后自动关闭刷屏避免占用USB带宽

【App固件】V2.00
1.程序结构重大升级: 逻机系统改为RTX操作系统, AC6编译.
2.PC通信接口由USB虚拟串口修改为USB HID通信接口
3.DAP-Link仿真器功能可与其他大部分功能同时使用,不能同时用的有:
RTT Viewer,脱机烧录,USB虚拟串口,USB虚拟磁盘
4.脱机RTT Viewer支持UTF-8编码
5.支持2.0寸(320*240)显示屏,通过参数切换
6.USB虚拟串口功能移到单独的界面
7.完善脱机烧录功能:
- 解决拖3烧录STM32L051失败的问题
- 解决多路烧录时FLM_CRC校验失败的问题
- 如果启用了普通滚码,则在小屏上显示上次滚码

【Boot固件】V2.01
1.更改为虚拟U盘模式更新固件,可以无需上位机软件支持。

----------------------------------------------------------------------------
----------------------------------------------------------------------------
程序结构重大升级: RTX系统, USB HID通信, DAP-Link单独固件取消直接集成到APP固件
----------------------------------------------------------------------------
----------------------------------------------------------------------------

发布日期: 2021-03-25
PC软件版本: V1.4.6
STM32_APP固件版本: V1.49
STM32_BOOT固件版本: V2.01
STM32_DAP固件版本: V1.05 (无变化)

【PC软件】V1.4.6
1.脱机烧录功能
-底部部分按钮单独挪到读芯片的页面,取消烧录临时文件的功能
-滚码页面,支持64ibt整数初值
-PC传送配置文件时,TOOL自动切换到烧录状态
2.EMMC磁盘文件更新
- fix_data.lua 滚码支持64bit整数,支持递增步长设置
- prog_lib.lua 支持单独烧录第2路、单独烧录第3路、单独烧录第4路
- prog_lib.lua 完善SPI Flash的全片擦除功能
- 新增国民技术的N32G45x

【App固件】V1.49
1.完善脱机烧录功能
- 脱机烧录菜单变更,进入后选择烧录模式,再进入烧录界面,方面单路和多路切换
- 一拖四功能支持单独烧录第2路、单独烧录第3路、单独烧录第4路。
- 脱机烧录的滚码支持64bit整数,支持修改递增步长
- PC传送配置文件时,TOOL自动切换到烧录状态
- 针对国民技术的N32G45x,软件复位指令执行失败后重新初始化swd接口时序

【Boot固件】V2.01 --U盘拖放升级固件
1.解决BUG: 少部分客户升级时会黑屏
- 原因:部分电脑系统会写入一些小的系统文件,TOOL会被认为是固件。
- 解决办法: 判断写入的文件是合法固件后才进行更新

----------------------------------------------------------------------------
发布日期: 2021-03-17
PC软件版本: V1.4.5
STM32_APP固件版本: V1.48
STM32_BOOT固件版本: V2.00
STM32_DAP固件版本: V1.05 (无变化)

【PC软件】V1.4.5
1.脱机烧录界面-高级配置中的其他参数改为列表形式,方便后期新增参数
2.增加读内存指令间延迟参数(解决MM32L073多路自动烧录问题)
3.EMMC磁盘文件更新
    - 解决STM32F103C8T6多路烧录异常,新增一个延迟参数MUL_DELAYUS_READ_ACK
    - 解决UID加密示范文件的bug (encrypt_001.lua)
    - 机台输出信号NG输出状态在某种情况下存在bug(prog_lib.lua)

【App固件】V1.48
1.系统设置参数增加一个进入boot的入口,升级APP固件
2.针对多路SWD烧录,新增一个延迟参数 MUL_DELAYUS_READ_ACK

【Boot固件】V2.00 --U盘拖放升级固件
1.使用USB虚拟磁盘模式升级固件

----------------------------------------------------------------------------

发布日期: 2020-01-24
PC软件版本: V1.4.4
STM32_APP固件版本: V1.47
STM32_BOOT固件版本: V1.03
STM32_DAP固件版本: V1.05 (无变化)

【PC软件】V1.4.4
1.脱机烧录界面-高级配置中的其他参数改为列表形式,方便后期新增参数
2.增加读内存指令间延迟参数(解决MM32L073多路自动烧录问题)
3.EMMC磁盘文件更新: MM32L07x_128.lua--新增缺省参数 MUL_DELAYUS_READ_DATA = 50

【App固件】V1.47
1. 优化插入自动烧录功能。识别到IDCODE后延迟一段时间后再进行烧录。
   解决上电较快但是硬件复位比较慢的板子自动烧录失败的问题。
   延迟时间通过PC配置,参数名称:重新上电后的延迟(ms)
2. 解决灵动MM32L07X芯片多路烧录时失败的问题。
   增加一个配置参数,在读内存指令之间增加几十us级别的延迟(50us)。
   迟时间通过PC配置,参数名称:读内存指令间延迟(us)

【Boot固件】V1.03
1.解决V板CPU写Flash失败的问题

----------------------------------------------------------------------------
发布日期: 2020-01-08
PC软件版本: V1.4.3
STM32_APP固件版本: V1.46
STM32_BOOT固件版本: V1.02 (无变化)
STM32_DAP固件版本: V1.05

【PC软件】V1.4.2
1.无

【App固件】V1.46
1.部分文字颜色加深
2.内嵌的DAP固件解决部分情况死机问题


----------------------------------------------------------------------------
发布日期: 2020-12-26
PC软件版本: V1.4.2
STM32_APP固件版本: V1.45
STM32_BOOT固件版本: V1.02 (无变化)
STM32_DAP固件版本: V1.04 (无变化)

【PC软件】V1.4.2
1.解决EMMC磁盘搜索BUG。原因: 如果H7-TOOL的移动盘符之后还有其他的无卷标的移动设备,
则会将最后一个盘符认为是H7-TOOL的磁盘。
2.软件打开缺省定位到屏幕中间,而不是桌面中间(解决双屏桌面显示到两屏之间的问题)
3.解决EMMC磁盘更新,不支持空格路径的问题,路径需要加双引号
4.下载lua程序有时报错,原因是lua文件长度取值不正确
5.增加截屏功能(系统设置-截屏页面)
6.生成脱机烧录配置文件时,增加数据文件校验和显示
6.增加恢复基本参数到出厂值功能(系统设置-通信接口-按钮)
7.更新主板原理图,之前未标注型号的芯片已添加型号
路径: Help\sch   入口: PC界面菜单, 帮助 - 电路原理图

【App固件】V1.45
1. 增加PC机截屏功能(用于编写说明书)
2. 增加PC机模拟按键功能
3. 虚拟串口界面返回时退到扩展菜单
4. 修改脱机烧录界面,显示数据文件的累加校验和
5. 增加恢复基本参数缺省值(不含校准参数)的功能(PC控制)
6. status_system_set.c中几个装态拆分到单独的文件status_usb_emmc.c,
   status_usb_uart.c, status_esp32.c
7. emmc磁盘文件更新prog_lib.lua文件,增加通道参数异常时报错

----------------------------------------------------------------------------
发布日期: 2020-12-24
PC软件版本: V1.4.1
STM32_APP固件版本: V1.44
STM32_BOOT固件版本: V1.02
STM32_DAP固件版本: V1.04

【App固件】
1. 传送脱机烧录的文件增加MD5完整性校验,并解决文件写入不全的BUG
2. USB虚拟串口功能单独做到扩展功能菜单中,其他状态均为PC USB通信模式
3. 取消上电启动lua时蜂鸣一声.
4. 上位机可以无需下载lua文件,直接执行临时窗口的lua程序
5. SPI-Flash烧录部分代码,解决几个缓冲区size偏小的bug
6. Modbus解码异常时禁止发送应答:MODS_SendAckErr(ERR_PACKAGE);
7. 新增文件:nvic_prio_cfg.h 全局统一配置每个中断的优先级
8. 升级STM32H7的HAL库
9. LwIP由2.0.3 升级到2.1.2
10.USB上电延迟2秒后再初始化,解决win7下USB使用异常
11.00界面增加USB和以太网联机状态指示。g_tVar.LinkState 变量表示联机状态

【Boot固件】
1. 由1.00升级到1.02。Flash编程完毕后增加读回校验。

【PC软件】
1. 脱机烧录页面新增: 掉电复位、擦除Flash、解除读保护、使能读保护、
   读选项字、读Flash数据到文件等功能
2. 完善模拟量校准界面。支持备份和恢复校准参数
3. U盘文件管理,支持同步镜像模式. 替换XCOPY指令为ROBOCOPY指令
4. 全面支持以太网、USB两种通信模式,USB连接也可以支持lua和测试程序烧录
5. 支持软件更新提示(在底部状态栏), 以后升级直接从服务器下载压缩包解压即可
6. 为exe文件添加H7-TOOL的图标
7. 新增文件夹 Help\sch 存放电路原理图,通过PC软件的帮助菜单可以打开
8. 帮助菜单增加查看修改记录
9. Lua小程序界面增加4个窗口,方便保存临时lua代码
10. LuaAPI助手界面增加gui相关的函数列表
11. 固件更新页面新增更新 boot固件按钮

----------------------------------------------------------------------------
2020-12-17 STM32固件版本:V1.44, V1.43对应PC软件版本 V1.4.0

1.脱机烧录增加苏州国芯的2个M4芯片.
2.脱机烧录增加SPI Flash型号:MXIC的MX25L256, MX25L512和镁光25QL128、25QL256、25QL512等几个大容量芯片
3.解决脱机烧录中的几个BUG
    - 解决SST25VFXXX系列串行FLASH不能正确识别的问题。这个片子读ID和编程的方法与其他厂家差别较大
    - 解决大容量芯片(大于16MB)烧录异常的问题(需要4字节地址访问)
    - ARM芯片烧录,编程完毕后执行FLM中的uninit()、target_flash_init(_FlashAddr, 0, FLM_INIT_VERIFY) 后再执行读回校验
    - 解决FLM文件不规范导致的器件信号区信号解码错误(目前为止,只遇到过一个这样的FLM)
    - FLM有verify校验函数的, page_size按照FLM中来
    - 查空前, 先执行FLM中的init(verify), 再装载和执行check_blank函数。实测有些FLM文件不行,放弃改动.
    - 单路模式机台信号,D7无法触发烧录,原因:
    (1)void status_ProgWork(void) 单路和多路SWD GPIO初始代码反了,导致D7配置为输出
    (2)从00界面进入脱机界面,未启动ADC多通道扫描,导致lua脚本判断TVCC过低,不执行触发信号检测
   
4. PC机传送文件到H7-TOOL,解决小文件(比如ini文件)不会写入的bug         
5. PC机传送文件,增加USB接口支持.
6. 调整USB中断和EMMC中断优先级,避免死机问题
7. USB串口中断中处理modbus指令,遇到写SD卡操作,会阻塞死机,已解决
8. 通信协议中新增加一个指令,PC可以控制H7-TOOL进入U盘模式、DAP模式
9. lua_DrawLine(), 解决颜色形参取值bug

----------------------------------------------------------------------------
2020-12-09 V1.42
1.DAP固件升级到V1.04版本
    -增加离线版RTT Viewer功能(无需PC机)
    -增加离线串口监视功能(无需PC机)
2.APP固件修正bsp_InitHardTimer()函数的bug(运行时间us数错误)
3.00联机界面去掉端口号显示

----------------------------------------------------------------------------
2020-12-06 V1.41b
1.DAP固件升级到V1.03版本,解决低电流板子调试异常问题

----------------------------------------------------------------------------
2020-12-04 V1.41
1.lua接口增加LCD显示函数,可以构建图形元素. 新增文件 lua_if_disp.c
2.DAP固件升级到V1.02版本,解决复位方面的小BUG,增加NRST电平指示功能.
3.bsp_InitTVCC() 内部取消TVCC_OFF的语句. 避免从DAP固件跳入后TVCC短暂关闭

----------------------------------------------------------------------------
2020-11-29 V1.40 【重大更新】
新增功能:
1.增加SPI Flash脱机烧录功能(需要升级PC软件,更新EMMC磁盘文件)
2.增加CMSIS-DAP仿真器功能。新增2个参数控制TVCC电压和蜂鸣器使能
3.增加DS18B20温度传感器驱动接口,D0-D7可外接8个传感器.
- 新增lua接口函数ok,temp = read("DS18B20", 2) --读D2口外接的传感器数据
- 数据监视器菜单下新增DS18B20温度表(显示8路温度值)

BUG:
1.解决串口监视器BUG,ASCII模式如果收到0x00, 则不显示后面的数据。需要将不可见字符转换空格
2.解决在非lua小程序界面执行lua(PC机下载)无法长按C退出的问题

其他优化:
1.按键驱动底层忽略从其他状态跳转过来时,第一个长按键和按键弹起事件
2.上电不显示logo界面(以前有2秒延迟)
3.lwip初始化代码拆分到 lwip_pro() 中执行,加快界面启动速度

----------------------------------------------------------------------------
2020-10-19 V1.35
1.解决CX32芯片机台信号异常(1拖2模式解除SWD保护时,机台GPIO输出解锁脉冲)
2.增加lua i2c总线和spi总线接口函数,pc软件支持I2C,SPI总线控制

----------------------------------------------------------------------------
2020-10-19 V1.34a
1.解决旧版升级到新固件后,串口监视界面死机问题。原因是缺省参数不正确。

----------------------------------------------------------------------------
2020-10-19 V1.34
1. 修改net_udp.c中lua_udp_SendBuf()函数,遇到0x0A就立即发送,解决PC软件显示log不全问题
2. V1.33 emmc磁盘文件有误,machine_if.lua和prog_lib.lun需要更新
3. 多路模式烧录,最后发复位指令时需要忽略错误标志
4. i2c操作的函数lua接口api汇总到一个函数i2c_bus(), 第1个形参用字符串表示操作指令

----------------------------------------------------------------------------
2020-10-18 V1.33
1. 增加新唐N76E003芯片脱机烧录
2. 增加恒烁CX32L003系列脱机烧录
3. 增加烧录机台信号接口
    - 增加lua文件: machine_if.lua 实现机台接口
    - 单路模式实现机台信号(无需转接板)   
    - 在1拖4转接板上实现1拖2模式下的机台信号
    - 目前1拖4模式下GPIO不够用,不能实现机台接口,后期将开发带扩展IO的转接板来实现
    - 出错终止策略可通过lua设置,
    - 终止时NG(No Good)策略可通过lua设置
4. 多路烧录时,某一个芯片出错可选择终止或者继续烧录, 烧录提示音区别
    - 全部成功: 短音1声
    - 部分成功: 长音1声,LCD会显示出错通道
    - 全部失败: 滴滴滴急促3声
5. 统一参数设置页面的操作方法
    - 扩展功能-系统设置-参数设置
    - 扩展功能-脱机烧录器-烧录设置-烧录参数
    - 扩展功能-数据监视器-串口(TII/485/232)-设置串口参数
5. 可在H7-TOOL上手动修改IP地址
   
BUG修复:
1. 修改休眠后按键唤醒功能,没有忽略首次唤醒键.

----------------------------------------------------------------------------
2020-09-24 V1.32
1. 增加串口监视功能
    - 联机模式界面,长按S进入进入扩展功能界面,选择数据监视器
    - 支持2路串口数据显示,第1路: 232RX,485,TTTLRX 第2路:D1 URX   
    - 支持HEX,ASCII格式选择,字体12点阵和16点阵
    - 支持加时间戳功能,精确显示到us (双路时误差30us)

2. 优化emmc驱动
    - 由1线模式修改为了8线
    - MSC_MEDIA_PACKET 由512改为16*1024
    - 4线的读速度10.5MB/s,8线的读速度15.2MB/s
    - 8线模式,写速度 6-9MB/s

3. 脱机烧录器 (需要配套PC软件升级V0.9)
    - 新增支持雅特力AT32。
      AT32F403的FLM文件中page size字段不正确超过了OB Size,导致写OB失败。
      程序进行自动修正,page size 必须小于等于device size.
    - 重新加入复位模式选择参数。上个版本做的自动模式在无RST条件下成功率不高。PC软件上选择复位模式
      -- 自动模式临时按软件模式操作,0自动模式 1软件模式 2硬件模式
    - 烧录完毕后,在硬件复位期间同时发送软件复位指令. static int h7_reset(lua_State* L)
    - PC软件显示的烧录算法列表可以通过lua文件设置

4. 显示驱动修正 void ST7789_DrawScreen(void) 等待DMA传输完毕的语句放到DMA传输之后,死等。
   之前的固件是先等待在DMA传输,容易导致视觉闪裂现象

5. 串口驱动优化
    - UART_IRQ(). 增加奇偶校验判断,但是没起作用,无论是无校验、奇校验、偶校验都可以接收数据
      if ((isrflags & USART_ISR_RXNE_RXFNE) != 0 && (isrflags & USART_ISR_PE) == 0U)
    - 串口中断添加 IdleLine回调函数,字符间超时中断。 用于串口监视功能

6. bsp_timer.c 增加精确到us的运行时间函数,uint64_t类型。用于串口监视器功能
    - uint64_t bsp_GetRunTimeUs()    获得CPU运行时间uint64_t
    - uint64_t bsp_CheckRunTimeUs(x)当前时间和之前的时间差值

7. LCD_DrawMemo(), 文本框显示函数修改为FiFo机制. 文本框缓冲调大到4KB.

8. 新增c文件:modify_param.c, 专门用于设置应用程序参数.

BUG修复:
1.完善示波器普通触发功能,修正触发死机问题(不过很小几率还是会挂,并未完全解决)

2. lua_udp_SendBuf() 中 bsp_StartHardTimer(3, 5, udp_print_send), 单位是us,原计划是5ms的
(此处未改,改了PC界面居然打印显示不全)

3. 电压表功能,修改自动量程的判断条件
   static void AutoVoltRange(void) 中,最后一档100mV量程判据由0.1V改为0.095V.

----------------------------------------------------------------------------
2020-09-20 V1.31
1. 适配RT1052, 支持Hyper Flash 和 QSPI Flash.
2. 打印FLM文件时,显示第1个扇区的大小
3. lua文件中增加 RESET_DELAY 变量,缺省20ms,可通过lua修改。硬件复位后的延迟时间
4. lua文件中增加 RESET_MODE 变量,缺省0 表示自动. 1表示软件复位
5. FLM擦除扇区超时时间,没有按照FLM中的执行. RT1052擦除256KB扇区,超时3秒
6. 在线传送文件功能,提高效率。缓存16KB后再写入.

----------------------------------------------------------------------------
2020-09-10 V1.30 【重大更新】
1. 完善脱机烧录功能 (需PC软件升级到V0.7以上,之前的烧录lua脚本需要用PC软件重新生成)
- 增加支持GD32、新唐部分系列
- 完善滚码、UID加密功能
- 增加RS485数码管显示烧录状态。
- 烧录器LCD背光控制策略改进
   - 连续烧录模式,如果背光关闭后再次插入目标板烧录时自动开启背光。
   - 烧录开始时屏蔽背光控制,烧录结束后恢复背光控制,避免烧录时间大于1分钟中途关闭背光
- 校验逻辑增加分支: 如果FLM中有Verify则使用它(实测新唐的不行)
- 函数增加形式参数 error_t target_flash_init(uint32_t flash_start, unsigned long clk, unsigned long fnc)
- 完善 h7_Read_OptionBytes 函数,增加新唐片子的支持
- 脱机烧录复位选项取消。先尝试软件复位模式,失败后使用硬件模式
- void lua_do(char *buf) 允许嵌套重入。 烧录脚本需要用到该功能
- 64H下载lua程序的帧格式调整,增加2字节子功能码,用于连续文件下载
- 调整全部lua脚本,增加复位期间关闭看门狗的功能

2. 解决脱机烧录BUG
- 多路烧录,如果扇区擦除超时失败,则不能提示是哪一路失败
- 查空函数判断不严谨,target_flash_check_blank(uint32_t addr, uint32_t size)
    - 0和1表示空和不空,没有通信失败的分支
    - swd_flash_syscall_exec_ex() 修改返回值类型,可以识别出通信失败
- 多路烧录。写入1K的小文件(小于16K)时校验失败,读回校验bug
- 多路模式选择读回模式校验失败,CRC校验OK。
- 可能导致死循环的BUG, uint8_t *MUL_swd_transfer_retry(uint32_t req, uint32_t *data)
    bug ,uint8_t err_cout; 应该为uint16_t类型。
   
3.其他
- lua_if_uart.c 取消通信失败的调试print语句
- 在主界面显示APP版本
- 调整内存分配,将ADC缓冲区合计(128K + 64K)迁移到其他内存块。扩大堆空间,用于运行更大的lua程序.
    /* 0x3800000064KB */
    uint16_t *aADCH1ConvertedData = (uint16_t *)0x38000000;
    uint16_t *aADCH2ConvertedData = (uint16_t *)(0x38000000 + 32 * 1024);

    /* 0x20000000128KB */
    float *g_Ch1WaveBuf = (float *)0x20000000;
    float *g_Ch2WaveBuf = (float *)(0x20000000 + 64 * 1024);
- DAC波形发生器,低于30Hz频率异常,已修正,下限可以到1Hz.
- 删除doc文件夹下的emmc磁盘文件。跟随PC软件发布.

4.遗留问题
- 示波器功能还存在缺陷,普通触发模式显示波形断裂.争取下个版本解决.

----------------------------------------------------------------------------
2020-06-02 V1.21
1. 完善脱机烧录功能
- 烧录部分bin文件时,读回校验和软件CRC无问题,但硬件CRC有问题。
   原因:bin文件长度不是4字节整数倍时存在计算错误
   解决办法,补齐4字节再进行校验。
- 修改校验部分的代码,当FLM中有Verify校验函数时, 则优先用FLM中的Verify,而不是读回校验
- lua函数pg_reset() 支持带形参(复位时间ms)和无形参(缺省用20ms)
- 修复emmc磁盘文件的bug,解决STM8编程编程失败的问题
- 增加STM8AF模板,验证了STM8AF5288
- 修复SLOW低速时钟模式,发送32bit数据未插入延迟的bug。主要用于多路烧录,应对线长的情况。

----------------------------------------------------------------------------
2020-05-27 V1.20 【重大更新,发布1拖4脱机烧录功能,请使用PC软件 V0.4版】
1. 完善脱机烧录功能
- 完成1拖4同步烧录功能(仅验证STM32。暂不支持STM8系列1拖4功能)
- 校验模式可以通过lua设置(读回校验,软件CRC,硬件CRC)
- 调整电压电流显示窗配色
- 烧录时间移到进度条右侧,进度文本信增大到整行宽度
- 编程参数增加多路模式下路数设置:1路,1-2路,1-3路,1-4路
- 解决bug: 烧写8K程序(不足16K),CRC校验出错
- 解决bug: 修正V1.10 BUG,STM8S005C6T6, 烧写32KB文件OK, 烧写20K文件失败。
- 解决bug: bin文件不是4字节整数倍时,CRC32出错

2. EMMC磁盘文件更新H7-TOOL\Programmer
- 完善STM32烧录脚本文件,验证通过的有:
    STM32F0xx, STM32F10x, STM32F2xx, STM32F3xx, STM32F4xx, STM32F7xx,
    STM32H7x, STM32L0xx, STM32L1xx,STM32L4xx, STM32G0xx, STM32G4xx
- 增加灵动MM32全系列烧录脚本文件, 验证通过的有:
    MM32F003, MM32F031, MM32F032, MM32F103, MM32L0xx, MM32L3xx,
    MM32SPIN0x, MM32SPIN2x, MM32W0xxB, MM32W3xxB
- 增加LuaLib\fix_data.lua 和 LuaLib\prog_lib.lua 文件, 将公共脚本独立出来
- 改写全部lua脚本,实现一个lua脚本同时支持单路烧录和1拖4烧录
- 之前版本的lua烧录脚本均作废不再支持

3. lua功能增加dofile()函数支持,可以加载子文件,方便模块化编写lua脚本
4. s_lua_read_buf 修改为32字节对齐
5. 上电缺省启动lua,以前需要下载lua文件才能运行
6. 按键GPIO设置为上拉输入(生产时如果不接屏幕,偶尔会导致错误按键消息产生)。
7. 将显示屏SPI口的SPEED速度由GPIO_SPEED_FREQ_HIGH降到GPIO_SPEED_FREQ_MEDIUM。
7. 修改TVCC缺省的校准参数
8. 解决PC机软件不能停止采集的bug

----------------------------------------------------------------------------
2020-04-08 V1.10
【修改&新增功能】
1. D0、D1口线增加TTL UART7串口功能,lua可以读写该串口。
2. lua接口增加本机按键的访问函数(暂未调通,逻辑还存在问题)
3. lua接口函数modbus_write_u16, 如果只写1个寄存器用06H功能码,多个寄存器才用10H功能码。
4. 脱机下载界面,如果没接芯片长按S键执行了连续烧录,界面会卡住没有提示。
   修改为进入连续烧录模式后,按任意键退出连续烧录模式
5. 脱机编程器(缺省使用软件复位模式)
    - lua脚本中增加RESET_TYPE变量: RESET_TYPE = 0-- 0表示软件复位1表示硬件复位
    - 编程参数界面增加复位选项:由lua选择、强制硬件复位、强制软件复位

【bug修复】
1. 修正V1.09新出的BUG, lua读取D8 GPIO异常.
2. 修改界面文字错误,"USB eMMM磁盘"更正为"USB eMMC磁盘"
3. lua小程序功能执行一次后再到脱机界面,会显示lua小程序的输出窗口。
   原因:bsp_uart_fifo.c中fputc函数无条件执行LCD_MemoAddChar()函数
4. 屏幕息屏后只能唤醒一次,之后便不会再息屏,切换界面后正常息屏一次,之后又不行。已修复.

【其他】
1. 加入一拖四的源代码备份   
    - 该功能还未调通,仅调试到能够同步读出4个芯片的ID
    - 因为硬盘硬件损坏,编写调试了一个月的代码差一点丢失,因此推送到git先备份起来
    - 供电问题:
      - 同时烧写4个芯片会涉及到TVCC供电不足的问题.
      - TVCC引脚仅支持400mA,
      - 5V的引脚只支持1000mA电流(5V输出有1个短路限流保护芯片碍事,早知不要了)
      - H7-TOOL主板3.3V电流有270mA,因此无法4个主板同时烧写. 3.3V被拖垮到2.4V
    - 上拉电阻问题:主板最初只设计了一路SWD接口(SWDIO引脚需要上拉电阻),其他3路的SWDIO无上拉电阻
    - 供电问题和上拉电阻问题可以通过设计一拖四转接板来解决

2. 用户反映运行lua程序界面和脱机界面的按键逻辑和其他的不一样比较不习惯
    - 其他界面一般是长按确认执行。但是在这2个界面,因为按钮功能需要频繁使用,所以设计为短按执行.
    - 原来准备修改的,但是没有想到更好的操作逻辑,暂时不改了。

3. 接受网友的建议,生成的bin文件名中的全角括号修改为半角括号

4. doc下的修改记录.txt文件取消。内容记录到根目录 CHANGELOG文件.

----------------------------------------------------------------------------
2020-03-12 V1.09
【修改&新增功能】
1.脱机烧录功能
- 增加STM8芯片(STM8S和STM8L系列)
- 增加自动识别硬件烧录不同的程序(识别算法由lua指定)
- 增加组合烧录,比如一键烧写H7-TOOL的boot、app和QSPI Flash
- FLM算法文件和数据文件支持绝对路径和相对路径
- 优化LUA脚本,支持读、写保护状态识别,自动解除保护状态
- 取消程序文件的大小显示,本次计数采用32点阵字体
- 支持PC机联机调试lua程序
      - 打印内核ID、flash内容、RAM内容、UID、Option bytes
      - 修改和显示目标CPU的RAM和任意寄存器
      - 擦除CPU内部Flash、EEPROM
      - 加读保护、解除保护
      - 启动编程
- 解决无法烧录STM32L0xx芯片的BUG,L0系列的Init函数需要传递形参1-2才行
- 烧录时LED快闪,烧录成功候常亮,烧录失败后熄灭
- 烧录界面增加清零本次计数、清零累计计数功能。修改产品序号功能未做,后面有空再做。

2.LUA
- print_hex 函数支持显示宽度和显示地址

【bug修复】
1.脱机编程算法占用的RAM可以通过lua文件指定,V1.08是固定0x1000。 某些片子不够用
2.READ_FMC()存在不能及时获取数据问题。解决方法:FMC内存空间需要配置为禁止cashe
3.微型数控电源界面如果关闭了蜂鸣器,无法确认是否进入了电压设置状态。
4.00联机模式界面 切换屏幕显示方向时,日期和时间不会显示.

【其他】
1.修改switch case语句缩进格式

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

2.菜单变更
- 联机模式长按S进入扩展功能菜单 : 脱机烧录器、LUA小程序、数据记录仪、系统设置
- 系统设置下级菜单:硬件信息、参设设置、ESP32固件升级、USB eMMC磁盘、数据维护

【bug修复】
V1.07 lua新增bug 不在lua小程序界面,执行PC机下下载lua程序会死机
- bsp_tft_lcd.c LCD_DrawMemo()函数,增加: 3284行
    if (_pMemo->Text == 0)
    {
      return;
    }   

----------------------------------------------------------------------------
2019-12-26 V1.07
1.界面切换S键和C键功能交换,符合正常逻辑。
2.系统设置界面,增加USB磁盘访问eMMC
3.FatFS文件系统建立,支持目录浏览
4.中文字库2MB存放到QSPI Flash末尾,所有汉字都可以显示了,无需CPU内嵌小字库。
5.系统设置界面可以写字库文件,也可以刷新boot程序
6.实现Lua小程序脱机运行
7.数据记录仪只做了菜单(功能下个版本实现)

bug修复:
1. USB通信时,熄屏后唤醒死机 while (wTransferState == 0){}
- 原因:主程序SPI正在DMA传输显示数据,按键中断服务程序中执行LCD休眠操作,SPI被重置
    导致DMA传输不能进入完成中断。


----------------------------------------------------------------------------
2019-12-09 V1.06
1.界面风格重新设计。24点阵、32点阵部分ASCII字符调整齐
2.实现长时间不按键自动熄屏功能
3.修改高侧电流界面120mA判据,增加回差控制
4.bsp_key.c按键驱动增加长按弹起事件,和短按弹起事件分开处理. 这样处理后
主状态函数中的 uint8_t ucIgnoreKey 忽略按键的代码就可以去掉了。
5.增加脱机烧录器界面(仅界面实现,未实现烧录功能)
6.联机界面增加时钟显示

----------------------------------------------------------------------------
2019-11-30 V1.05b
1.解决上电花屏2秒问题,原因:logo界面没刷屏

----------------------------------------------------------------------------
2019-11-29 V1.05 - 功能未增加,但是改动比较大,封一个版本。
1.HAL固件库、USB库升级到最新版(来自于en.stm32cubeh7 (V1.5.0))
-所有的GPIO寄存器操作更改为如下宏(因为新固件库取消了 BSRRH、BSRRL寄存器)
   #define BSP_SET_GPIO_1(gpio, pin)   gpio->BSRR = pin
   #define BSP_SET_GPIO_0(gpio, pin)   gpio->BSRR = (uint32_t)pin << 16U
   
2.显示屏驱动采用SPI+DMA驱动。整屏刷新18ms。(驱动由硬汉提供)
- 修bsp_tft_st7789.c文件
- bsp_Idle()函数执行ST7789_DrawScreen();    /* 硬件SPI+DMA+刷屏 */
- 使用0x30000000开始的240*240*2字节内存做显存

3.为了适应后台刷屏机制。所有的 while循环中bsp_Idle() 位置放到显示刷新后面
    while (g_MainStatus == MS_CURRENT_METER)
    {
      if (fRefresh)       /* 刷新整个界面 */
      {
            fRefresh = 0;

            DispCurrentVolt();
            AutoCurrentRange();
      }

      bsp_Idle();      /* 必须在fRefresh语句后边, 否则刚进入界面会有闪烁感 */
      
      ...
    }
   
----------------------------------------------------------------------------
2019-11-25 V1.04
1.新增脉冲计数和频率计功能。status_pulse_meter.c
2.lua增加串口MODBUS接口函数
3.增加参数设置界面,目前可以关闭蜂鸣器,选择配色风格功能未做。
4.调整配色方案, ui_def.h文件定义颜色
5.部分界面的文字左对齐
6.系统设置-信息信息界面显示固件版本号
7.CDC串口驱动调整。COM切换时,不开关USB设备。
8.解决虚拟串口波特率低于2400不正确的bug
9.源代码加入Teeny-usb协议栈,未完全调通(临时屏蔽了,还是用ST的USB库)

2019-11-03 V1.03

1. 增加高侧电流表功能,测量负载电压、电流、功率,测量电池放电容量。

2. 增加二极管测量功能,和电阻测量同界面。

2019-10-20 V1.02

1. 批量发货版本,首版。


panda1985 发表于 2019-10-30 09:44:23

沙发         

leiyitan 发表于 2019-10-30 22:03:51

README 慢慢写

armfly 发表于 2019-11-3 12:34:16


----------------------------------------------------------------------------
2019-11-03 V1.03a
1.GBK->UTF-8
2.TAB -> 4个空格
3.完善高侧电流表功能:电压、电流、功率、放电容量
4.增加二极管测量,和电阻测量同一个界面。


----------------------------------------------------------------------------
2019-10-20 V1.02
1.lua脚本增加bsp_GetRunTimer等时间函数,方便统计时间
2.主程序状态函数重新整理了一下
3.adc均值计算增加滤波算法, bsp_cpu_adc.c
        static float AdcSumAvg(uint8_t _AdcNo, uint8_t _Offset)
4.NTC电阻校准点增加到4点。0欧和20欧各一点,解决低阻值误差7欧问题。还不完善。

----------------------------------------------------------------------------
2019-10-18 V1.01
1.bsp_CheckRunTime() 函数BUG
2.上电等主界面清蓝屏后再开背光,避免上电黑屏感觉颜色不均问题。
3.MAC地址根据CPU SN修改取值方式。1.00版取的字段不好,出来MAC都一样

eric2013 发表于 2019-11-3 12:57:36

armfly 发表于 2019-11-3 12:34
----------------------------------------------------------------------------
2019-11-03 V1.03a
1 ...
程序里面这两处要修改下,程序复杂后异常问题就出来了。还有驱动文件
bsp_timer.c和bsp_tim_pwm.C可以用V7板子的升级下,我已经做了修正了,如果H7-TOOL没有用到,不用升级了。








王海靖 发表于 2019-11-4 08:45:24

还不习惯用git命令行,我用的小乌龟

missfox 发表于 2019-11-4 08:49:45

armfly 发表于 2019-11-3 12:34
----------------------------------------------------------------------------
2019-11-03 V1.03a
1 ...

github此处可以换成你们自己的logo

eric2013 发表于 2019-11-26 00:10:35

2019-11-25 V1.04
1.新增脉冲计数和频率计功能。status_pulse_meter.c
2.lua增加串口MODBUS接口函数
3.增加参数设置界面,目前可以关闭蜂鸣器,选择配色风格功能未做。
4.调整配色方案, ui_def.h文件定义颜色
5.部分界面的文字左对齐
6.系统设置-信息信息界面显示固件版本号
7.CDC串口驱动调整。COM切换时,不开关USB设备。
8.解决虚拟串口波特率低于2400不正确的bug
9.源代码加入Teeny-usb协议栈,未完全调通(临时屏蔽了,还是用ST的USB库)

596142041 发表于 2019-11-26 11:42:53

你的git速度这么快

hpdell 发表于 2019-11-26 17:15:02

你好,貌似下载过来的是 v1.0 版本的啊, v1.04 版本的哪里可以下载啊 ???

eric2013 发表于 2019-11-26 17:32:46

hpdell 发表于 2019-11-26 17:15
你好,貌似下载过来的是 v1.0 版本的啊, v1.04 版本的哪里可以下载啊 ???

进入GITHUB,这里可以下载


hpdell 发表于 2019-11-27 09:32:37

eric2013 发表于 2019-11-26 17:32
进入GITHUB,这里可以下载

下载了好几次,每次下载到 3M 左右就挂掉了啊

eric2013 发表于 2019-11-27 09:46:57

hpdell 发表于 2019-11-27 09:32
下载了好几次,每次下载到 3M 左右就挂掉了啊


hpdell 发表于 2019-11-27 10:08:44

eric2013 发表于 2019-11-27 09:46


多谢多谢啊

armfly 发表于 2019-11-30 00:21:31

----------------------------------------------------------------------------
2019-11-29 V1.05 - 功能未增加,但是改动比较大,封一个版本。
1.HAL固件库、USB库升级到最新版(来自于en.stm32cubeh7 (V1.5.0))
-所有的GPIO寄存器操作更改为如下宏(因为新固件库取消了 BSRRH、BSRRL寄存器)
   #define BSP_SET_GPIO_1(gpio, pin)   gpio->BSRR = pin
   #define BSP_SET_GPIO_0(gpio, pin)   gpio->BSRR = (uint32_t)pin << 16U
   
2.显示屏驱动采用SPI+DMA驱动。整屏刷新18ms。(驱动由硬汉提供)
- 修bsp_tft_st7789.c文件
- bsp_Idle()函数执行ST7789_DrawScreen();    /* 硬件SPI+DMA+刷屏 */
- 使用0x30000000开始的240*240*2字节内存做显存

3.为了适应后台刷屏机制。所有的 while循环中bsp_Idle() 位置放到显示刷新后面
    while (g_MainStatus == MS_CURRENT_METER)
    {
      if (fRefresh)       /* 刷新整个界面 */
      {
            fRefresh = 0;

            DispCurrentVolt();
            AutoCurrentRange();
      }

      bsp_Idle();      /* 必须在fRefresh语句后边, 否则刚进入界面会有闪烁感 */
      
      ...
    }
   

eric2013 发表于 2019-12-2 08:50:50

更新论坛方式下载。

eric2013 发表于 2019-12-9 13:28:43


eric2013 发表于 2019-12-27 00:17:54

2019-12-26 V1.07
1.界面切换S键和C键功能交换,符合正常逻辑。
2.系统设置界面,增加USB磁盘访问eMMC
3.FatFS文件系统建立,支持目录浏览
4.中文字库2MB存放到QSPI Flash末尾,所有汉字都可以显示了,无需CPU内嵌小字库。
5.系统设置界面可以写字库文件,也可以刷新boot程序
6.实现Lua小程序脱机运行
7.数据记录仪只做了菜单(功能下个版本实现)

bug修复:
1. USB通信时,熄屏后唤醒死机 while (wTransferState == 0){}
- 原因:主程序SPI正在DMA传输显示数据,按键中断服务程序中执行LCD休眠操作,SPI被重置
    导致DMA传输不能进入完成中断。

eric2013 发表于 2020-2-8 09:21:35

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

2.菜单变更
- 联机模式长按S进入扩展功能菜单 : 脱机烧录器、LUA小程序、数据记录仪、系统设置
- 系统设置下级菜单:硬件信息、参设设置、ESP32固件升级、USB eMMC磁盘、数据维护

eric2013 发表于 2020-2-8 10:02:34

记录一些操作说明:
1、windwos平台安装git客户端。QQ群空间有。
2、本地硬盘创建文件夹。比如 D:\H7-TOOL\maser
3、运行git cmd
4、进入文件夹。输入 D:   输入 CD TOOL输入CD master
5、输入 git clone -b master https://github.com/armfly/H7-TOOL_STM32H7_App
6、将开始下载H7-TOOL主分支的的完整代码到当前目录。
7、从GitHub下载最新源码工程方法
   https://github.com/armfly/H7-TOOL_STM32H7_App

eric2013 发表于 2020-3-13 00:13:54

2020-03-12 V1.09
【修改&新增功能】
1.脱机烧录功能
- 增加STM8芯片(STM8S和STM8L系列)
- 增加自动识别硬件烧录不同的程序(识别算法由lua指定)
- 增加组合烧录,比如一键烧写H7-TOOL的boot、app和QSPI Flash
- FLM算法文件和数据文件支持绝对路径和相对路径
- 优化LUA脚本,支持读、写保护状态识别,自动解除保护状态
- 取消程序文件的大小显示,本次计数采用32点阵字体
- 支持PC机联机调试lua程序
      - 打印内核ID、flash内容、RAM内容、UID、Option bytes
      - 修改和显示目标CPU的RAM和任意寄存器
      - 擦除CPU内部Flash、EEPROM
      - 加读保护、解除保护
      - 启动编程
- 解决无法烧录STM32L0xx芯片的BUG,L0系列的Init函数需要传递形参1-2才行
- 烧录时LED快闪,烧录成功候常亮,烧录失败后熄灭
- 烧录界面增加清零本次计数、清零累计计数功能。修改产品序号功能未做,后面有空再做。

2.LUA
- print_hex 函数支持显示宽度和显示地址

【bug修复】
1.脱机编程算法占用的RAM可以通过lua文件指定,V1.08是固定0x1000。 某些片子不够用
2.READ_FMC()存在不能及时获取数据问题。解决方法:FMC内存空间需要配置为禁止cashe
3.微型数控电源界面如果关闭了蜂鸣器,无法确认是否进入了电压设置状态。
4.00联机模式界面 切换屏幕显示方向时,日期和时间不会显示.

【其他】
1.修改switch case语句缩进格式

风雨无阻29 发表于 2020-3-17 15:03:43

很期待。。。

eric2013 发表于 2020-4-8 09:18:09

2020-04-08 V1.10
【修改&新增功能】
1. D0、D1口线增加TTL UART7串口功能,lua可以读写该串口。
2. lua接口增加本机按键的访问函数(暂未调通,逻辑还存在问题)
3. lua接口函数modbus_write_u16, 如果只写1个寄存器用06H功能码,多个寄存器才用10H功能码。
4. 脱机下载界面,如果没接芯片长按S键执行了连续烧录,界面会卡住没有提示。
   修改为进入连续烧录模式后,按任意键退出连续烧录模式
5. 脱机编程器(缺省使用软件复位模式)
    - lua脚本中增加RESET_TYPE变量: RESET_TYPE = 0-- 0表示软件复位1表示硬件复位
    - 编程参数界面增加复位选项:由lua选择、强制硬件复位、强制软件复位

【bug修复】
1. 修正V1.09新出的BUG, lua读取D8 GPIO异常.
2. 修改界面文字错误,"USB eMMM磁盘"更正为"USB eMMC磁盘"
3. lua小程序功能执行一次后再到脱机界面,会显示lua小程序的输出窗口。
   原因:bsp_uart_fifo.c中fputc函数无条件执行LCD_MemoAddChar()函数
4. 屏幕息屏后只能唤醒一次,之后便不会再息屏,切换界面后正常息屏一次,之后又不行。已修复.

【其他】
1. 加入一拖四的源代码备份   
    - 该功能还未调通,仅调试到能够同步读出4个芯片的ID
    - 因为硬盘硬件损坏,编写调试了一个月的代码差一点丢失,因此推送到git先备份起来
    - 供电问题:
      - 同时烧写4个芯片会涉及到TVCC供电不足的问题.
      - TVCC引脚仅支持400mA,
      - 5V的引脚只支持1000mA电流(5V输出有1个短路限流保护芯片碍事,早知不要了)
      - H7-TOOL主板3.3V电流有270mA,因此无法4个主板同时烧写. 3.3V被拖垮到2.4V
    - 上拉电阻问题:主板最初只设计了一路SWD接口(SWDIO引脚需要上拉电阻),其他3路的SWDIO无上拉电阻
    - 供电问题和上拉电阻问题可以通过设计一拖四转接板来解决

2. 用户反映运行lua程序界面和脱机界面的按键逻辑和其他的不一样比较不习惯
    - 其他界面一般是长按确认执行。但是在这2个界面,因为按钮功能需要频繁使用,所以设计为短按执行.
    - 原来准备修改的,但是没有想到更好的操作逻辑,暂时不改了。

3. 接受网友的建议,生成的bin文件名中的全角括号修改为半角括号

4. doc下的修改记录.txt文件取消。内容记录到根目录 CHANGELOG文件.

王海靖 发表于 2020-4-8 09:30:11

V1.10已经更新:lol

yuangt 发表于 2020-5-3 14:36:47

工程代码下下来了,发现里面的芯片配置的还是stm32h743IIKx,不是H750,这个可以通用吗?而且程序大小也远大于128K了,这个也可以下载进去直接使用吗?

eric2013 发表于 2020-5-3 16:49:19

yuangt 发表于 2020-5-3 14:36
工程代码下下来了,发现里面的芯片配置的还是stm32h743IIKx,不是H750,这个可以通用吗?而且程序大小也远 ...

早期H750是2MB Flash版,比较狠。

yuangt 发表于 2020-5-3 19:05:52

eric2013 发表于 2020-5-3 16:49
早期H750是2MB Flash版,比较狠。

这么狠,那抛开flash大小,其余的功能这两颗芯片就通用了吗?

zl1215 发表于 2020-5-4 15:21:57

yuangt 发表于 2020-5-3 19:05
这么狠,那抛开flash大小,其余的功能这两颗芯片就通用了吗?

早期的是的,不过现在应该都改掉了,为的就是对付飞思卡尔的RT系列

eric2013 发表于 2020-5-5 01:43:53

yuangt 发表于 2020-5-3 19:05
这么狠,那抛开flash大小,其余的功能这两颗芯片就通用了吗?

通用。

eric2013 发表于 2020-5-28 08:45:32

H7-TOOL上位机升级至V0.4版本。

eric2013 发表于 2020-5-30 01:45:04

2020-05-27 V1.20 【重大更新,发布1拖4脱机烧录功能,请使用PC软件 V0.4版】
1. 完善脱机烧录功能
- 完成1拖4同步烧录功能(仅验证STM32。暂不支持STM8系列1拖4功能)
- 校验模式可以通过lua设置(读回校验,软件CRC,硬件CRC)
- 调整电压电流显示窗配色
- 烧录时间移到进度条右侧,进度文本信增大到整行宽度
- 编程参数增加多路模式下路数设置:1路,1-2路,1-3路,1-4路
- 解决bug: 烧写8K程序(不足16K),CRC校验出错
- 解决bug: 修正V1.10 BUG,STM8S005C6T6, 烧写32KB文件OK, 烧写20K文件失败。
- 解决bug: bin文件不是4字节整数倍时,CRC32出错

2. EMMC磁盘文件更新H7-TOOL\Programmer
- 完善STM32烧录脚本文件,验证通过的有:
    STM32F0xx, STM32F10x, STM32F2xx, STM32F3xx, STM32F4xx, STM32F7xx,
    STM32H7x, STM32L0xx, STM32L1xx,STM32L4xx, STM32G0xx, STM32G4xx
- 增加灵动MM32全系列烧录脚本文件, 验证通过的有:
    MM32F003, MM32F031, MM32F032, MM32F103, MM32L0xx, MM32L3xx,
    MM32SPIN0x, MM32SPIN2x, MM32W0xxB, MM32W3xxB
- 增加LuaLib\fix_data.lua 和 LuaLib\prog_lib.lua 文件, 将公共脚本独立出来
- 改写全部lua脚本,实现一个lua脚本同时支持单路烧录和1拖4烧录
- 之前版本的lua烧录脚本均作废不再支持

3. lua功能增加dofile()函数支持,可以加载子文件,方便模块化编写lua脚本
4. s_lua_read_buf 修改为32字节对齐
5. 上电缺省启动lua,以前需要下载lua文件才能运行
6. 按键GPIO设置为上拉输入(生产时如果不接屏幕,偶尔会导致错误按键消息产生)。
7. 将显示屏SPI口的SPEED速度由GPIO_SPEED_FREQ_HIGH降到GPIO_SPEED_FREQ_MEDIUM。
7. 修改TVCC缺省的校准参数
8. 解决PC机软件不能停止采集的bug

hpxzw_foxmai 发表于 2020-6-1 10:53:01

呃…找不到此网站。

我们无法连接至 www.armfly.com 的服务器。

如果确定此网址正确,您可以尝试:

    过会儿再重试。
    检查您的网络连接是否正常。
    如果您部署有网络防火墙,请检查 Firefox 是否已被授权访问网络。
----------------------------------------------------------------------------------------
好久了,一直这样,
弄代理服务器,打开、关闭、用别人说的百度的代理什么的,都不行
WIN10 企业版~

hpxzw_foxmai 发表于 2020-6-1 11:01:41

https://www.firebbs.cn/forum.php?mod=viewthread&tid=27600&highlight=emxgui
这个里面的附件就可以下载,
我不知道是不是代理方面的问题,
armfly的附件,我同事的电脑可以下载,我的就不行,Edge、QQ浏览器,Firefox都不行
挺奇怪的

eric2013 发表于 2020-6-1 11:12:25

hpxzw_foxmai 发表于 2020-6-1 10:53
呃…找不到此网站。

我们无法连接至 www.armfly.com 的服务器。

这个帖子里面,我还找我们的工作人员专门帮你测试了一番,几个浏览器都没有问题

http://www.armbbs.cn/forum.php?m ... 97090&extra=&page=1

经测试,下载是没有问题的。详情如下:

Firefox浏览器
版本号:75.0(64位)
效果:
https://img.anfulai.cn/dz/attachment/forum/202004/14/200904wukm7a9oinjdimju.png

QQ浏览器
版本号:10.5.2(3863)效果:https://img.anfulai.cn/dz/attachment/forum/202004/14/200945dec2dce1x1ehq7qo.png

Microsoft Edge
版本号:44.18362.449.0
效果:https://img.anfulai.cn/dz/attachment/forum/202004/14/201037d622894aspaheg20.png


另外,如果迅雷设置了下载接管,点击文件之后会直接弹出下载页面:https://img.anfulai.cn/dz/attachment/forum/202004/14/201143azr31yb3bdxvxxiv.png

hpxzw_foxmai 发表于 2020-6-1 11:39:38

eric2013 发表于 2020-6-1 11:12
这个帖子里面,我还找我们的工作人员专门帮你测试了一番,几个浏览器都没有问题

http://www.armbbs.cn ...

我这边点击附件,就会出现那个提示。。

eric2013 发表于 2020-6-1 12:04:00

hpxzw_foxmai 发表于 2020-6-1 11:39
我这边点击附件,就会出现那个提示。。

自己想办法解决下吧。

eric2013 发表于 2020-6-1 13:26:52

更新1拖4扩展板原理图下载。

596142041 发表于 2020-6-2 09:34:59

那示波器接口的那转接板有没有原理图哇

eric2013 发表于 2020-6-2 09:53:22

596142041 发表于 2020-6-2 09:34
那示波器接口的那转接板有没有原理图哇

好的,晚上我就整理上传。

eric2013 发表于 2020-6-3 08:55:54

596142041 发表于 2020-6-2 09:34
那示波器接口的那转接板有没有原理图哇

已经更新。
页: [1] 2 3 4 5 6 7 8
查看完整版本: H7-TOOL开源项目的GitHub地址,当前版本V2.25,含论坛方式下载原理图,上位机,固件等(2024-02-23)