请选择 进入手机版 | 继续访问电脑版

硬汉嵌入式论坛

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

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

  [复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105942
QQ
发表于 2019-10-30 08:25:55 | 显示全部楼层 |阅读模式
下载不正常的话,请鼠标右击附件“复制链接地址”,然后粘贴到浏览器地址栏或者迅雷等下载器来下载。
0、使用说明书
H7-TOOL使用说明书.pdf (16.96MB)

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


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


3、原理图
D315-2_1拖4烧录器转接板_原理图.pdf
D253-6_H7-TOOL主板_原理图第6版.pdf
D254-6_H7_TOOL显示板第6版.pdf
D268-5_H7-TOOL-示波器模块第5版.pdf
D291-2_H7_TOOL转接板_原理图.pdf
D380-1_H7_TOOL简易转接板_原理图.pdf


4、PC机软件:
2024-02-23升级PC软件到V2.2.5。
h7toolPC_release(V2.2.5).7z (50.32MB)
H7-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
HT_Boot(V1.03 V版 源码2021-01-19).zip (13.25MB)
H7-TOOL_STM32H7_App-master(V1.49)(2021-03-25).zip (23.49MB)

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


7、测试和标定用的LUA脚本程序:
测试标定用Lua脚本2019-10-21.zip


8、标定工装的接线图:
H7-TOOL_标定板接线图(2019-10-21).pdf


9、虚拟串口驱动:
上位机软件里面也已经集成
en.stsw-stm32102.zip


APP更新记录:

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

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

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

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

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

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

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

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

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

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

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

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

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

  151. 2. 脱机烧录功能优化  
  152.   - 烧录时打印芯片厂家和型号  
  153.   - 复位模式新增断电上电复位,解决PSCO4无复位引脚无法烧录问题  
  154.   - 修改软件校验模式(修改了固件的校验算法,方便大部CPU可以使用)  
  155.   - 接线说明,新增1拖4 ARM芯片接线说明  
  156.   - 输出缺省文件名修改为第1个固件名  
  157.   - 关于OB配置
  158.     - 无保护的OB值更名为 缺省值(无保护), 主要用于自动解除保护。改为仅能查看,不能编辑。
  159.         - 取消写缺省值的选项。
  160.         - 新增配置OB按钮,后面将逐步针对每种芯片添加OB配置界面。        
  161.   - 选择数据文件时,正常单击按钮时初始目录为上次文件夹,鼠标右键单击按钮时初始目录为对应编号的数据文件目录。  
  162.   - Log .NVIC_CPUID = 410FC241, Cortex-M4 r1p0  显示patch和revision
  163.   - 读芯片界面,增加页面大小设置(缺省是1024)
  164.   - 读芯片界面,生成测试文件,增加填充随机数选项  
  165.   - 在限制页面,增加检测IDCODE(芯圣8051是缺省启用,其他芯片是缺省关闭)   
  166.   - prog_lib.lua 新增 OB_ADDRESS_LINEAR = 1  --OB数据线性连续,只需要提供1个首地址
  167.   - prog_lib.lua 烧录ARM芯片时, 打印TVCC电压、电流、复位模式、出错立即终止参数。
  168.   - 生成烧录配置文件时,增加PC软件版本和生成日期,便于后期问题追溯
  169.   - 1拖16显示结果时,如果都失败了,则显示未检测到IC #1 #2 ,而不是最后的成功个数和失败个数
  170.   - 点芯片lua文件名标签自动打开编辑器,而不是直接展示在log窗口  
  171.   - 修改 prog_lib.lua,NRF52解除读保护后支持断电复位。  
  172.   - 打印prog_lib.lua、machine_if.lua、fix_data.lua 的文件修改日期和版本  
  173.   
  174. 3. 脱机烧录功能解决BUG        
  175.   - 解决1拖16模式分组烧录问题,少于3组时,依然轮询4组的问题。
  176.   - 修复HC32L19X芯片FLASH容量小于32K的问题,实际芯片是256K。
  177.   - 解决BUG:在第2行添加自定义FLM文件时,填充算法数组出错。
  178.   - 读芯片功能。NXP S32K3读FALSH内存之前不执行 pg_init(), 因为它需要使能调试才能读数据。
  179.   - 杰发科 AC780x_64.lua,AC780x_128.lua 文件修正FLASH容量错误
  180.   - 完善 N32G03x_Lib.lua 文件, 应对客户程序启用PLL导致烧录失败的问题
  181.   - 修复极海 APM32F003 Lib文件
  182.   - 修正复旦微FM33FR0XX UID地址和UID长度
  183.   - AT32403Axx系列复位模式缺省修改为硬件模式(也可以不接NRST口线)
  184.   - 解决导入配置文件功能无法使用的问题
  185.   
  186. 4. PC软件参数导入功能
  187.   - 新增截屏窗口参数导入
  188.   - 新增脱机烧录数据文件、地址、算法导入(待完善,芯片厂商ID可能不正确)
  189. 5. RTT面板隐藏设置可以保存
  190. 6. 系统设置、维护界面,软件功能选择支持全关和全开
  191. 7. Trace功能优化
  192.   - 关于keil路径问题,以ini文件优先,注册表次之。
  193.   - 添加uCOS-II解析
  194.   - 增加FreeRTOS解析
  195. 8. RTT功能
  196.   - 解决RTT BUG: 当选择键入时发送,直接回车发送3个字符的问题。
  197.   - 解决RTT BUG: 下载搜索列表时,并没有更新到TOOL内。
  198.   - 解决搜索不到HC32F460的RTT控制块的问题
  199.   - 点击RTT快捷发送菜单时,也更新发送记录
  200.   - 修正Down下行通道内存地址计算(解决缓冲区个数不为3无法处理下行数据的问题)
  201. 9. PWM信号发生器,支持0.1Hz,0.01Hz单位
  202. 10. DAC波形发生器,解决20KHz以上方波末尾多一个脉冲的问题。
  203. 11. CAN助手
  204.   - 界面显示改为逗号分隔,
  205.   - log保存为csv格式,execel可以直接打开
  206.   - 修复翻页后再来数据只显示1行的问题
  207.   - 时间格式改为 12:30:09.123.450  ms和us用
  208.   - 发送窗口可以隐藏
  209.   - 增加复制功能
  210. 12、串口示波器、CAN示波器、RTT示波器支持0x前缀的16进制数据

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

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

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

  291. -------------------------------------------------------------------------------------------------------------

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

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

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

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

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

  380. ----------------------------------------------------------------------------

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

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

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

  430. ----------------------------------------------------------------------------

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  611. 【APP固件】V2.11
  612. 1. 解决CAN助手死机问题
  613. 2、脱机烧录屏蔽RESET和START端口的初始化,修改为由lua根据转接板来配置
  614.   
  615. ----------------------------------------------------------------------------
  616. 发布日期: 2021-12-28
  617. PC软件版本: V2.1.0
  618. STM32_APP固件版本: V2.10
  619. STM32_BOOT固件版本: V2.04

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

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

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

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


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

  739. 【Boot固件】V2.04 无变化

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  890. 6. 上电缺省TVCC电压
  891.   - 由微型数控电源设置TVCC, 掉电可保存
  892.   - 基本参数中增加TVCC设置(这个和数控电源的TVCC是同一个参数)
  893.   - DAP-Link参数中取消TVCC设置
  894.   - 联机模式界面,显示TVCC实时电压值(DSO示波器启动时,不显示TVCC)
  895.   
  896. 7. 系统设置中的关于菜单
  897.   - 增加网络信息页面(动态IP地址,网关等)
  898.   - 增加模拟量状态页面(可查看USB供电电压)
  899.   - 增加显示EMMC磁盘文件版本
  900.   
  901. 8. lua接口API,增加f_size()函数获得文件大小 , f_password()函数输入密码(设备加密后需要用)
  902. 9. 所有的参数设置页面之前的标题文字是设置参数,现在改为按不同的功能显示不同的标题。
  903. 10. USB虚拟串口支持7bit+1校验的模式.数据监视器中的串口助手暂未添加7bit模式)
  904. 11. 解决CAN低波特率的bug. 低于100K的波特率需要分频。参数设置中增加了分频参数

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1083. ----------------------------------------------------------------------------

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

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

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

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

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

  1108. 【PC软件】V1.4.2
  1109. 1.无
  1110.   
  1111. 【App固件】V1.46
  1112. 1.部分文字颜色加深
  1113. 2.内嵌的DAP固件解决部分情况死机问题


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

  1120. 【PC软件】V1.4.2
  1121. 1.解决EMMC磁盘搜索BUG。原因: 如果H7-TOOL的移动盘符之后还有其他的无卷标的移动设备,
  1122.   则会将最后一个盘符认为是H7-TOOL的磁盘。
  1123. 2.软件打开缺省定位到屏幕中间,而不是桌面中间(解决双屏桌面显示到两屏之间的问题)
  1124. 3.解决EMMC磁盘更新,不支持空格路径的问题,路径需要加双引号
  1125. 4.下载lua程序有时报错,原因是lua文件长度取值不正确
  1126. 5.增加截屏功能(系统设置-截屏页面)
  1127. 6.生成脱机烧录配置文件时,增加数据文件校验和显示
  1128. 6.增加恢复基本参数到出厂值功能(系统设置-通信接口-按钮)
  1129. 7.更新主板原理图,之前未标注型号的芯片已添加型号
  1130.   路径: Help\sch   入口: PC界面菜单, 帮助 - 电路原理图
  1131.   
  1132. 【App固件】V1.45
  1133. 1. 增加PC机截屏功能(用于编写说明书)
  1134. 2. 增加PC机模拟按键功能
  1135. 3. 虚拟串口界面返回时退到扩展菜单
  1136. 4. 修改脱机烧录界面,显示数据文件的累加校验和
  1137. 5. 增加恢复基本参数缺省值(不含校准参数)的功能(PC控制)
  1138. 6. status_system_set.c中几个装态拆分到单独的文件status_usb_emmc.c,
  1139.    status_usb_uart.c, status_esp32.c
  1140. 7. emmc磁盘文件更新prog_lib.lua文件,增加通道参数异常时报错

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

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

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

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

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

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

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

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

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

  1210. ----------------------------------------------------------------------------
  1211. 2020-11-29 V1.40 【重大更新】
  1212. 新增功能:
  1213. 1.增加SPI Flash脱机烧录功能(需要升级PC软件,更新EMMC磁盘文件)
  1214. 2.增加CMSIS-DAP仿真器功能。新增2个参数控制TVCC电压和蜂鸣器使能
  1215. 3.增加DS18B20温度传感器驱动接口,D0-D7可外接8个传感器.
  1216.   - 新增lua接口函数  ok,temp = read("DS18B20", 2) --读D2口外接的传感器数据
  1217.   - 数据监视器菜单下新增DS18B20温度表(显示8路温度值)
  1218.   
  1219. BUG:
  1220. 1.解决串口监视器BUG,ASCII模式如果收到0x00, 则不显示后面的数据。需要将不可见字符转换空格
  1221. 2.解决在非lua小程序界面执行lua(PC机下载)无法长按C退出的问题

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1295. 2. lua_udp_SendBuf() 中 bsp_StartHardTimer(3, 5, udp_print_send), 单位是us,原计划是5ms的
  1296.   (此处未改,改了PC界面居然打印显示不全)
  1297.   
  1298. 3. 电压表功能,修改自动量程的判断条件
  1299.    static void AutoVoltRange(void) 中,最后一档100mV量程判据由0.1V改为0.095V.

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

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

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

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

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

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

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

  1370. 2. EMMC磁盘文件更新H7-TOOL\Programmer
  1371.   - 完善STM32烧录脚本文件,验证通过的有:
  1372.     STM32F0xx, STM32F10x, STM32F2xx, STM32F3xx, STM32F4xx, STM32F7xx,
  1373.     STM32H7x, STM32L0xx, STM32L1xx,STM32L4xx, STM32G0xx, STM32G4xx
  1374.   - 增加灵动MM32全系列烧录脚本文件, 验证通过的有:
  1375.     MM32F003, MM32F031, MM32F032, MM32F103, MM32L0xx, MM32L3xx,
  1376.     MM32SPIN0x, MM32SPIN2x, MM32W0xxB, MM32W3xxB
  1377.   - 增加LuaLib\fix_data.lua 和 LuaLib\prog_lib.lua 文件, 将公共脚本独立出来
  1378.   - 改写全部lua脚本,实现一个lua脚本同时支持单路烧录和1拖4烧录
  1379.   - 之前版本的lua烧录脚本均作废不再支持
  1380.   
  1381. 3. lua功能增加dofile()函数支持,可以加载子文件,方便模块化编写lua脚本
  1382. 4. s_lua_read_buf[LUA_READ_LEN_MAX] 修改为32字节对齐
  1383. 5. 上电缺省启动lua,以前需要下载lua文件才能运行
  1384. 6. 按键GPIO设置为上拉输入(生产时如果不接屏幕,偶尔会导致错误按键消息产生)。
  1385. 7. 将显示屏SPI口的SPEED速度由GPIO_SPEED_FREQ_HIGH降到GPIO_SPEED_FREQ_MEDIUM。
  1386. 7. 修改TVCC缺省的校准参数
  1387. 8. 解决PC机软件不能停止采集的bug

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

  1527.             DispCurrentVolt();
  1528.             AutoCurrentRange();
  1529.         }

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

  1546. 2019-11-03 V1.03

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

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

  1549. 2019-10-20 V1.02

  1550. 1. 批量发货版本,首版。
