当前位置: 首页 > news >正文

H7-TOOL固件2.27发布,新增加40多款芯片脱机烧录,含多款车轨芯片,发布LUA API手册,CAN助手增加负载率,错误状态信息检测

H7-TOOL详细介绍(含操作手册):
H7-TOOL开发工具,1拖4/16脱机烧录,高速DAPLINK,RTOS Trace,CAN/串口助手, 示波器, RTT等,支持WiFi,以太网,高速USB和手持 - H7-TOOL开发工具 - 硬汉嵌入式论坛 - Powered by Discuz!

【PC软件】V2.27

1. 脱机烧录功能更新:
  - prog_lib.c 1拖16时部分成功时,修改 start_prog_0() 为返回ERROR
  - 高级脚本范例中新增1拖16使用VOUT输出结果状态
  - 修正GD32H7xx_1M和2M识别IDCODE问题
  - 修正STM32H5xxxI_2M 识别IDCODE问题(DEBUG_AP=1)
  - 升级STM32F4xx_OTP.FLM算法文件,解决528字节最后16字节写入失败问题
  - 新增芯海 CS32L015系列
  - 新增新唐M031系列、NDA102EC1x系列
  - 新增GD大容量SPI FLASH: GD55B02G
  - 新增国民技术 N32H47x系列
  - 新增矽挧翊SYM32L010系列
  - 修正STM32C01x不能擦除问题(增加时钟延迟)和UID问题(UID地址错误)
  - 修正国芯CCM4101不能读UID的问题.
  - 串行FLASHMX25L256,读OTP区作为UID使用.(需要提前写入)
  - 新增国民技术 NSS32LOCK 系列
  - 更正GD32F403写选项字失败的问题
  - 添加STM32U0xx系列
  - 解决NXP S32K312不能烧录的问题
  - Linkedsemi(凌思微.开发中)-厂家FLM有问题校验不过.
  - 解决一拖四烧录不支持自动连续烧录的问题
  - 添加旗芯FC4150
  - 修正FMD(辉芒微)FT32F0系列缺省FLASH地址错误
  - 修正 GD32H7XX. ProgChipIdType = 1
  - 新增HED华大电子(CIU32L0)
  - 新增 HC32F448
  - 添加航顺HK32C030
  - 新增中微BAT32A233
  - SPI FLASH,新增GD25Q512、GD55B02G
  - 新增Tai-Action泰为TAE32G5800
  - 修正TI MSPM0G、MSPM0L系列UID地址
  - 新增3PEAK的TPS32M0、TPS32M5
  - 添加闪芯微FCM32F103
  - 添加富芮坤FR8008, FR8003, FR2012
  - 新增GD32A、GD32E11
  - 新增TI MSPM0C
  - 新增STM32L010
  - 增加凌欧LKS32MC45x,MC05x,MC08x,MC03x读写保护支持
  - 增加复旦微FM32LE读写保护支持
  - 增加GD32E23x选项字节操作支持,升级GD32F303选项字节支持
  - 增加STM32U5全系列读写读写包含支持。
  - 新增Silfi的SF32LB55X
  - N32G430系列补充全面
  - 澎湃微PT32F030
  - 新增普冉PY32C642,C613,F071,L020和MD310
  - STM32U5全系列读写保护支持
  - 新增武汉芯源 CS32L010
  - 新增雅特立AT32A403A
  - 新增瑞萨RA0
  - 新增东软载波的ES32F0
  - 新增英飞凌CYT3B,CYT4B
  - 新增雅特力AT32F402/405
  - GD32E50x支持读保护
  - 复旦微FM33LE0xx支持读保护
  - 新增中颖SH30F9010
  
2. CAN助手
  - 修正发送按钮次序问题
  - 支持在解码器lua文件中定义CAN窗口标题
  - 双波特率并且用高级配置时,增加提示弹窗
  - 增加ECR和PSR寄存器展示功能
  - 增加CAN负载率,错误状态信息和发送超时判断

3. SPI主从控制器
  - SPI控制器支持全双工模式,支持16bit模式

4. 发布首版LUA API手册
  
【EMMC文件】V2.27

- 新增若干芯片

【固件】V2.27

1. 修正二维码扫码字符n字符的BUG
2. f_dir("current") 可获取当前lua文件的路径
3. 修正BUG:启用磁盘加密时,提示按OK键
4. SPI支持16bit模式
5. 增加CAN负载率,错误状态信息和发送超时判断


