2023-07-20 11:25:45 | 人围观 | 评论:
ES32 图形化调试软件 ES-DAP-Viewer
MCU 向调试终端输出信息的方法有很多。今天就介绍一个更炫更酷、可以图形化显示数据的调试法宝——ES-DAP-Viewer。ES-DAP-Viewer 是 essemi 推出的,可以在目标 MCU 运行时,实时分析数据并图形化显示的 PC 端软件。用户可以简单的将目标 ES32 芯片连接到 ES-Link II 调试器或 ES-DAPLink 调试器,并启动 ES-DAP-Viewer 软件,就可以像示波器一样显示多个变量的值。它支持通过如下三种模式获取数据:
ES-DAP-Viewer下载链接(复制到浏览器打开):http://www.essemi.com/index/product/detail?id=896
左边为绘图窗口;右边为配置窗口,包括串口选择及参数设置窗口,数据处理窗口和帧格式设置窗口;底部为通道选择栏,最多支持10个通道。
PC 界面操作说明
UART-Print 绘图调试的大致流程如下所述:
通信协议和程序示例
UART-Print 使用的通信协议如下表所示:
关于 ES-DAP-Viewer 的 UART-Print 通信协议,详细说明如下:
如下程序可产生上面动图所示的效果。
关于 SWD-Print 的界面使用介绍可参考 UART-Print。
使用说明
用户程序需要使用 essemi_swd_printf 函数将数据写入目标缓冲区,ES-DAP-Viewer 将通过 SWD 调试接口读取数据后显示在 PC 界面上。SWD-Print 功能的实现需要用到以下四个配置文件:
essemi_swd_print.h
essemi_swd_print_conf.h
essemi_swd_print.c
essemi_swd_print_printf.c
用户在工程中成功添加上述四个配置文件后,并在需要用到 SWD-Print 功能的文件中包含如下头文件#include“essemi_swd_print.h”后,即可调用 essemi_swd_printf()函数将需要打印的数据放到 SWD 专属内存区域中,然后上位机到该内存区域取出数据,显示到绘图窗口。
配置文件放在 ES-DAP-Viewer 如下安装目录:。..\configure\essemi_swd_print。
需要注意以下几点:
在使用 SWD-Print 功能的函数时,必须先调用函数 int essemi_swd_configupbuffer 以及函数 int essemi_swd_configdownbuffer 来初始化上行(MCU 端到 PC 端)和下行(PC 端到 MCU 端)缓冲区,其中,对于第一个参数 BufferIndex = 0 的时候,SWD 组件已为其配置了缓冲和默认大小,其大小配置是在 essemi_swd_print_conf.h 中通过宏定义进行的 #define BUFFER_SIZE_UP(1024) 及 #define BUFFER_SIZE_DOWN(16),因此,在使用缓冲区 0 时,配置比较简单,按照该格式即可:
SWD-Print 目前仅支持字节、半字、字输出,因此当使用函数 int essemi_swd_printf(unsigned BufferIndex, const char *sFormat, 。..) 时,须根据输出的数据位宽使用 “%.2x” 、“%.4x” 或 “%.8x” 来格式化输出。并且,输出的第一个字符必须为空格。
在连接 DAP 调试器时,必须确保目标 MCU 程序正确下载并复位,否则将无法连接 DAP 调试器。
程序示例
如下程序可产生上面动图所示的效果。
使用说明
用户首先需点击 选择axf文件 按钮,载入由编译器生成的 axf 文件,然后在页面下方选择需要监视的全局变量。
通过点击下拉框 DAP设备 选择上位机已扫描到的 DAP 设备,当上位机扫描到目标 CMSIS-DAP 设备时,点击 打开连接 即可与该设备建立通信。
左边为绘图窗口;右边为配置窗口,包括 axf 文件和 DAP 设备选择窗口,数据显示配置窗口;下方为解析到的全局变量列表。
全局变量监视绘图调试的流程如下所述:
程序示例
如下程序可产生上面动图所示的效果。
全站搜索