首页 > 其他分享 >H7-TOOL发布2.24固件,增加CMSIS-SVD解析,RTOS Trace链表,I2C/SPI从机,CANopen解析等,脱机烧录增S32K1, 敏矽微, 新唐51等

H7-TOOL发布2.24固件,增加CMSIS-SVD解析,RTOS Trace链表,I2C/SPI从机,CANopen解析等,脱机烧录增S32K1, 敏矽微, 新唐51等

时间:2023-12-07 16:14:28浏览次数:46  
标签:烧录 FLASH 新增 链表 SPI 从机 解析

H7-TOOL详细介绍(含操作手册):

http://www.armbbs.cn/forum.php?mod=viewthread&tid=89934

视频介绍:

https://www.bilibili.com/video/BV1494y1j7mj



【PC软件】V2.2.4
1. 脱机烧录功能升级
  - 新增GD32C10x系列
  - 新增钜泉光电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
  - 扩充串行FLASH  XM25QH10B、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. 串口助手,当使能显示发送数据时,接收的数据前面增加[Rx], 和[Tx]对齐数据
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


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

h7toolPC_release(V2.2.4).7z (48.20MB)

 



1、升级新版注意事项

(1)APP和eMMC独立分别升级了:
    http://www.armbbs.cn/forum.php?mod=viewthread&tid=105600

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


2、CMSIS-SVD解析

操作说明可以看上位机软件带的PDF文档,也可以看论坛:https://www.armbbs.cn/forum.php?mod=viewthread&tid=120296

1、MDK, IAR等在线调试有两个重要功能,一个是断点,单步调试等玩法。还有一个就是外设寄存器状态,内存数据等实时检测。我们本次要实现的是后者,当前TOOL就可以读写外设寄存器,但是需要看IC数据手册来获取外设地址,非常不方便。针对这个问题,IC厂家都有推出CMSIS-SVD文件,这个文件包含了所有外设寄存器地址,甚至每个寄存器每个bit的含义。所以TOOL能够解析这个文件,意义重大。
2、通过LUA小程序,我们可以离线,WiFi,以太网和USB四种玩法,且支持内网和外网远程。

CMSIS-SVD文件

当前整理了一大批厂家的CMSIS-SVD文件到TOOL软件包里面,不用大家自己找了,没有整理到的,后面再逐步添加,大家也可以直接使用自己电脑上带的。大部分厂家制作的CMSIS-SVD文件都是复合规范的。

效果:


3、RTOS Trace链表

针对这个功能,前几天还专门录制了一期视频:【实战技能】 单步运行源码分析,一期视频整明白FreeRTOS内核源码框架和运行机制,RTOS Trace链表功能展示

本次更新为RTX5,ThreadX,FreeRTOS,uCOS-II和uCOS-III都增加了链表功能。

uCOS-III链接展示:

RTX5链表展示:

ThreadX链表展示:

FreeRTOS链表展示

uCOS-II链表展示


4、I2C从机模式

通过本次升级,I2C主从都已经实现。操作说明可以看上位机软件带的PDF文档,也可以看论坛:https://www.armbbs.cn/forum.php?mod=viewthread&tid=122106

(1)从机是采用硬件I2C实现,开启了Fast-mode Plus,最高支持1MHz,从机的I2C速度是由主机决定的,使用时,不需要大家配置。
(2)IO电平范围支持1.2V-5.0V。
(3)支持波形展示。


5、SPI从机模式

通过本次升级,SPI主从都已经实现。操作说明可以看上位机软件带的PDF文档,也可以看论坛:https://www.armbbs.cn/forum.php?mod=viewthread&tid=122108

1、从机采用硬件SPI实现,主机对其写操作可以支持50MHz(50MHz-60MHz),主机对其读操作可以支持12.5MHz(12.5-20MHz),支持从机的SPI速度是由主机决定的,使用时不需要大家配置。
2、IO电平范围支持1.2V-5.0V。
3、支持波形展示。


6、CAN助手

(1)增加数据阶段5Mbps

(2)增加CANopen解析器

针对这个功能专门录制过两期视频教程:
CANopen协议栈专题,实战方式系统了解NMT,PDO,SDO,时间戳,同步报文,紧急报文等
CANopen协议栈专题,CANopen主从机组网实战,CAN词典工具使用方法以及吃透PDO玩法

操作说明可以看上位机软件带的PDF文档,也可以看论坛:https://www.armbbs.cn/forum.php?mod=viewthread&tid=120863

1、支持CiA301得NMT,PDO,SDO,时间戳,紧急报文和同步报文的解析。
2、支持分窗口展示NMT,PDO,SDO等信息。
3、支持USB,以太网和WiFi方式,支持局域网和外网,大批量实时数据分析请用USB接口方式。
4、支持实时数据记录,以CSV格式存储。

NMT测试,点击这几个选项可以修改工作状态


SDO读写测试

修改心跳时间为100ms:

修改心跳时间为500ms:

读测试:


PDO测试

RPDO测试:


TPDO测试:
开启周期性更新


时间戳测试

开启和关闭时间戳


紧急报文

通信出错会反馈


7、串口助手,Modbus从机更新