复制代码


评分

参与人数 3金币 +60 收起 理由
crcc_3c + 20 很给力!
神么都没有 + 20 很给力!
晚韶华 + 20 很给力!

查看全部评分

回复

使用道具 举报

7

主题

25

回帖

46

积分

新手上路

积分
46
发表于 2019-10-30 09:44:23 | 显示全部楼层
沙发         
回复

使用道具 举报

2

主题

569

回帖

575

积分

金牌会员

积分
575
发表于 2019-10-30 22:03:51 | 显示全部楼层
README 慢慢写
回复

使用道具 举报

747

主题

1048

回帖

3294

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3294
发表于 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都一样
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105942
QQ
 楼主| 发表于 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没有用到,不用升级了。
1.jpg
2.jpg






回复

使用道具 举报

18

主题

321

回帖

375

积分

高级会员

积分
375
发表于 2019-11-4 08:45:24 | 显示全部楼层
还不习惯用git命令行,我用的小乌龟
回复

使用道具 举报

23

主题

1401

回帖

1470

积分

至尊会员

积分
1470
发表于 2019-11-4 08:49:45 | 显示全部楼层
armfly 发表于 2019-11-3 12:34
----------------------------------------------------------------------------
2019-11-03 V1.03a
1 ...

github此处可以换成你们自己的logo
QQ截图20191104084917.jpg
代码不规范,亲人两行泪!
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105942
QQ
 楼主| 发表于 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库)