PC机软件:升级PC软件到V2.27

h7toolPC_release(V2.2.7).7z

新版TOOL,旧版TOOL的PDF文档以及LUA API手册,打开上位机后,左上角菜单列出了



1、升级新版注意事项

(1)APP和eMMC独立分别升级了:
H7-TOOL全新2.x固件升级说明(2025-01-02) - H7-TOOL开发工具 - 硬汉嵌入式论坛 - Powered by Discuz!

注:如果更新APP失败,从TOOL端拔掉USB线,旧版TOOL长按S键,新版TOOL长按OK键,插入USB线,3秒后松手,正常会看到电脑端有个虚拟U盘。然后拖拽上位机软件包路径h7toolPC_release\EMMC\H7-TOOL\Firmware里面的APP固件到虚拟U盘,待传输完毕后,TOOL会自动重新启动。

(2)从2.20版本固件开始,更新eMMC排除WiFi列表更新,再也不用重新配置WiFi了,点击下面这个按钮即可:

如果非常早期的客户(第1批TOOL用户,或者固件还是V1.X),继续点击此按钮升级。

(3)解析WiFi AP列表,支持去掉标题行

(4)上位机软件配置参数导入功能,方便导入自己之前配置的界面效果和参数配置


2、首版LUA API手册发布

功能简介

(1)H7-TOOL的Lua小程序功能是一个非常重要的功能。用户编写Lua小程序并下载到H7-TOOL内部,之后就可以脱离PC机执行。H7-TOOL的脱机烧录功能就是结合Lua小程序实现了复杂的业务逻辑。
(2)实现各种小程序,不再限制Flash里面已经下载的程序,就跟手机安装APP差不多,所以在H7-TOOL里面被广泛使用,支持在线调试运行,支持离线运行。
(3)支持USB,以太网和WiFi的在线控制运行和离线控制运行。且局域网和外网也可以控制。

应用场合

(1)生产线批量设置产品参数、成品检测
(2)研发人员验证电路板模块功能
(3)测试人员测试产品
(4)脱机产品检测,日志记录等

LUA API涵盖内容,还有几十个API,后面升级添加

(1) 系统控制函数
(2) 信号发生器
(3) 4-20mA输入输出
(4) GUI显示
(5) 文件系统
(6) 10路GPIO控制
(7) 4路PWM
(8) 脱机烧录控制
(9) I2C主机从机
(10) SPI主机从机
(11) 电压电流采集
(12) 串口/232/485/Modbus,支持离线日志
(13) CAN/CANFD/CANopen/UDS/J1939
(14) NTC热敏电阻
(15) 微型数控电源
(16) 支持IO扩展
(17) 支持传感器扩展
(18) 支持脉冲测量
(19) SWD调试接口函数,读写各种类型数据,内存和寄存器等。
(20) 支持串口,SPI,I2C和CAN的bootloader脱机更新
(21) 扩展驱动AD7606, ADS1256,MCP3421, 8路继电器和5路DS18B20


3、CAN/CANFD助手正式增加CAN负载率,错误状态信息和发送超时判断

本次升级后,H7-TOOL的CAN/CANFD功能越来越完善,离线显示屏端和上位机端都做了展示支持。

1、支持经典CAN和CANFD,最高支持8Mbps通信。
2、支持CANopen,J1939,UDS和汽油车ODB 15765解析。
3、支持USB,以太网或WiFi方式的CAN/CANFD助手效果展示,同时支持局域网和外网控制。支持离线手持显示屏方式查看。
4、支持微秒级硬件时间戳,实时添加比较准确,收发消息后,实时上传给上位机的,并不是上位机软件来做的时间处理,用来测量消息时间是比较准确的。
5、支持实时保存CSV文件。
6、实际测试CANFD仲裁段1MHz,数据段2MHz速度下,设备连续不间断发送,每秒上万帧数据,TOOL实时接收1200万帧正常不丢包。
7、支持LUA脚本对数据解码和分窗显示。
8、支持在发送面板直接输入LUA语句控制发送逻辑。
9、原创CANFD Trace功能,不需要目标板额外做任何代码, 支持在线和脱机玩法.
10.  支持通过CANFD LUA小程序对目标板bootloder进行APP固件升级。
11、支持波形打印。
12、增加CAN负载率,错误状态信息和发送超时判断。
13、支持LUA CAN API和CAN助手同时使用,方便实现各种复杂逻辑。

 



