基于STM32调试工具STM-STUDIO-STM32的使用
手上有stlink下载器,正好看到官网有这个工具,可以在运行中实时查看变量的数据。这一点和ucos的ucprobe很类似。
STMStudio是通过导入调试文件(.elf .out .axf)来实现调试和诊断的。
所以,你需要提前准备调试文件(.elf .out .axf)。
1.Keil MDK-ARM:编译之后,会在你工程中Objects目录下生成一个.axf调试文件。
2.IAR EWARM:编译之后,会在你工程中Exe目录下生成一个.out调试文件。
不过有区别:
STM-STUDIO-STM32是免费的,安装包小巧,仅限于stm32cpu,仅限于st-link下载器,只要运行stm的程序,都可以看,有无rtos均可,我的理解是变量只能是全局变量,函数里的自动变量无法查看。这个在导入变量的时候,就可以看到了,只有全局变量。
ucprobe需要jlink配合,无cpu限制,收费软件,能查看运行ucos系统的单片机,要是裸系统,则为验证过,变量也只能是全局变量,函数里的自动变量无法查看。
这样看多了一个调试的手段,而不用在keil里面添加变量,看数据,毕竟指示变量的数值,没有一个波形,STM-STUDIO-STM32可以在运行的时候查看变量的变化,这一点很有帮助。用户可以多方面的选择调试手段。
以上是自己的理解,以下是如何使用的转载文章。
原文作者:STM32中文社区网友toofree
同时参考https://www.mianbaoban.cn/mp/a4162.html
笔者参考STM32电机控制培训材料,将带着大家一步步学习STMStudio使用。
首先打开软件“STMStudio”。
打开后,显示如下空白工程界面。然后从文件菜单中选择导入变量选项。
选择浏览选项,去查找可用的目标文件。文件格式支持有“elf”、“out”、“axf”。找到我们本次使用的文件
“SDK50x-P-NUCLEO-IHM001-BullRunning.out”,确认选择可执行文件。
选择我们本次要观察的两个变量,“Tuning_ACD ”和“Tuning_Iqref ”,导入。
可看到左边显示变量设置中,已经出现我们添加的两个变量。 在观察设置中,点鼠标右键,弹出右键菜单中选择新建VarViewer。建议多添加一个VarViewer,ADC有采样值变化与转矩不在同一范围。如果在同一窗口,一个波形幅度太小。
可以看到,出现两个VarViewer窗口:
在变量“Tuning_ACD ”上,点鼠标右键,选择发送到VarViewer1。在变量“Tuning_Iqref ”上,点鼠标右键,选择发送到VarViewer2。
可以看到在两个VarViewer窗口下方分别出现“Tuning_ACD ”和“Tuning_Iqref ”字样,表示本窗口为各自观察窗口。点开始按钮,开始记录波形:
打开“Workbench”软件,打开Monitor监控窗口。连接已刷相应固件的目标板,并打开“Plotter”绘图窗口。
在“Workbench”的“Plotter”绘图窗口,“STMStudio”的VarViewer同时观察,转动电位器时,对应各变量的波形变化。
保存工程设置,文件菜单中选择Save Project As… 设置相应的路径与文件名,并保存为tsc文件,这个只是用户设置文件,浏览打开此文件也可打开工程。
点“显示设置”按钮,可以看到左边的绿色工程名。在此界面下,再次Save Project As…的时候,将弹出保存为STM Studio工程文件,tsp文件。
至此,完整的STM Studio工程建立、变量波形观察、保存工程,已经完成。下次直接浏览打开工程即可,不必每次都设置。
在第一次观察波形的时候,波形横向跑得很快,即时间轴单位比较小。并且纵向值区间也比较小。那么如果想要让波形显示慢一点,想在同一个窗口观察更多更完整的波形数数据,
该如何操作呢?
先跑一次程序,并且将电位器向两端各自打开头,也就是让变量的值出现满量程,然后停止。在停机状态下,在VarViewer窗口,有效数据区域,点鼠标左键,并向左拖动鼠标,这时将显示完整波形。点住左键,向右拖鼠标的话,把框选局部波形,将波形放大显示。
可看到完整波形:
下次启动执行的时候,将以上次时间轴单位来显示,当超出一定时间后,将波形压缩显示。如果再超过一定时间后,将滚动显示,不再压缩显示。具体时间这多少,需要自己摸索。在VarViewer窗口波形数据区,点住鼠标左键,向左划鼠标,多试试。
向右拖鼠标,出现框选。并看到波形放大显示。
原文作者:STM32中文社区网友toofree