回复

使用道具 举报

7

主题

112

回帖

133

积分

初级会员

积分
133
发表于 2019-11-26 11:42:53 | 显示全部楼层
你的git速度这么快
回复

使用道具 举报

606

主题

3019

回帖

4857

积分

至尊会员

积分
4857
发表于 2019-11-26 17:15:02 | 显示全部楼层
你好,貌似下载过来的是 v1.0 版本的啊, v1.04 版本的哪里可以下载啊 ???
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105942
QQ
 楼主| 发表于 2019-11-26 17:32:46 | 显示全部楼层
hpdell 发表于 2019-11-26 17:15
你好,貌似下载过来的是 v1.0 版本的啊, v1.04 版本的哪里可以下载啊 ???

进入GITHUB,这里可以下载

QQ截图20191126172647.jpg
回复

使用道具 举报

606

主题

3019

回帖

4857

积分

至尊会员

积分
4857
发表于 2019-11-27 09:32:37 | 显示全部楼层
eric2013 发表于 2019-11-26 17:32
进入GITHUB,这里可以下载

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

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105942
QQ
 楼主| 发表于 2019-11-27 09:46:57 | 显示全部楼层
hpdell 发表于 2019-11-27 09:32
下载了好几次,每次下载到 3M 左右就挂掉了啊

