硬汉嵌入式论坛

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

[固件] H7-TOOL发布V2.19,脱机烧录新增中微半导体、广芯微电子、中移芯昇以及极海和灵动新系列,增加PWM发生器等功能(2022-11-17)

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106731
QQ
发表于 2022-11-17 01:52:01 | 显示全部楼层 |阅读模式
H7-TOOL详细介绍:
http://www.armbbs.cn/forum.php?mod=viewthread&tid=89934

【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发生器


H7-TOOL所有资源汇总(含操作手册):
http://www.armbbs.cn/forum.php?mod=viewthread&tid=89934


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

h7toolPC_release(V2.1.9).zip (62.95MB)[/color

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

(2)因为关闭了WiFi模块内部上电自动重连功能,由程序控制接入WiFi热点,所以升级完毕后需要大家更新下WiFi密码。
image.png

2、新增PWM发生器

使用TOOL上的引脚D0,D1,D3和D4

(1)可以i使用LUA小程序控制,LUA API 如下:

[Lua] 纯文本查看 复制代码
lua 接口函数  gpio_pwm_out(pin, freq, duty)
   --pin : 端口号,0、1、3、4
   --freq : 频率,Hz单位,整数
   --duty :占空比,百分比,0 - 100.0%
   --推挽输出,电平由TVCC电压决定(可设置)   --四路共用的一个TIM,因此频率必须相同。占空比可以不同

函数用法:
    gpio_pwm_out(0, 1000, 50.00)    --D0口输出1KHz,占空比50.00%的方波
    gpio_pwm_out(1, 1000, 40.00)    --D1口输出1KHz,占空比40.00%的方波
    gpio_pwm_out(3, 1000, 30.00)    --D3口输出1KHz,占空比30.00%的方波
    gpio_pwm_out(4, 1000, 10.00)    --D4口输出1KHz,占空比10.00%的方波


    gpio_pwm_out(0, 0, 0)       --D0口PWM关闭,输出0电平
    gpio_pwm_out(1, 0, 0)       --D1口PWM关闭,输出0电平
    gpio_pwm_out(3, 0, 100)    --D3口PWM关闭,输出1电平
    gpio_pwm_out(4, 0, 100)    --D4口PWM关闭,输出1电平


    set_tvcc(3.30)  --设置电平为3.3V


可以上位机这里控制:

image.png

可以使用TOOL手持显示屏控制:




3、支持读取串行Flash的UID,可永固程序加密

之前做的SPI Flash读取ID是JEDEC ID,这次更正为UID,保证ID唯一

image.png

4、新增的LUA API

这个是64bit变量计数,单位1us,最长可以表示 292471年。

[Lua] 纯文本查看 复制代码
local us

-- 获取当前的时间,单位us
us = get_runtime_us()

print(us)

-- 计算当前运行时间和给定时刻之间的差值,单位us
us = check_runtime_us(2533198373) 

print(us)


image.png

5、脱机烧录

(1)新增中微半导体 CMS32M53xx、CMS32M55xx、CMS32M57xx、CMS32F03x

image.png

(2)广芯微电子 UM321x

image.png

(3)中移芯昇CM32M101A

image.png

(4)极海APM32F4xx系列 APM32F405、407、415、417
image.png
(5)灵动 MM32F0020、MM32F0133
image.png

6、当前支持的器件列表




回复

使用道具 举报

8

主题

155

回帖

179

积分

初级会员

H7 TOOL 大法好!

积分
179
发表于 2022-11-17 08:53:39 | 显示全部楼层
老师,能否指点一下 FreeRTOS Trace 怎么玩, 我已经更新好啦

image.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106731
QQ
 楼主| 发表于 2022-11-17 09:59:14 | 显示全部楼层
312456990 发表于 2022-11-17 08:53
老师,能否指点一下 FreeRTOS Trace 怎么玩, 我已经更新好啦

Trace功能以及截图功能还没有发布。还有几个细节问题还没有解决,所以本次更新已经屏蔽了Trace功能的对话框。

今天开始解决这些问题,弄好后更新2.20版。届时会专门录制一期视频操作说明和文档操作说明的。

回复

使用道具 举报

0

主题

43

回帖

43

积分

新手上路

积分
43
发表于 2022-11-17 11:16:40 | 显示全部楼层
大佬们辛苦了,坐等史诗级版本发布!
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106731
QQ
 楼主| 发表于 2022-11-17 15:45:22 | 显示全部楼层
更新完毕。
回复

使用道具 举报

5

主题

97

回帖

112

积分

初级会员

积分
112
发表于 2022-11-17 16:33:10 | 显示全部楼层
这个get_runtime_us() 还是没办法融入os.date时间内。两个不能同步。
回复

使用道具 举报

8

主题

155

回帖

179

积分

初级会员

H7 TOOL 大法好!

积分
179
发表于 2022-11-17 16:45:59 | 显示全部楼层
eric2013 发表于 2022-11-17 09:59
Trace功能以及截图功能还没有发布。还有几个细节问题还没有解决,所以本次更新已经屏蔽了Trace功能的对话 ...

非常期待哈哈哈, 老师辛苦了
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106731
QQ
 楼主| 发表于 2022-11-17 16:56:44 | 显示全部楼层
leng_qian 发表于 2022-11-17 16:33
这个get_runtime_us() 还是没办法融入os.date时间内。两个不能同步。

function printf(...)                  
    print(string.format(...))                  
end

printf(os.date("系统运行时间     = %H:%M:%S", get_runtime_us()//1000000))



回复

使用道具 举报

5

主题

97

回帖

112

积分

初级会员

积分
112
发表于 2022-11-17 17:18:40 | 显示全部楼层
eric2013 发表于 2022-11-17 16:56
function printf(...)                  
    print(string.format(...))                  
end

这种方法我也想到了,但是这样会不会出现ms和s之间不同步的情况?
回复

使用道具 举报

5

主题

97

回帖

112

积分

初级会员

积分
112
发表于 2022-11-17 20:12:09 | 显示全部楼层
本帖最后由 leng_qian 于 2022-11-17 21:59 编辑

image.png image.png MS和S关联不上。  
[Lua] 纯文本查看 复制代码
function printf(...)                  
    print(string.format(...))                  
end

while true do

printf(os.date("系统运行时间     = %H:%M:%S")..":%03d",math.modf(get_runtime_us()/1000%1000))

delayms(10)
end

image.png
6d977f60abd3ccc5571e4f38b100e19.png
回复

使用道具 举报

1

主题

4

回帖

7

积分

新手上路

积分
7
发表于 2022-11-17 23:22:13 | 显示全部楼层
RTT 类似UART的扩展面板什么时候可以上线?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106731
QQ
 楼主| 发表于 2022-11-18 01:05:13 | 显示全部楼层
leng_qian 发表于 2022-11-17 20:12
MS和S关联不上。  [mw_shl_code=lua,true]function printf(...)                  
    print(string.form ...

试试get_runtime,这个是ms级的,返回时间单位ms,和delayms应该是一个时钟源
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106731
QQ
 楼主| 发表于 2022-11-18 01:05:32 | 显示全部楼层
yang.aixiang 发表于 2022-11-17 23:22
RTT 类似UART的扩展面板什么时候可以上线?

这个我已经收录了,争取早点安排。
回复

使用道具 举报

5

主题

97

回帖

112

积分

初级会员

积分
112
发表于 2022-11-18 08:26:05 | 显示全部楼层
image.png 咱们串口上的时间戳是用的那个时钟源。现在主要是MS和S不是一个时钟源,造成两个不能同步。
回复

使用道具 举报

747

主题

1049

回帖

3295

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3295
发表于 2022-11-18 09:24:35 | 显示全部楼层
leng_qian 发表于 2022-11-18 08:26
咱们串口上的时间戳是用的那个时钟源。现在主要是MS和S不是一个时钟源,造成两个不能同步。

get_runtime   返回的是CPU上电复位后的运行时间,主要用于定时和时差计算,不是作为绝对时间使用的。
回复

使用道具 举报

5

主题

97

回帖

112

积分

初级会员

积分
112
发表于 2022-11-18 09:30:42 | 显示全部楼层
armfly 发表于 2022-11-18 09:24
get_runtime   返回的是CPU上电复位后的运行时间,主要用于定时和时差计算,不是作为绝对时间使用的。

我测试看咱们串口的时间戳是没有问题的。怎么能获取到那个MS的时钟。
回复

使用道具 举报

747

主题

1049

回帖

3295

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3295
发表于 2022-11-18 10:30:01 | 显示全部楼层
串口打印的时间戳是TOOL内部的RTC的时间戳。启动串口助手时,STM32记录一下RTC的当前时间年月日时分秒。之后打印的数据包时间就用 bsp_GetRunTimeUs 获得时间差+上RTC初始时钟。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106731
QQ
 楼主| 发表于 2022-11-18 10:58:48 | 显示全部楼层
leng_qian 发表于 2022-11-18 09:30
我测试看咱们串口的时间戳是没有问题的。怎么能获取到那个MS的时钟。

帮你做了个lua端的,由于没有封装API,需要手动获取下,方法如下
[Lua] 纯文本查看 复制代码
local rtc_buf
local us
local Hour
local Min
local Sec

function printf(...)                   
    print(string.format(...))                   
end


us = get_runtime_us()

while(1)
do

rtc_buf = read_clock()

Hour = tonumber(string.byte(rtc_buf,5,5))
Min = tonumber(string.byte(rtc_buf,6,6))
Sec = tonumber(string.byte(rtc_buf,7,7))

s_BeginRTCTime = (Hour * 3600 + Min * 60 + Sec) * 1000000

total_time = s_BeginRTCTime  + check_runtime_us(us)

printf("%s:%03d", os.date("系统运行时间     = %H:%M:%S", total_time//1000000), total_time//1000%1000)

delayms(100)

end


image.png


回复

使用道具 举报

5

主题

97

回帖

112

积分

初级会员

积分
112
发表于 2022-11-18 12:02:25 | 显示全部楼层
image.png
[Lua] 纯文本查看 复制代码
function printf(...)                  
    print(string.format(...))                  
end

time_data     =   os.time()
time_ms_data  =   get_runtime()

while true do
ms_data =get_runtime()-time_ms_data

printf(os.date("%H:%M:%S",(time_data+(ms_data//1000)))..":%03d",math.modf(ms_data%1000))
 
delayms(10)

end
image.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106731
QQ
 楼主| 发表于 2022-11-18 13:21:51 | 显示全部楼层
leng_qian 发表于 2022-11-18 12:02
[mw_shl_code=lua,true]function printf(...)                  
    print(string.format(...))          ...

ms_data =get_runtime()-time_ms_data 可以用 ms_data = check_runtime(time_ms_data) 这个专门有个差值API
回复

使用道具 举报

23

主题

1406

回帖

1475

积分

至尊会员

积分
1475
发表于 2022-11-21 09:25:53 | 显示全部楼层
强烈期待的RTOS Trace功能下版更新能发布吧
代码不规范,亲人两行泪!
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106731
QQ
 楼主| 发表于 2022-11-21 11:11:38 | 显示全部楼层
missfox 发表于 2022-11-21 09:25
强烈期待的RTOS Trace功能下版更新能发布吧

是的,最近开始全力收尾解决中。
回复

使用道具 举报

1

主题

14

回帖

17

积分

新手上路

积分
17
发表于 2022-11-28 10:46:00 | 显示全部楼层
2.19的固件和上位机软件会开源吗,我想要参考一下
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106731
QQ
 楼主| 发表于 2022-11-28 10:58:37 | 显示全部楼层
紫宸星光 发表于 2022-11-28 10:46
2.19的固件和上位机软件会开源吗,我想要参考一下

V2.X不开源。
现在V1.X下位机,上位机和硬件是全开源的,有需要可以参考。
https://www.armbbs.cn/forum.php?mod=viewthread&tid=95468

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-2 20:28 , Processed in 0.266286 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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