最新版最终效果:


【CAN负载率测试效果】

不断增加节点发送速度,上位机右下角的负载率效果,动态图:


【发送超时检测】

0 - 不判断,开硬件重发。
1 - 100ms,关硬件重发。
2 - 200ms,关硬件重发。
3- 500ms,关硬件重发。
4-1s,关硬件重发。
5-2s,关硬件重发。
6-5s,关硬件重发。

比如我这里设置100ms超时发送,并开启周期发送,并且初始阶段没有接目标节点,动态图:


【错误状态信息】

这里测试几个典型情况,可以大大方便大家了解各种状态信息。

1、单个TOOL,不接节点,不接终端电阻,开硬件自动重发,效果展示

可以看到错误状态信息没有任何变化。

单个TOOL,不接节点,接终端电阻,关闭硬件自动重发(对应选项1 - 100ms,关硬件重发),效果展示

可以看到TEC计数器以每次+8计数,动态图:


2、两个节点通信期间,拔掉接线,然后再插入

可以看到发送节点的TEC增加到128,重新插入后,减小到0,动态图:


3、 两个节点,不同波特率,发布效果:

发送节点500K + 1M,且开硬件自动重发,接收节点1M + 2M,接收节点效果:

检测到错误,且负载率直接爆到80%,动态图:

具体错误状态信息含义,点击寄存器含义按钮可以查看

如果总线上没有错误信息,点击复位CAN按钮,可以恢复TOOL到正常状态,如果总线上一直有错误信息发送,复位后还会继续检测到

同时CAN/CANFD助手增加标签功能,大家可以随意修改:


4、SPI控制器主从机增加16bit通信方式,只读,只写和全双工均可

这两天更新操作说明到论坛,下面是一个两个TOOL的SPI控制器做16bit通信,全双工方式。

主机:

从机:


5、单路,1拖4,1拖16脱机烧录

(1)脱机烧录增加了40多款IC支持,全部实际硬件测试验证,含有多款汽规级IC

这次升级添加新款IC支持,锁死了不少板子,主要是部分IC添加难度略大,特别是NXP的车轨芯片S32K312和英飞凌车规级M7多核芯片CYT4B

NXP汽车级M7芯片S32K312芯片连续作战4天4夜才解决

英飞凌车规级M7多核芯片CYT4B是时隔半年,再次死磕,同样也是耗时好几天才解决


(2)自制读写保护

说明:

很多IC厂家仅发布了内部Flash算法文件,并没有提供读写保护算法文件,也就是选项字节算法文件,需要我们制作。

实际上当前已经发布的TOOL版本,已经自制很多了,比如已经支持的兆易创新大部分型号,新唐的大部分型号等。但是依然有些厂家还没自制,所以陆续开始为这些厂家提供读写保护支持。

近期已经自制了STM32H7全系列,N32G003,N32G031,  STM32U5全系列,复旦微FM33LE系列,凌欧的LKS32MC45x,LKS32MC05x,LKS32MC08x,LKS32MC03X提供Flash保护支持


6、完整脱机烧录支持列表

相关文章:

H7-TOOL固件2.27发布,新增加40多款芯片脱机烧录,含多款车轨芯片,发布LUA API手册,CAN助手增加负载率,错误状态信息检测

H7-TOOL详细介绍(含操作手册):H7-TOOL开发工具,1拖4/16脱机烧录,高速DAPLINK,RTOS Trace,CAN/串口助手, 示波器, RTT等,支持WiFi,以太网,高速USB和手持 - H7-…...

STM32+WIFI获取网络时间+8位数码管显示+0.96OLED显

资料下载地址:STM32WIFI获取网络时间8位数码管显示0.96OLED 1、项目介绍 主控芯片STM32C8T6 接线:串口1:PA9 PA10 OELD :PB6 PB7 数码管使用:MAX7219 8位数码管 Max7219_pinCLK PAout(5) Max7219_pinC…...

以太网ICMP协议(ping指令)——FPGA学习笔记25

