硬汉嵌入式论坛

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

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

[复制链接]

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117530
QQ
发表于 2022-11-17 01:52:01 | 显示全部楼层 |阅读模式
H7-TOOL详细介绍:
https://forum.anfulai.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所有资源汇总(含操作手册):
https://forum.anfulai.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独立分别升级了:
    https://forum.anfulai.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、当前支持的器件列表




回复

使用道具 举报

13

主题

174

回帖

213

积分

高级会员

H7 TOOL 大法好!

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

image.png
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

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

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

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

回复

使用道具 举报

0

主题

46

回帖

46

积分

新手上路

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

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

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

使用道具 举报

5

主题

112

回帖

127

积分

初级会员

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

使用道具 举报

13

主题

174

回帖

213

积分

高级会员

H7 TOOL 大法好!

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

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

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117530
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

主题

112

回帖

127

积分

初级会员

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

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

使用道具 举报

5

主题

112

回帖

127

积分

初级会员

积分
127
发表于 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

主题

5

回帖

8

积分

新手上路

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

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117530
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万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

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

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

使用道具 举报

5

主题

112

回帖

127

积分

初级会员

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

使用道具 举报

760

主题

1052

回帖

3337

积分

管理员

Rank: 9Rank: 9Rank: 9

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

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

使用道具 举报

5

主题

112

回帖

127

积分

初级会员

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

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

使用道具 举报

760

主题

1052

回帖

3337

积分

管理员

Rank: 9Rank: 9Rank: 9

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

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117530
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

主题

112

回帖

127

积分

初级会员

积分
127
发表于 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万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117530
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

主题

1444

回帖

1513

积分

至尊会员

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

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117530
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万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

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

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

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-12 19:19 , Processed in 0.055925 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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