手把手教你配置 STM32CubeIDE for VSCode 下基于 OpenOCD 的调试配置

如果你在使用 STM32CubeIDE for VSCode 插件,可能会发现它默认的烧录工具只完美支持正版 STLink。市面上几十块钱的仿制 STLink 经常出现连接不稳定、烧录失败、甚至无法识别的“玄学”问题。 为了彻底解决这个问题,我们推荐使用 DAPLink 调试器配合 OpenOCD。这不仅能解决烧录问题,还能让你拥有一套适用于几乎所有 ARM 芯片(不仅限于 STM32)的通用开发环境。本教程将以 STM32CubeIDE for VSCode 生成的项目为基础,教你如何“外挂” OpenOCD 来接管烧录和调试工作。 本教程虽然以 STM32CubeIDE for VSCode 为例,但同样适用于任何基于 OpenOCD 的工具链配置,只需要稍作修改。 Warning 本教程涉及 Scoop 的安装。安装 Scoop 前需要检查自己的用户文件夹是否含有中文,如果有中文会导致安装后无法正常使用,且卸载复杂的后果。可以修改默认用户文件夹或重装系统,建议重装系统。 ...

November 22, 2025 · molqzone

千里之行,始于足下,学电子从 0 到 1

1 写在前面——Hello World 这是一个个人公众号,该篇文章是建号的第一篇文章。建立这个公众号旨在分享一些电子设计相关的内容,同时记录一下博主自身的学习经历(本人记忆力不好,写下来或许过一段时间还能看起来回忆一下)。这第一篇文章,主要内容是想记录一下自己这半年来的学习经历,记录一下博主从一个电子设计新手,后面通过学习,逐渐入门,到现在终于可以独立设计一些小项目的过程,感悟与体会。本文不会过多涉及技术难点的讲解,仅仅作为学习过程、想法的记录,同时也希望有需要的同学看到这篇文章,可以对电子设计入门有一个初步的理解。 2 我的第一个项目——升压电源 其实大家在网上查找,很多文章或者一些人都会建议:小白入门电源第一个项目最好都是自己去设计一个 BUCK(降压)电路。其实这也是我刚开始的想法,我确实准备去实现一个比较正统的 BUCK 电路,但是后面误打误撞,去加入了一支智能车的队伍,因为需要就直接跳过了 BUCK,去做了一个 BOOST(升压)电源。虽然有点走了歪门邪道,但是不妨碍博主从中学习到了很多东西。接下来讲讲我做这个电源项目做的一些准备跟实践吧。 我认为学习电源理论是很重要的,懂得如何选取元件,计算元件参数,等到后面做出实物,测试的时候也需要用理论去解释测试得到的现象(正常或异常现象),才能真正地反哺到你的知识里,给你带来提升。我自己的学习路线是,先把模电、数电基础给学了,再去深入学习开关电源的理论知识,然后可以去尝试用软件搭建仿真模型,验证自己的思路是否正确,再去真正的制作实物。制作完实物之后,无论是否正常工作,测试工作都是非常必要的,最好使用示波器去测量不同节点的波形,看看跟自己的理论知识是否有出入,一般来说,新手的第一版电源波形都会有各种各样的奇怪的现象。当然,问题存在的时候也是你该进步的时候了,不要惧怕问题,去思考如何解释并解决这个现象,才能更好地学到东西。 电源基础拓补大致分为三种类型:BUCK(降压),BOOST(升压),BUCK-BOOST(升降压)。其中 BUCK(降压)最为简单,因为无论是从元件理论值计算、选取,还是稳定性分析建模、或是电路复杂度来说,它都简单,所以很适合入门。但是学会了 buck 之后,其他两个原理也是大致相通,入门可以通过这三个拓补进行学习。为了系统学习电源知识,当时我去找了很多资料,有网课、博客、书籍等,它们各有利弊,网课跟博客我个人感觉比较零散,特别是博客比较适合有一定基础的人去学习,不然很难系统掌握电源设计的相关知识。我个人觉得还是书籍资料比较适合我,能够支撑起电源理论知识的系统学习,《精通开关电源设计》这本经典教材我极力推荐。我在开始我的项目之前我看了这本书一个月左右,把一些比较重要的章节看了,里面很详细讲了伏秒定律、元件选取、稳定性分析等内容。对于入门来说,细看里面重要的章节已经很足够了。 开关电源无非就是一个能量的转换器,电能从输入端流动到输出端,一定程度上电能保持不变(假设转换器损耗的能量很小),变化的只是他们的形式,即是电源的电压与电流。关于开关电源的原理网上很多资料都有细讲,这里不多赘述。开关电源的比较重要的点,一是元件选取,包括 MOS 管、输入输出电容、电感、MOS 管输入电阻阻值等,这些可能还会根据实物的工作状态去调整;二是 PCB 的 Layout(布局),要考虑到功率元件的散热以及环路最小化问题,良好的散热可以提高功率元件的功率上限,环路设计好了可以大大提高电源工作的稳定性(不那么容易炸板),入门电源设计可以重点学习这两个内容。 我做的第一个电源项目改了四版,第一次出的问题最大,当时不懂得给 MOS 管散热的重要性,只参考了数据手册里面的电流极限值,在成品制作出来之后,理论计算 10A 的电流才跑不到 3A 就炸了。后面经过了解,MOS 管数据手册都是在保持 MOS 管在 25 度的情况下测得的电流极限值,但是在实际使用中 MOS 管散热没做好是会升温直接炸的,根本跑不到极限值,第一次电源实验就以失败告终了。后面换了一下 MOS 管的封装,改成了更好散热的封装,电源就正常了很多,极限电流也上去了,但是还是会有很多小问题,当时电源在带载的时候是正常的,但是空载情况下,电源发生了啸叫,这就很不正常了。后面发现电源在空载情况下因为布局不佳的问题,电源电路有轻微的震荡,导致了啸叫的产生。后面两版都是优化了布局布线,电路可以在接近理论值良好工作。经过最后测试这个 6V 转 12V 升压电路可以在极限负载 10A(120W)输出情况下正常持续工作 3min(对当时智能车的应用来说足够了)。 这里再提一下测试很重要!测试很重要!测试很重要!一定要熟练掌握示波器、万用表等仪器的使用方法。 当时做这个项目时间比较紧,说实话是翘了不少课来做的(当然不推荐)。即使在比较有压力的情况下也做了大概一个多月时间,当时我真的感觉电路怎么那么玄学。但后面慢慢研究,其实那些玄学的背后都是一个又一个的知识,那些谜团的背后都是自身技术提升的契机,只要有探索的欲望和耐心,去攻克这些难关,一定能有不少的收获。我感觉这是作为电子设计学习的基础了,一定要有解决问题的耐心,电子的学习是不能急于求成的。 3 后来的学习 第一个电源项目是成功把我领进了电子设计的大门,一些基础的,也属实是把之前学过的模电、数电、信号与系统这些都给用上了,做完这个项目之后,有一种加了一堆调味料终于成品菜出锅的感觉,说实话很爽。后面一些简单的驱动电路、单片机最小系统板其实都是水到渠成,也没有特别难的点。万事开头难,只要入了这个门,其实发现电子设计也没有想象中的难。 其实我 4 到 6 月份弄得智能车项目其实是寄掉了。连校赛也没能出去,但是当时也没感到多遗憾,毕竟感觉自己在这里面也收获到了自己想要的东西,它确确实实把我领进了电子设计的大门。 后面做过的小作品其实也有挺多,智能车那块还有一个超级电容无线充电,最终成品功率不高但是散热布局做的还算到位,如果有时间改改参数或许还能往上提个一两百 W。还有后面的电赛开始尝试一些尝试一些高频的电路设计(其实也就 100MHz 以下,一般现在来说叫中频了),大部分电路器件都是成品芯片,其实也没太多技术性可言,我当时感觉唯一比较有难度的是,尝试去给高速运算放大器做频率补偿,提高运放电路稳定性或者去达到运放标定的最大带宽。后面的学习比起第一次设计电路还是要轻松太多了。 4 我的一些想法 其实电子设计相关的学习还是很好玩的,很有意思。这是一个能把想法真正实现到成品的一项技能。我大一加入学校科创团队,到现在,我感觉我是走了一条自己喜欢的道路。 网上有很多说法,叫"板级硬件已死",我现在其实也不知道真实情况是不是这样。因为板级硬件(就是 PCB 电路板上能画的)很多都已经被集成芯片取代,集成芯片价格更低,性能更好,留给板级硬件师发挥的空间并不多,我打电赛期间也是这么感觉的。不过应该也是是我自身水平实力不够,现在还没有办法触碰到一些更高难度的板级硬件技术,所有现在才会有这种感觉。在网上查阅,很多网友推荐了一些比较有前景或技术含量的方向,例如大功率电子电力方向,板级射频、天线或者系统工程师(其实我也不是很知道系统工程师是什么意思)。他们意思就是,功率做大、频率做高、电路做复杂的意思。它们在网上很多文章都有分析,况且我自己理解也不深,也就不多说了。这里只说我自身的情况。 ...

August 20, 2025 · 绝世电