|
功能特点:
1、支持离线版和上位机版RTT Viewer功能,支持GB2312和UTF-8编码,且支持记录保存。
2、上位机版RTT Viewer支持USB,以太网和WiFi三种方式,其中以太网和WiFi支持局域网和外网访问控制。
3、RTT Viewer支持波形展示和时间戳功能,支持科学计数法的数字,支持设置X坐标轴值。
4、支持对外供电,电压范围1.2V-5V,可配置,电流最大不要超过450mA。
5、通过对外供电的方式,可以方便的通过GUI界面查看目标板功耗。
6、高速USB2.0 DAPLINK仿真器,支持WinUSB和HID二合一,用户想用那个用那个。
7、HID在Win7,Win10都是免驱的,而WinUSB在Win10上免驱,在Win7上需要安装驱动。
8、SWD接口带双向IO保护。
9、支持MDK, IAR,VisualGDB,Embedded Studio,Clion和STM32CubeIDE
10、支持离线版串口打印。
11、支持5线方式GND,TVCC,SWCLK , SWDIO,RESET和4线方式GND,TVCC,SWCLK , SWDIO。
如果想使用3线方式GND,SWCLK , SWDIO也是可以的,请看本帖FAQ第1条。
12、可以设置上电默认启动DAPLINK功能。
13、显示屏端做了IDCODE读取功能,可以方便的查询下载器端到目标芯片之间的接线是否正常。每次重新插拔,都会重新读取。

H7-TOOL DAPLINK,J-Trace,JLINK V9,STLINK V2,STLINK V3下载速度测试比较

界面效果:
多个TOOL同时使用,同时仿真,互不影响





RTT功能:
1、上位机版RTT Viewer
如果之前没有用过RTT功能,看此贴可以上手:https://www.armbbs.cn/forum.php?mod=viewthread&tid=86177
RTT Viewer实时数据传输组件,完全可以替代串口调试,速度飞快,可以在中断和多任务中随意调用,且仅需要SWDIO和SWCLK两个引脚即可实现。
(1)RTT通道0汇总显示(支持字体前景色和背景色 )
(2)暂停数据接收和暂停刷屏功能。
(3)保存通道0汇总数据(All Terminal )。
(4)Ctrl + 鼠标滚轮修改字体大小。
(5)鼠标滚轮翻页。
(6)GBK中文显示。
(7)双缓冲绘图解决闪烁问题。
(8)动态内存管理,按1MB粒度分配,最大支持1GB缓存。
(9)动态解析RTT数据格式创建索引,解决大数据量刷屏缓慢问题。
(10)复位目标板。
(11)子终端数据显示。
(12)UTF-8转换.
(13)滚动条翻页。
(14)发送数据(交互功能)。
(15)上位机版RTT Viewer支持USB,以太网和WiFi三种方式,其中以太网和WiFi支持局域网和外网访问控制。
(16)支持自定义范围搜索和速度配置功能。
(17)RTT支持快捷控制面板

以太网和WiFi方式的局域网和外网访问控制效果:

