实时调试stm32

时间:2017-08-15 11:50:36

标签: debugging microcontroller stm32 firmware

我想知道是否有人知道如何实时调试eclipse,我有一个stm32微控制器的固件,并希望能够看到我的变量随着时间的推移而不必使用断点或其他东西,是否有人知道怎么办?

3 个答案:

答案 0 :(得分:1)

快速回答是 - 使用半主机。

较长的一个 - 减少通过SWO传输的数据量仅发送原始值。互联网上有许多工具或(我自己使用这种方法)用C / C ++或C#编写一个简短的程序来显示/可视化接收的数据。它实际上对我有用。

答案 1 :(得分:1)

您需要的是STM-STUDIO-STM32,这是ST为实时数据监控提供的一个很棒的工具。

  • 数据可以条形图,x-y图和表格显示。
  • 变量从.elf文件加载。
  • 该工具使用ST-Link和SWD连接芯片并获取数据。
  • 您甚至可以在运行时更改变量的值,因此它也可以作为MCU的输入。它看起来像这样:

    enter image description here

基本上,在使用STM时,默认情况下您有一个客户端应用程序。 ST列出的主要功能:

  

主要特点

     
      
  • 在装有Microsoft®WindowsXP,Vista和Windows 7操作系统的PC上运行
  •   
  • 通过ST-LINK(JTAG或SWD协议)
  • 连接到任何STM32   
  • 在应用程序运行时从RAM中读取即时(非侵入式)变量
  •   
  • 解析ELF应用程序可执行文件中的DWARF调试信息
  •   
  • 两种类型的观众:      
        
    • 可变查看器:实时波形,类似示波器的图形
    •   
    • TouchPoint查看器:两个变量的关联,一个在X轴上,一个在Y轴上
    •   
  •   
  • 可以将数据记录到文件中,并在以后重播(详尽的记录显示,而不是实时)
  •   

答案 2 :(得分:0)

最简单的方法是在UART上传输数据并在计算机上使用任何串行实用程序(如Windows上的Putty和Linux上的cutecom,miniterm.py)进行观察。

其次,如果您的系统支持半主机,则可以启用它以使用printf在控制台上打印变量值。