<nobr id="ptphf"><del id="ptphf"><delect id="ptphf"></delect></del></nobr>
    <listing id="ptphf"></listing>

    <p id="ptphf"></p>
    <b id="ptphf"><del id="ptphf"></del></b>

      <pre id="ptphf"><menuitem id="ptphf"><meter id="ptphf"></meter></menuitem></pre>
      <del id="ptphf"><cite id="ptphf"></cite></del>
      <form id="ptphf"></form>
      <p id="ptphf"><var id="ptphf"><progress id="ptphf"></progress></var></p>

      <form id="ptphf"></form>
      <noframes id="ptphf"><noframes id="ptphf"><ins id="ptphf"><mark id="ptphf"></mark></ins><form id="ptphf"><b id="ptphf"><dfn id="ptphf"></dfn></b></form>
        <ruby id="ptphf"><menuitem id="ptphf"></menuitem></ruby>

        电子发烧友网>测量仪表> > 正文

        工程师笔记|ES32 图形化调试软件——ES-DAP-Viewer

        2021年10月28日 09:20 ? 次阅读

          

        ? ? ? ES32 图形化调试软件 ES-DAP-Viewer

        ?

         ? ?MCU 向调试终端输出信息的方法有很多。今天就介绍一个更炫更酷、可以图形化显示数据的调试法宝——ES-DAP-Viewer。ES-DAP-Viewer 是 essemi 推出的,可以在目标 MCU 运行时,实时分析数据并图形化显示的 PC 端软件。用户可以简单的将目标 ES32 芯片连接到 ES-Link II 调试器或 ES-DAPLink 调试器,并启动 ES-DAP-Viewer 软件,就可以像示波器一样显示多个变量的值。它支持通过如下三种模式获取数据:

        1.   UART-Print 模式:用户通过串口将数据以固定的格式发送到 PC 端,上位机软件按照用户界面属性配置将收到的数据绘成波形。
        2.   SWD-Print 模式:这种模式不要额外的 UART 引脚, PC 软件通过 SWD 调试接口获取数据,用户只需要使用 essemi_swd_printf 函数将数据写入目标缓冲区即可。
        3.   全局变量监视模式:这种模式也是通过 SWD 调试接口获取数据,并通过读取一个 axf 文件,允许选择一定数量的变量可视化。

          ES-DAP-Viewer下载链接(复制到浏览器打开):http://www.essemi.com/index/product/detail?id=896

          1. UART-Print 模式

          左边为绘图窗口;右边为配置窗口,包括串口选择及参数设置窗口,数据处理窗口和帧格式设置窗口;底部为通道选择栏,最多支持10个通道。

          PC 界面操作说明

        ? ? ? ?UART-Print 绘图调试的大致流程如下所述:

        1.   打开 ES-DAP-Viewer 后选择 UART-Print 选项卡,进入 UART-Print 界面。
        2.   在串口选择及参数设置窗口中选择通信串口,并配置通信参数。根据 UART 通信协议,用户需配置波特率,停止位,数据位和奇偶校验位。
        3.   在帧格式设置窗口中设置数据类型,可选 Uint8Int8Uint16Int16 以及 Uint32 Int32
        4.   点击 打开串口 开始数据传输,点击 开始显示 便可在绘图窗口看到当前调试数据的实时波形。
        5.   点击 保存 可保存接收到的数据。点击 清除缓存 可清空当前显示界面内的图形。点击 初始比例 可当前视图回到初始状态时的显示比例。点击 背景颜色 右侧的颜色框可选择当前视图的背景色。
        6.   点击 显示方式 下拉菜单,可选择 波形显示 数据显示 。需要注意的是,当选择 数据显示 时,在数据显示窗口中显示的是用户程序发送的原始数据(不包含帧头、功能码、数据长度及校验和),每行显示一帧数据。
        7.   点击 开始显示波形或数据开始动态显示。
        8.   输入框 显示时长 默认为 50000ms,可根据实际情况,输入合适的值,在按下回车键后将会更新横坐标的显示范围。

          通信协议和程序示例

          UART-Print 使用的通信协议如下表所示:

          关于 ES-DAP-Viewer 的 UART-Print 通信协议,详细说明如下:

        1.   UART-Print 的数据帧由帧头、功能码、数据长度、用户数据以及累加校验和组成,其中,帧头固定为两字节大小的 0xAAAA,功能码固定为 0xF1。
        2.   data_len 表示该数据帧内包含的用户数据的字节总长度,不包括帧头、功能码、数据长度和累加校验和。
        3.   check_sum 表示从该数据帧第一个字节开始,也就是帧头开始,到用户数据最后一个字节的累加校验和,高位舍去,只保留低八位。
        4.   ES-DAP-Viewer上位机按照上述的协议解析收到的数据并进行校验以显示可靠的数据,这意味着用户在使用 UART-Print 功能时,必须按照该协议进行发送数据,否则上位机会因校验不通过而丢弃数据。
        5.   UART-Print 最多支持 10 个通道,每个通道均支持显示 Uint8Int8Uint16Int16 以及 Uint32 Int32 格式的数据。

          如下程序可产生上面动图所示的效果。


          2. SWD-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 调试器。

          程序示例

          如下程序可产生上面动图所示的效果。

          3. 全局变量监视模式

          使用说明

        ? ? ? ?用户首先需点击 选择axf文件 按钮,载入由编译器生成的 axf 文件,然后在页面下方选择需要监视的全局变量。

          通过点击下拉框 DAP设备 选择上位机已扫描到的 DAP 设备,当上位机扫描到目标 CMSIS-DAP 设备时,点击 打开连接 即可与该设备建立通信。

          左边为绘图窗口;右边为配置窗口,包括 axf 文件和 DAP 设备选择窗口,数据显示配置窗口;下方为解析到的全局变量列表。

          全局变量监视绘图调试的流程如下所述:

        1.   打开 ES-DAP-Viewer 后选择全局变量监视选项卡,进入全局变量监视界面。
        2.   点击 选择axf文件 按钮,载入由编译器生成的 axf 文件。
        3.   点击下拉框 DAP设备 选择上位机已扫描到的 DAP 设备,当上位机扫描到目标 DAP 设备时,点击 打开连接 与该设备建立连接。
        4.   在下方全局变量列表中,可查看解析到的全局变量的名称,地址以及数据类型大小,通过点击全局变量所在行中,对应的 Color 单元,可选择该全局变量在波形显示窗口中的颜色。此外,尽管目前可以解析到结构体变量,但目前不支持对结构体成员和数组成员进行解析,因此在全局变量列表中勾选结构体类型的全局变量是无效的,勾选数组成员会因数组类型的不同而产生不同的效果。
        5.   点击 开始显示 按钮便可在绘图窗口看到当前调试数据的实时变化波形,在下方全局变量列表的 Value(0x) 列中可查看全局变量的当前值。
        6.   此外,用户还可在数据处理窗口中选择保存数据,显示光标,清除缓存,以及更改背景颜色。
        7.   其余操作可参考 UART-Print 界面操作说明。

          程序示例

          如下程序可产生上面动图所示的效果。

        下载发烧友APP

        打造属于您的人脉电子圈

        关注电子发烧友微信

        有趣有料的资讯及技术干货

        关注发烧友课堂

        锁定最新课程活动及技术直播

        电子发烧友观察

        一线报道 · 深度观察 · 最新资讯
        收藏 人收藏
        分享:

        评论

        相关推荐

        STMCube.AI的高级特性

        STM32Cube.AI是意法半导体AI生态系统的一部分,是STM32Cube的一个扩展包,它可以自....
        发表于 2021-10-28 10:05? 46次阅读
        STMCube.AI的高级特性

        航顺HK32MCU登陆深圳国际机场

        航顺芯片,成为了首个登陆深圳机场的高端32位国产MCU的公司,也创下近期该品类最大单笔广告投放的记录....
        发表于 2021-10-28 10:01? 22次阅读
        航顺HK32MCU登陆深圳国际机场

        AutoChips杰发科技亮相2021中国汽车工...

        10月19日,一年一度的汽车技术盛会——2021中国汽车工程学会年会暨展览会(SAECCE 2021....
        发表于 2021-10-28 09:48? 75次阅读
        AutoChips杰发科技亮相2021中国汽车工...

        几个小妙找教你解决单片机复位层出不穷的问题

        在单片机的使用中,经常会接触到复位电路,它是单片机最小系统重要的一个构成部分。同样它也是非常重要的一....
        发表于 2021-10-28 09:27? 65次阅读
        几个小妙找教你解决单片机复位层出不穷的问题

        如何用MCUXpresso Config Too...

        引言 本文介绍了如何使用MCUXpresso Config Tools来快速生成一个可用的USB c....
        发表于 2021-10-28 09:22? 76次阅读
        如何用MCUXpresso Config Too...

        怎样使用J-Link将程序下载进MCU呢

        怎样使用J-Link将程序下载进MCU呢?怎样去操作呢?...
        发表于 2021-10-27 06:30? 0次阅读
        怎样使用J-Link将程序下载进MCU呢

        C8051F芯片用UEC-5下载hex文件链接不上未发现设备

        英文的也链接不上,系统是win10 家庭版  。...
        发表于 2021-10-26 17:05? 180次阅读
        C8051F芯片用UEC-5下载hex文件链接不上未发现设备

        如何利用MCU核心板去实现智能车系统设计

        智能车系统是由哪些模块组成的? 如何利用MCU核心板去实现智能车系统设计? ...
        发表于 2021-10-26 08:06? 0次阅读
        如何利用MCU核心板去实现智能车系统设计

        怎样使用pahomqtt去连接阿里云IOT呢

        怎样使用pahomqtt去连接阿里云IOT呢?其实现步骤有哪些? ...
        发表于 2021-10-26 07:24? 101次阅读
        怎样使用pahomqtt去连接阿里云IOT呢

        怎样去设计一种基于STM32F407的示波器呢

        怎样去设计基于STM32F407的示波器的硬件电路呢? 怎样去设计基于STM32F407的示波器的软件部分呢? ...
        发表于 2021-10-26 06:27? 0次阅读
        怎样去设计一种基于STM32F407的示波器呢

        请问Qt for MCU是如何实现的?

        Qt for MCU是如何实现的?
        发表于 2021-10-25 08:18? 0次阅读
        请问Qt for MCU是如何实现的?

        MCU与CPU有哪些区别

        什么是MCU? MCU与CPU有哪些区别?
        发表于 2021-10-25 07:25? 0次阅读
        MCU与CPU有哪些区别

        单片机MCU和CPU有什么区别

        单片机MCU和CPU有什么区别? 为什么要从51单片机学起? 单片机和嵌入式有何关系? ...
        发表于 2021-10-25 06:51? 0次阅读
        单片机MCU和CPU有什么区别

        STM32F030C8的MCU中断编程的步骤有哪些

        NVIC是什么? 中断优先级分为哪几种情况呢? STM32F030C8的MCU中断编程的步骤有哪些? ...
        发表于 2021-10-25 06:40? 0次阅读
        STM32F030C8的MCU中断编程的步骤有哪些

        ARM-Linux开发和MCU开发的不同点有哪些

        ARM-Linux程序的开发主要分为几类? ARM-Linux开发和MCU开发的不同点有哪些? ...
        发表于 2021-10-22 07:07? 0次阅读
        ARM-Linux开发和MCU开发的不同点有哪些
        色在视频亚洲欧美-欧美色是免费视频-欧美精品视频 <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>