--素材来源原子哥 一、IP协议 1、IP简介 IP是Internet Protocol(网际互连协议)的缩写。IP 协议是 TCP/IP 协议簇中的核心协议,它为上层协议提供无状态、无连接、不可靠的服务。IP 协议规定了数据传输时的基本单元和格式 。 IP协议是 OSI 参考模型中网络层…...

从零手写线性回归模型:PyTorch 实现深度学习入门教程

系列文章目录 01-PyTorch新手必看:张量是什么?5 分钟教你快速创建张量! 02-张量运算真简单!PyTorch 数值计算操作完全指南 03-Numpy 还是 PyTorch?张量与 Numpy 的神奇转换技巧 04-揭秘数据处理神器:PyTor…...

【Cesium】自定义材质,添加带有方向的滚动路线

【Cesium】自定义材质,添加带有方向的滚动路线 🍖 前言🎶一、实现过程✨二、代码展示🏀三、运行结果🏆四、知识点提示 🍖 前言 【Cesium】自定义材质,添加带有方向的滚动路线 🎶一、…...

C 语言奇幻之旅 - 第11篇:C 语言动态内存管理

目录 引言1. 内存分配函数1.1 malloc 函数实际开发场景:动态数组 1.2 calloc 函数实际开发场景:初始化数据结构 1.3 realloc 函数实际开发场景:动态调整数据结构大小 2. 内存释放2.1 free 函数 3. 内存泄漏与调试3.1 常见内存问题3.2 内存调试…...

IDEA 撤销 merge 操作(详解)

作为一个开发者,我们都知道Git是一个非常重要的版本控制工具,尤其是在协作开发的过程中。然而,在使用Git的过程中难免会踩一些坑,今天我来给大家分享一个我曾经遇到的问题:在使用IDEA中进行merge操作后如何撤销错误的合…...

swarm天气智能体调用流程

Swarm 框架的调用流程: 入口点 (examples/weather_agent/run.py): run_demo_loop(weather_agent, streamTrue)初始化流程: # swarm/repl/repl.py -> run_demo_loop() client Swarm() # 创建 Swarm 实例消息处理流程: # swarm/core.py class Swarm:def run(…...

LED背光驱动芯片RT9293应用电路

一)简介: RT9293 是一款高频、异步的 Boost 升压型 LED 定电流驱动控制器,其工作原理如下: 1)基本电路结构及原理 RT9293的主要功能为上图的Q1. Boost 电路核心原理:基于电感和电容的特性实现升压功能。当…...

二叉树的二叉链表和三叉链表

在二叉树的数据结构中,通常有两种链表存储方式:二叉链表和三叉链表。这里,我们先澄清一下概念,通常我们讨论的是二叉链表,它用于存储二叉树的节点。而“三叉链表”这个术语在二叉树的上下文中不常见,可能是…...

【学习路线】Python 算法(人工智能)详细知识点学习路径(附学习资源)

学习本路线内容之前,请先学习Python的基础知识 其他路线: Python基础 >> Python进阶 >> Python爬虫 >> Python数据分析(数据科学) >> Python 算法(人工智能) >> Pyth…...

C++直接内存管理new和delete

0、前言 C语言定义了两个运算符来分配和释放动态内存。运算符new分配内存,delete释放new分配的内存。 1、new动态内存的分配 1.1、new动态分配和初始化对象 1)、new内存分配 在自由的空间分配的内存是无名的,new无法为其分配的对象…...

Linux 内核中网络接口的创建与管理

在 Linux 系统中,网络接口(如 eth0、wlan0 等)是计算机与外部网络通信的桥梁。无论是物理网卡还是虚拟网络接口,它们的创建和管理都依赖于 Linux 内核的复杂机制。本文将深入探讨 Linux 内核中网络接口的创建过程、命名规则、路由选择以及内核如何将网络接口映射到实际的硬…...

人工智能 前馈神经网络练习题

为了构建一个有两个输入( X 1 X_1 X1​、 X 2 X_2 X2​)和一个输出的单层感知器,并进行分类,我们需要计算权值 w 1 w_1 w1​和 w 2 w_2 w2​的更新过程。以下是详细的步骤和计算过程: 初始化参数 初始权值&#xff1a…...

Windows搭建RTMP服务器

目录 一、Nginx-RTMP服务器搭建1、下载Nginx2、下载Nginx的RTMP扩展包3、修改配置文件4、启动服务器5、查看服务器状态6、其它ngnix命令 二、OBS推流1 、推流设置2、查看服务器状态 三、VLC拉流四、补充 本文转载自:Windows搭建RTMP服务器OBS推流VLC拉流_浏览器查看…...

