ST-LINK可以进行串行通讯吗?


8

我正在使用STM32F4发现板和适用于ARM Lite 3的Atollic TrueStudio

我想使用printf将一些调试数据传递到PC,但找不到通过STLink进行调试的方法。可能吗 对于任何调试过程,它似乎都是必不可少的功能。

编辑:我需要使用串行线查看器,但仍然无法使它工作。


1
如果您能做到这一点,您可以举个例子,即时通讯有同样的问题,没有任何运气。我编写了自己的printf函数,该函数在基础syscall文件中使用_write函数。
JWL

Answers:


4

好的,在Atollic TrueStudio for ARM Lite中实现通信的方式(是的,它从3.0开始就在精简版下工作):

  1. 在活动的调试配置中启用Serial Wire Viewer
  2. 显示SWV控制台(在“调试”下)
  3. 打开串行线查看器设置(SWV控制台窗口中的第一个按钮)
  4. 启用ITM刺激端口0
  5. 在SWV控制台中启用“开始/停止跟踪”按钮(第二个按钮)
  6. 使用ITM_SendChar函数
  7. 享受调试字符串的乐趣!

这也适用于所有ulink jtag系列的Keil uCVision。
卡特2012年

0

它正在使用Crossworks。在crossworks中,我们使用dbg_printf,但是它很慢,请注意。


0

对于所有CrossWorks用户:半主机有效,但速度较慢。这是因为交叉工作不会通过SWO传递printf数据,而是通过JTAG / SWD接口传递。它停止uC并从寄存器数据中读取以显示。请注意,当您使用printf函数并且调试器已断开连接时,uC会停止。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.