中文ST-Link v2的完成:添加用于输出调试信息SWO和leg Reset的接口

图片 嗨,极客时间!

今天,我想谈谈用烙铁完成中国ST-Link v2的过程。 您可以向其中添加SWO输出以接收调试信息,并为STM32微控制器添加复位控制脚(与STM8相同的复位脚)。 也许对于许多人来说,这不是发现,而是让初学者了解一些信息。 谁在乎,请在猫下。

为什么需要它?

用于调试STM32微控制器的SWD接口支持通过SWO输出实时传输调试信息,这非常方便。 好吧,需要复位脚,以便在禁用SWD接口时使控制器闪烁更舒适。 原因肯定是牵强的,因为对于固件,您始终可以使用手柄按“复位”按钮,但不要打扰。 例如,当我刚接触STM32时,我从中国收到了一个调试板,其中演示程序闪烁,LED闪烁并且禁用了SWD,但我并没有立即了解如何连接它。

修订本身

我们需要手术刀,烙铁和几厘米长的细电线,我在这里有MGTF *一些*。 在这些编程器上,连接器分为两部分:左侧-用于STM8,右侧-用于STM32,因此那里存在的Reset不适合STM32,我们将自己做。

首先,切断去往不必要销的轨道。 在我的第一个经过修改的编程器上,由于我不打算使用STM8,所以我切断了Reset和SWIM的支路,但是现在我将使用额外的3.3和5 V引脚(它们在连接器上重复使用),以免破坏编程器的功能,它将派上用场。

电线必须焊接到微控制器的18(复位)和31(SWO)脚。 这是另一堂课,但是您可以借助一些技巧来做到。 我的电线很好地插入了板上的孔中,从而进行了额外的固定。 通常,以一种好的方式,您必须立即用胶水将它们固定在微控制器上。 通过小的电阻器(使它们为22欧姆)将自由端焊接到新切割的引脚上。



您可以结案并签署新的结论,因此您不会忘记哪个结论。

SWO检查



要使用SWO,您必须:

-激活SWD
-在TRACESWO上启用相应的输出(对于STM32F103C微控制器为PB3);
-确保SWO包含在编程环境中,而不是半主机
-在程序的头中连接库#include“ stdio.h”
-在程序代码中使用printf(“ Hello STM32 world!\ R \ n”)

您可以通过STM32 ST-LINK Utility程序中的终端查看这些消息,也可以直接在我的环境中调试期间查看这些消息(我使用IAR)。


重置检查

假设由于某种原因,SWD在微控制器上被禁用:您在初始化期间忘记了将其打开,或者是一个带有有线演示程序的新板子。 当然,您可以通过将Reset腿拉到地面(通常在调试板上有一个按钮)来闪烁,但这并不总是很方便。 您只需连接编程人员的联系人并自动缝制即可。

在同一STM32 ST-LINK Utility程序中,选择“重置时连接”并连接到闪存或清除微控制器的存储器。


或在您的IDE中,选择适当的项目:


这将允许您刷新并进入调试模式,但是一旦外围设备初始化,SWD将断开连接,并且与控制器的连接也将消失。

谢谢您的关注,希望有人派上用场。

Source: https://habr.com/ru/post/zh-CN402927/


All Articles