H7-TOOL_STM32H7_App-master.zip (14.36 MB, 下载次数: 886)
回复

使用道具 举报

606

主题

3019

回帖

4857

积分

至尊会员

积分
4857
发表于 2019-11-27 10:08:44 | 显示全部楼层
回复

使用道具 举报

747

主题

1048

回帖

3294

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3294
发表于 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语句后边, 否则刚进入界面会有闪烁感 */
        
        ...
    }
   
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105942
QQ
 楼主| 发表于 2019-12-2 08:50:50 | 显示全部楼层
更新论坛方式下载。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105942
QQ
 楼主| 发表于 2019-12-9 13:28:43 | 显示全部楼层
QQ图片20191209132827.jpg
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105942
QQ
 楼主| 发表于 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传输不能进入完成中断。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105942
QQ
 楼主| 发表于 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磁盘、数据维护
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105942
QQ
 楼主| 发表于 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

083953hz22azk2o4mmnkmw.jpg
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105942
QQ
 楼主| 发表于 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语句缩进格式
回复

使用道具 举报

0

主题

3

回帖

3

积分

新手上路

积分
3
发表于 2020-3-17 15:03:43 | 显示全部楼层
很期待。。。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105942
QQ
 楼主| 发表于 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文件.

回复

使用道具 举报

18

主题

321

回帖

375

积分

高级会员

积分
375
发表于 2020-4-8 09:30:11 | 显示全部楼层
V1.10已经更新
回复