1、解决了大家反馈的bug,比较之前更好用
2、UART RTT 发送缓冲区由1K调整为16K
3、串口助手保存log时,同时生成不带通道数字的文件。 *.log是带数字的,*.txt不带数字
4、当使能显示发送数据时,接收的数据前面增加[Rx], 和[Tx]对齐数据


8、LUA小程序

新增Lua API 接口函数,可控制串行FLASH底层读写

--读 UID
print_hex(pg_iap("SPI_FLASH", "send_and_recive", "\x4B\x00\x00\x00\x00", 8))
   
--读CHIP ID
print_hex(pg_iap("SPI_FLASH", "send_and_recive", "\x9F", 3))
   
--全局解除保护
pg_iap("SPI_FLASH", "send", "\x98")


9、1拖4/1拖16脱机烧录

脱机烧录更新的内容最多,首先感谢大家反馈的问题,基本都得到了修正,另外增加了一批新的脱机烧录芯片支持。

当前最终的脱离烧录支持情况如下:

 

标签:烧录,FLASH,新增,链表,SPI,从机,解析
From: https://www.cnblogs.com/armfly/p/17882223.html

相关文章

  • UML类图解析总结-2023/12/07
    一、概述 类图是描述类、接口以及它们之间关系的图,是一种静态模型,显示了系统中各个类的静态结构。类图根据系统中的类以及各个类的关系描述系统的静态视图,可以用某种面向对象的语言实现类图中的类。   二、类之间的关系    其中由若到强的关系: 依赖—......
  • Request 爬虫的 SSL 连接问题深度解析
    SSL连接简介SSL(SecureSocketsLayer)是一种用于确保网络通信安全性的加密协议,广泛应用于互联网上的数据传输。在数据爬取过程中,爬虫需要与使用HTTPS协议的网站进行通信,这就牵涉到了SSL连接。本文将深入研究Request爬虫中的SSL连接问题,并提供解决方案以应对各种情况。问题......
  • Spring Boot中的StringUtils:强大的工具类解析
    在实际的业务开发中,除了经常有针对对象的判断或操作以外,经常也会遇到的就是字符串的判断和操作。比如判断字符串是否为空、是否以某个字符结尾、去除头部和尾部的空白字符、字符的查找和替换。在Spring的核心包中存在这样一个类org.springframework.util.StringUtils,它提供了常见的......
  • 高级实现Java的七大热门技术框架解析源码特性分析
    设计模式是软件开发中常用的解决方案,可以帮助我们构建灵活可扩展的应用程序。本文将深入探讨Java的七大经典设计模式,并提供相关示例代码。一、单例模式单例模式确保一个类只有一个实例,并提供全局访问点。以下是一个简单的单例模式示例代码:publicclassSingleton{privatesta......
  • Istio与Kubernetes:资源管理与协同解析
    本文分享自华为云社区《istio资源介绍以及和kubernetes资源扭转关系》,作者:可以交个朋友。一、istio原理Istio的原理是拦截Kubernetes中创建Pod的事件,然后向Pod中注入一个包含Envoy的容器,进出Pod的流量会被“劫持”到Envoy进行处理。由于流量被“劫持”了,所以Istio......
  • 深入解析LLaMA如何改进Transformer的底层结构
    本文分享自华为云社区《大语言模型底层架构你了解多少?LLM大底层架构之LLM模型结构介绍》,作者:码上开花_Lancer。当前绝大多数大语言模型结构都采用了类似GPT架构,使用基于Transformer架构构造的仅由解码器组成的网络结构,采用自回归的方式构建语言模型。但是在位置编码、层归一化......
  • 深入解析LLaMA如何改进Transformer的底层结构
    本文分享自华为云社区《大语言模型底层架构你了解多少?LLM大底层架构之LLM模型结构介绍》,作者:码上开花_Lancer。大语言模型结构当前绝大多数大语言模型结构都采用了类似GPT架构,使用基于Transformer架构构造的仅由解码器组成的网络结构,采用自回归的方式构建语言模型。但是在位......
  • Golang flag包:命令行参数解析入门代码示例
    以下是一个示例代码,展示了如何使用flag包处理命令行参数:packagemainimport( "flag" "fmt")funcmain(){ //定义命令行参数对应的变量 varnamestring varageint varisAdminbool //绑定命令行参数与变量 flag.StringVar(&name,"name","","En......
  • Golang flag包:nginx命令行参数解析代码示例
    flag-命令行参数解析在写命令行程序(工具、server)时,对命令参数进行解析是常见的需求。各种语言一般都会提供解析命令行参数的方法或库,以方便程序员使用。如果命令行参数纯粹自己写代码解析,对于比较复杂的,还是挺费劲的。在go标准库中提供了一个包:flag,方便进行命令行解析。注:区分......
  • Java之Calender类的详细解析
     Calendar类3.1概述java.util.Calendar类表示一个“日历类”,可以进行日期运算。它是一个抽象类,不能创建对象,我们可以使用它的子类:java.util.GregorianCalendar类。有两种方式可以获取GregorianCalendar对象:直接创建GregorianCalendar对象;通过Calendar的静态方法getInstance()方法......