2、RTT波形展示和时间戳功能说明:
RTT波形数据源为 Terminal 0终端。
波形左轴数字精度可设置(0-12个小数点)。
支持展示双精度浮点数波形。
支持整数、浮点、科学计数法的数字。
操作比较简单,半角逗号作为不同路波形区分,所有路波形结束加\r\n,当前支持6路波形数据打印,下面是单路展示:
{
{
char buf[20];
sprintf(buf, "%f\r\n", g_tADS1262.AdcNow);
SEGGER_RTT_SetTerminal(0);
SEGGER_RTT_WriteString(0, buf);
}

下面举例说明X轴坐标轴值设置方法,打印的前两个字符是固定,第1个字符是大写的字母X,第2个字符表示X轴坐标值,可以是整数,也可以是浮点数,保证递增即可。
后面的字符是每路要展示的波形数据,比如我们这里展示两路波形,数据之间半角逗号隔开。
{
char buf[128];
sprintf(buf, "X, %0.3f, %f, %e\r\n", (float)bsp_GetRunTime() / 1000, g_tADS1262.AdcNow, g_tVar.DispAnalog);
SEGGER_RTT_SetTerminal(0);
SEGGER_RTT_WriteString(0, buf);
}

3、RTT显示区增加文本复制功能(串口助手显示区也支持复制,原理是一样的):
RTT的文本展示区是采用的画布方式实现,优势是刷新速度快,字体可放缩大小,字体可以任意设置颜色和背景。
缺点是不方便复制,对此,开发了复制功能。
效果展示:
使用比较简单,仅需选中需要复制的区域就完成了复制功能,如果需要复制全部,右击鼠标选中复制全部即可。

4、RTT Viewer多路不同步长波形操作说明
首先说下这个功能有什么用:
前段时间做DSP波形插补教程,需要同时展示出来比较,此功能就比较有用了。
比如有一帧数据是1024点,步大小是1个像素。还有一帧是128点,步大小是8个像素。展示的时候,可以看到整体对比。
使用方法:
(1)、H7-TOOL上位机什么特别操作都不用做,就是普通的RTT使用。
(2)、大家的程序端打印即可。
比如我们展示两个通道数据,通道1是每次都显示,而通道2是8个点显示一次。
sprintf(buf, "%d, \r\n", a[0]);
sprintf(buf,"%d, \r\n", a[1]);
sprintf(buf,"%d, \r\n", a[2]);
sprintf(buf,"%d, \r\n", a[3]);
sprintf(buf,"%d, \r\n", a[4]);
sprintf(buf,"%d, \r\n", a[5]);
sprintf(buf,"%d, \r\n", a[6]);
sprintf(buf,"%d, %d\r\n", a[7], b[0]);
sprintf(buf,"%d, \r\n", a[8]);
sprintf(buf,"%d, \r\n", a[9]);
sprintf(buf,"%d, \r\n", a[10]);
sprintf(buf,"%d, \r\n", a[11]);
sprintf(buf,"%d, \r\n", a[12]);
sprintf(buf,"%d, \r\n", a[13]);
sprintf(buf,"%d, \r\n", a[14]);
sprintf(buf,"%d, %d\r\n", a[15], b[1]);
做成方便打印的代码:
- idx = 0;
- for (i = 0; i < 1024; i++)
- {
- char buf[20];
- if ((i % 8) == 0)
- {
- sprintf(buf, "%f,%f\r\n", a[i], b[idx2++]);
- SEGGER_RTT_SetTerminal(0);
- SEGGER_RTT_WriteString(0, buf);
- }
- else
- {
- sprintf(buf, "%f,\r\n", a[i]);
- SEGGER_RTT_SetTerminal(0);
- SEGGER_RTT_WriteString(0, buf);
- }
- }
复制代码
也就是不显示的地方,我们设置为空即可,显示多个通道是类似的,仅需用半角逗号隔开,不需要展示数值的,设置为空即可:

5、RTT Viewer自定义范围检索和速度配置
RTT打印的原理是搜索RAM块,如果TOOL默认配置中检索的范围没有在列表中,大家可以自己添加新的Flash地址和大小:
添加比较简单,大家仅需填入Flash首地址和Flash大小即可。
如果TOOL外接线比较长,且通信不稳定的话,可以考虑增加延迟时间:
6、RTT快捷发送面板

7、离线版RTT Viewer功能说明:
(1)需要大家的目标板固件已经加入RTT代码。
(2)支持16个通道展示(界面)。
(3)进入RTT Viewer功能界面后,短按S键,C键切换通道。
(4)长按S键可暂停运行。
(5)长按C键可返回。
(6)另外特别注意,如果大家要继续用DAPLINK仿真器功能,请退回到DAPLINK界面,当前还不支持DAPLINK调试和RTT Viewer同时使用。
一个通道,RTT Viewer高速刷新:

多个通道自动切换:

进入RTT Viewer功能界面:
高速DAPLINK功能:
H7-TOOL 的 DAPLINK 接口线位置(不要接任何转接板, 特别是示波器转接板,直接接到 TOOL 上,效果最好)

1、全新的H7-TOOL V2.X固件支持DAPLink仿真器功能可与其他大部分功能同时使用。如果要进入专门的DAPLINK界面,操作如下:
2、高速DAPLINK配合MDK做调试下载说明
(1)、 MDK 从 5.29 版本开始更好的支持了 WinUSB,注意MDK4 仅支持 HID 方式。
(2)、以 MDK5.34 为例,设置如下即可使用, 也要选择 CMSIS-DAP(和 DAPLINK 是一个东西):
点击 Setting:
设置完毕记得点击 OK, 如果调试也要使用 DAPLINK:
3、高速DAPLINK配合IAR做调试下载说明
(1)、 IAR 从 8.32 版本开始支持的 WinUSB,之前版本仅支持 HID, 实际测试推荐使用 IAR8.50 及其以上版
本,之前的版本不稳定。
(2)、 IAR8.5 及其以后版本对中文支持比较差,实际工程的路径请不要用中文。
IAR 设置如下:
然后选择 Hardware 或者 Software 调试,其中使用 Hardware 要接上硬件复位引脚
进入调试的时候会提示选择 HID 还是 WinUSB
请选择 HID 选项, IAR 使用 WinUSB 不稳定。
4、H7-TOOL高速DAPLINK用于Embedded Studio操作说明,采用OpenOCD配GDB Server
当前测试使用的版本V5.50。
1、下载OpenOCD编译好的bin文件
https://gnutoolchains.com/arm-eabi/openocd/
使用的是VisualGDB提供的:
openocd-20211118.7z
下载后,解压到一个磁盘的根目录下,方面批处理文件启动,我们这里是放在了D盘根目录下。
2、制作一个简单的批处理文件来启动DAPLINK
我们是调试的H7芯片,配置如下,不同的调试芯片主要是修改的stm32h7x.cfg,这个文件在下载的bin文件路径:OpenOCD-20211118-0.11.0\share\openocd\scripts\target里面,提供一大批供使用。
- D:\OpenOCD-20211118-0.11.0\bin\openocd.exe -f interface/cmsis-dap.cfg -f target/stm32h7x.cfg
复制代码
文件下载:
h7toolgdb.bat (92 Bytes, 下载次数: 6)
双击运行此批处理文件效果:

说明已经正常启动了,启动后不要关闭,STM32CubeIDE要连接这个端口。
3、打开一个Embedded Studio的工程:
如果此时TOOL已经连接了电脑:



设置工程:

选择GDB Server:

GDB Server类型选择OpenOCD,设置完毕记得点击右下角的OK。

进入调试状态动态GIF:

5、H7-TOOL的高速DAPLINK用于STM32CubeIDE操作教程,采用OpenOCD
说明:
本帖使用的是STM32CubeIDE V1.4.0。当前新版的CubeIDE V1.8.0应该是做了什么检测机制,没法使用通用OpenOCD了,使用就提示Could not verify ST Device。尝试修改openocd版本和cfg文件的ID检测也未解决。

1、下载OpenOCD编译好的bin文件
https://gnutoolchains.com/arm-eabi/openocd/
使用的是VisualGDB提供的:
openocd-20211118.7z
下载后,解压到一个磁盘的根目录下,方面批处理文件启动,我们这里是放在了D盘根目录下。
2、制作一个简单的批处理文件来启动DAPLINK
内容如下,不同的调试芯片主要是修改的stm32f4x.cfg,这个文件在下载的bin文件路径:OpenOCD-20211118-0.11.0\share\openocd\scripts\target里面,提供一大批供使用。- D:\OpenOCD-20211118-0.11.0\bin\openocd.exe -f interface/cmsis-dap.cfg -f target/stm32f4x.cfg
复制代码
文件下载:
h7toolgdb.bat
双击运行此批处理文件效果:

说明已经正常启动了,启动后不要关闭,STM32CubeIDE要连接这个端口。
3、使用STM32CubeIDE随意创建一个工程
配置这里使用STLINK(OpenOCD),感觉STM32CubeIDE这里应该提供个通用的GDB Server,可能ST有别的考虑吧,如果是通用的,我们可以方便的使用官方OpenOCD,不用这么倒腾了。

配置调试器,设置完毕记得点击右下角的Apply

4、编译调试
全编译:

进入调试,动态GIF:


注意事项:
1、不支持使用离线版SEGGER RTT Viewer功能时做DAPLINK调试下载,如果需要用DAPLINK调试下载,请退回到DAPLINK界面。
2、TVCC线一定要接到目标板,因为H7-TOOL的SWD接口做了双向IO保护,TVCC的电压决定了SWDIO和SWCLK的电压范围。
(1)TVCC对外供电的时候,SWDIO和SWCLK的电压是由TVCC决定。
(2)关闭TVCC对外供电的时候,SWDIO和SWCLK的电压是由TVCC引脚从目标板上获取的电压决定。
3、每次重新插拔SWD接口线,H7-TOOL都会重新识别目标板IDCODE,以此来判断H7-TOOL和目标是否正常导通,但小功耗设备不适用,详见《常见问题FAQ》的问题10。
4、5线硬件复位调试不好用的时候,可以考虑不带硬件复位的4线方式。
(1)5线方式GND,TVCC,SWCLK , SWDIO,RESET
(2)4线方式GND,TVCC,SWCLK , SWDIO
常见问题FAQ
1、H7-TOOL的脱机烧录和高速DAPLINK使用三线方式GND,SWDIO,SWCLK下载调试注意事项
详见:http://www.armbbs.cn/forum.php?mod=viewthread&tid=103381
2、升级H7-TOOL的V1.40及其以上版本APP固件后,进入CMSIS-DAP功能菜单,点击没反应
解决办法:升级H7-TOOL的V1.40及其以上版本APP固件注意事项,一定要使用给的那个APP+DAPLINK二合一固件
http://www.armbbs.cn/forum.php?mod=viewthread&tid=101825
3、H7-TOOL的DAPLINK接口线位置(不要接任何转接板(特别是示波器转接板),直接接到TOOL上,效果最好)

4、关于DAPLINK调试支持的硬件断点个数和软件断点个数
详情见此贴:http://www.armbbs.cn/forum.php?mod=viewthread&tid=101831
5、H7-TOOL的下载速度处于什么水平
H7-TOOL DAPLINK,J-Trace,JLINK V9,STLINK V2,STLINK V3下载速度测试比较
http://www.armbbs.cn/forum.php?mod=viewthread&tid=101348
6、Win10上可以免驱识别HID和WinUSB,而Win7上使用WinUSB不是免驱的,使用HID免驱
解决办法:Win7安装DAPLINK WinUSB驱动的超简单,稳定方案,强力推荐
http://www.armbbs.cn/forum.php?mod=viewthread&tid=101748
7、MDK从5.29版本开始更好的支持了WinUSB,如果使用低于5.29的版本,可以替换使用最新的CMSIS-DAP.dll文件
注:MDK4仅支持HID方式。
解决办法:MDK5.28及其以前的老版本对DAPLINK WinUSB方式支持不好,如果不愿使用最新的5.3X可仅替换CMSIS-DAP.dll文件
http://www.armbbs.cn/forum.php?mod=viewthread&tid=101747
8、IAR从8.32版本开始支持的WinUSB,之前版本仅支持HID
进入调试的时候会提示选择HID还是WinUSB
9、使用IAR无法正常下载调试
解决办法,选择Hardware或者Software调试,其中使用Hardware要接上硬件复位引脚
10、MDK调试某些型号芯片,配置了Reset and Run,无法下载后立即复位
解决办法:H7-TOOL高速DAPLINK调试STM32F030,MDK版,注意Pack选项这个坑
http://www.armbbs.cn/forum.php?mod=viewthread&tid=101520
11、H7-TOOL的显示屏上没识别出IDCode
解决办法:
如果目标板的功耗比较小,我们TOOL的LCD屏无法检测到IDCODE,效果如下:
这个是没有关系的,因为我们的插拔检测是做了电压或者电流突变判断的,电流小,不会去读取。而大家使用MDK里面的IDCODE查看,可以正常读取即可
12、没有使用我们原装配套的硅胶杜邦线,识别都正常,但下载失败
解决办法:H7-TOOL的DAPLINK高速下载线推荐使用我们给的硅胶杜邦线,如果使用其他质量不是很好的,需降低时钟速度
推荐使用我们这种的,如果使用其它的,需适当降低MDK Option选项时钟速度。

13、H7-TOOL的高速DAPLINK弹出错误RDDI-DAP Error解决办法
(1)、MDK对这个错误的介绍
https://www.keil.com/support/man ... linkplus_errors.htm
注:ULINK和DAPLINK弹出的这个错误是一样的。
(a)目标板没有正常供电
(b)错误的接线方式或接触不良
(c)最大的JTAG/SW时钟设置的太高,可以降低时钟测试
(d)休眠模式

(2)、TOOL针对这个问题的解决办法
先看TOOL界面上的IDCode识别是否有问题,如果没有问题,重新插拔下SWD接口线
有时候这里没有识别出来,但是MDK里面的IDCode可以识别出来,也是没问题的。

保证了接线没问题,还是有这个问题的话,降低SW时钟速度即可,可以先测试1MHz是否正常,一般都可以解决。

(3)总结:
(a)最好用我们的硅胶杜邦线,接触各方面都比较好使,可以保证信号高质量传输。
(b)如果SWD线略长,需要适当降低速度来测试。
(c)无论是降低时钟速度还是用我们的硅胶杜邦线,都是为了降低信号干扰和阻抗匹配带来的影响,可以保证SWD实现最高的时钟传输速度。
|
评分
-
查看全部评分
|