使用道具 举报

11

主题

91

回帖

124

积分

初级会员

积分
124
发表于 2020-5-3 14:36:47 | 显示全部楼层
工程代码下下来了,发现里面的芯片配置的还是stm32h743IIKx  ,不是H750,这个可以通用吗?而且程序大小也远大于128K了,这个也可以下载进去直接使用吗?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105942
QQ
 楼主| 发表于 2020-5-3 16:49:19 | 显示全部楼层
yuangt 发表于 2020-5-3 14:36
工程代码下下来了,发现里面的芯片配置的还是stm32h743IIKx  ,不是H750,这个可以通用吗?而且程序大小也远 ...

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

使用道具 举报

11

主题

91

回帖

124

积分

初级会员

积分
124
发表于 2020-5-3 19:05:52 | 显示全部楼层
eric2013 发表于 2020-5-3 16:49
早期H750是2MB Flash版,比较狠。

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

使用道具 举报

4

主题

140

回帖

152

积分

初级会员

积分
152
发表于 2020-5-4 15:21:57 | 显示全部楼层
yuangt 发表于 2020-5-3 19:05
这么狠,那抛开flash大小,其余的功能这两颗芯片就通用了吗?

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

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105942
QQ
 楼主| 发表于 2020-5-5 01:43:53 | 显示全部楼层
yuangt 发表于 2020-5-3 19:05
这么狠,那抛开flash大小,其余的功能这两颗芯片就通用了吗?

通用。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105942
QQ
 楼主| 发表于 2020-5-28 08:45:32 | 显示全部楼层
H7-TOOL上位机升级至V0.4版本。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105942
QQ
 楼主| 发表于 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[LUA_READ_LEN_MAX] 修改为32字节对齐
5. 上电缺省启动lua,以前需要下载lua文件才能运行
6. 按键GPIO设置为上拉输入(生产时如果不接屏幕,偶尔会导致错误按键消息产生)。
7. 将显示屏SPI口的SPEED速度由GPIO_SPEED_FREQ_HIGH降到GPIO_SPEED_FREQ_MEDIUM。
7. 修改TVCC缺省的校准参数
8. 解决PC机软件不能停止采集的bug

回复

使用道具 举报

18

主题

299

回帖

353

积分

高级会员

积分
353
发表于 2020-6-1 10:53:01 | 显示全部楼层
呃…找不到此网站。

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

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

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

使用道具 举报

18

主题

299

回帖

353

积分

高级会员

积分
353
发表于 2020-6-1 11:01:41
https://www.firebbs.cn/forum.php ... mp;highlight=emxgui
这个里面的附件就可以下载,
我不知道是不是代理方面的问题,
armfly的附件,我同事的电脑可以下载,我的就不行,Edge、QQ浏览器,Firefox都不行
挺奇怪的

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105942
QQ
 楼主| 发表于 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位)
效果:


QQ浏览器
版本号:10.5.2(3863)
效果:


Microsoft Edge
版本号:44.18362.449.0
效果:



另外,如果迅雷设置了下载接管,点击文件之后会直接弹出下载页面:

回复

使用道具 举报

18

主题

299

回帖

353

积分

高级会员

积分
353
发表于 2020-6-1 11:39:38 | 显示全部楼层
eric2013 发表于 2020-6-1 11:12
这个帖子里面,我还找我们的工作人员专门帮你测试了一番,几个浏览器都没有问题

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

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

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105942
QQ
 楼主| 发表于 2020-6-1 12:04:00 | 显示全部楼层
hpxzw_foxmai 发表于 2020-6-1 11:39
我这边点击附件,就会出现那个提示。。

自己想办法解决下吧。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105942
QQ
 楼主| 发表于 2020-6-1 13:26:52 | 显示全部楼层
更新1拖4扩展板原理图下载。
回复

使用道具 举报

7

主题

112

回帖

133

积分

初级会员

积分
133
发表于 2020-6-2 09:34:59 | 显示全部楼层
那示波器接口的那转接板有没有原理图哇
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105942
QQ
 楼主| 发表于 2020-6-2 09:53:22 | 显示全部楼层
596142041 发表于 2020-6-2 09:34
那示波器接口的那转接板有没有原理图哇

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

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105942
QQ
 楼主| 发表于 2020-6-3 08:55:54 | 显示全部楼层
596142041 发表于 2020-6-2 09:34
那示波器接口的那转接板有没有原理图哇

已经更新。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 10:36 , Processed in 0.487304 second(s), 30 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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