Vue重新加载子组件

背景:组件需要重新加载,即重新走一遍组件的生命周期常见解决方案: 使用v-if指令:v-if 可以实现 true (加载)和 false (卸载) async reloadComponent() {this.show false// 加上 nextTick this.$nextTick(function() {this.show…...

【VScode】设置代理,通过代理连接服务器

文章目录 VScode编辑器设置代理1.图形化界面1.1 进入proxy设置界面1.2 配置代理服务器 2.配置文件(推荐)2.1 打开setting.json 文件2.2 配置代理 VScode编辑器设置代理 根据情况安装nmap 1.图形化界面 1.1 进入proxy设置界面 或者使用快捷键ctrl , 。…...

js es6 reduce函数, 通过规格生成sku

const specs [{ name: 颜色, values: [红色, 蓝色, 绿色] },{ name: 尺寸, values: [S, M, L] } ];function generateSKUs(specs) {return specs.reduce((acc, spec) > {const newAcc [];for (const combination of acc) {for (const value of spec.values) {newAcc.push(…...

基于R语言的DICE模型

DICE型是运用最广泛的综合模型之一。DICE和RICE模型虽然代码量不多,但涉及经济学与气候变化,原理较为复杂。 一:DICE模型的原理与推导 1.经济学 2.气候变化问题 3.DICE模型的经济学部分 4.DICE模型的气候相关部分 5.DICE模型的目标函数…...

【C】PAT 1006-1010

1006 换个格式输出整数 让我们用字母 B 来表示“百”、字母 S 表示“十”&#xff0c;用 12...n 来表示不为零的个位数字 n&#xff08;<10&#xff09;&#xff0c;换个格式来输出任一个不超过 3 位的正整数。例如 234 应该被输出为 BBSSS1234&#xff0c;因为它有 2 个“…...

黑马Mybatis

Mybatis 表现层&#xff1a;页面展示 业务层&#xff1a;逻辑处理 持久层&#xff1a;持久数据化保存 在这里插入图片描述 Mybatis快速入门 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6501c2109c4442118ceb6014725e48e4.png //logback.xml <?xml ver…...

java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别

UnsatisfiedLinkError 在对接硬件设备中&#xff0c;我们会遇到使用 java 调用 dll文件 的情况&#xff0c;此时大概率出现UnsatisfiedLinkError链接错误&#xff0c;原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用&#xff0c;结果 dll 未实现 JNI 协…...

C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。

1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj&#xff0c;再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...

Linux 中如何提取压缩文件 ?

Linux 是一种流行的开源操作系统&#xff0c;它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间&#xff0c;使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的&#xff0c;要在 …...

Linux nano命令的基本使用

参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时&#xff0c;显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...

LabVIEW双光子成像系统技术

双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制&#xff0c;展现出显著的技术优势&#xff1a; 深层组织穿透能力&#xff1a;适用于活体组织深度成像 高分辨率观测性能&#xff1a;满足微观结构的精细研究需求 低光毒性特点&#xff1a;减少对样本的损伤…...

ZYNQ学习记录FPGA(一)ZYNQ简介

一、知识准备 1.一些术语,缩写和概念&#xff1a; 1&#xff09;ZYNQ全称&#xff1a;ZYNQ7000 All Pgrammable SoC 2&#xff09;SoC:system on chips(片上系统)&#xff0c;对比集成电路的SoB&#xff08;system on board&#xff09; 3&#xff09;ARM&#xff1a;处理器…...

字符串哈希+KMP

P10468 兔子与兔子 #include<bits/stdc.h> using namespace std; typedef unsigned long long ull; const int N 1000010; ull a[N], pw[N]; int n; ull gethash(int l, int r){return a[r] - a[l - 1] * pw[r - l 1]; } signed main(){ios::sync_with_stdio(false), …...

基于Java项目的Karate API测试

Karate 实现了可以只编写Feature 文件进行测试,但是对于熟悉Java语言的开发或是测试人员,可以通过编程方式集成 Karate 丰富的自动化和数据断言功能。 本篇快速介绍在Java Maven项目中编写和运行测试的示例。 创建Maven项目 最简单的创建项目的方式就是创建一个目录,里面…...