news 2026/9/24 12:58:16

STM32调试入门:ST-LINK驱动安装与SWD接线配置全解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
STM32调试入门:ST-LINK驱动安装与SWD接线配置全解析

不用怀疑,你遇到的不是芯片坏了,也不是板子烧了,大概率是装驱动、接线、选配置这三件事里,至少有一件没做到位。这篇内容就是冲着这三个坑来的。我会从STM32CubeIDE安装开始,把ST-LINK驱动、SWD接线、IDE内配置、报错排查一步步拆开讲清楚,所有步骤都是我实际装过、踩过、修过之后总结出来的,照着做基本能一次点亮。

1. 为什么新手总在ST-LINK上翻车:先搞清楚问题出在哪个环节

先说一个最常见的场景:你刚装好STM32CubeIDE,兴冲冲地把ST-LINK V2插到电脑USB口,再用杜邦线连到开发板,点了一下Debug按钮。结果IDE右下角弹出一行红字:SWD/JTAG Communication Failure。这时候新手一般会有三种反应:怀疑板子坏了、怀疑仿真器是假的、怀疑自己的焊接有问题。实际上,绝大多数情况下这三样东西都是好的,真正出问题的是你的电脑压根没有"正确认识"这个ST-LINK,或者IDE没有正确驱动它。

1.1 把问题拆成三层,逐层排除

我在给新手排查的时候,习惯把所有失败情况归纳成三个层面:

  • 硬件层:ST-LINK本身、USB线、杜邦线、目标板供电是否正常。
  • 驱动层:Windows/Linux是否识别了ST-LINK,设备管理器里有没有黄色感叹号。
  • 工具链配置层:STM32CubeIDE里选没选对调试器、接口模式、时钟频率。

这三个层面相互独立又互相影响。驱动没装好,IDE连设备都枚举不到,自然就报通信失败;接线接错了,驱动再正常也读不到芯片ID;配置不对,比如选了JTAG模式但只接了SWD两根线,一样连不上。所以排查的顺序永远是:先确认硬件连接,再查驱动识别,最后才是IDE配置。

1.2 我的建议:新手阶段别在Keil和CubeIDE之间反复横跳

热搜词里有个高频问题"stm32cubeide和keil哪个好用",我直接说结论:如果你是刚接触STM32的新手,尤其是从零开始学,优先用STM32CubeIDE。原因有三点:

  • CubeIDE免费且全功能,不需要折腾破解或者License授权,下载安装就能用。
  • 它集成了STM32CubeMX的图形化初始化配置,管脚分配和时钟树直接在图形界面里做,比手动写寄存器初始化省太多事。
  • ST官方对HAL库的支持和更新都优先针对CubeIDE,网上能找到的最新例程也基本都是CubeIDE工程的格式。

Keil MDK的优势在于老教程多、学校教学用得多、部分老工程师常年用顺手了。但对一个还在跟ST-LINK驱动搏斗的新手来说,CubeIDE的报错信息、调试视图、烧录流程都比Keil更直观,也更容易在网上搜到同版本的问题解决方案。我见过太多新手装完Keil又为License发愁,折腾一下午还没到写代码那一步,实在没必要。

2. 环境准备:STM32CubeIDE安装过程中最容易埋雷的三个细节

很多人以为装IDE就是下一步下一步,但针对"stm32cubeide安装包无法安装"这类热搜,我总结下来有三个细节值得专门注意。

2.1 下载渠道和安装包完整性的坑

STM32CubeIDE的安装包要从意法半导体官网获取,体积通常在1GB上下。这里有个很现实的问题:1GB的安装包如果下载中途网络抖动,很可能得到一个"看似下载完了,其实文件损坏"的残缺包。表现就是双击安装程序后进度条走到某个百分比就停住不动,或者提示无法找到某些组件。

我处理过好几次这种问题,最后都指向同一个原因:浏览器断点续传或者下载管理工具合并分片时出了问题。如果你下载完发现安装失败,第一件事不是重装,而是核对文件大小是否和官网标注的完全一致,或者直接重新下载一次。用下载工具带校验功能的话顺手算一下MD5。

2.2 安装路径和Workspace路径不能有中文

这个是老生常谈,但永远有人踩。STM32CubeIDE底层用的是Eclipse框架加GCC交叉编译链,工具链里很多环节对非英文字符支持很差。安装路径不要放在C:\程序\...这种目录下,Workplace路径同样不能有中文。我第一次给一个学生远程排查时,他的工程放在D:\毕设资料\...目录,结果每次编译都报一些莫名其妙的头文件找不到错误,把工程移到纯英文路径后瞬间就好了。记住:用户名如果本身是中文,Windows用户目录下的默认路径也会有中文,建议在首次启动时手动指定一个英文路径作为Workspace。

2.3 首次启动会在线拉取组件,别急着拔网线

STM32CubeIDE安装完成后的第一次启动,会因为初始化一些组件而比较慢,界面看起来像卡住了。如果这时候你判断它"没反应"直接强制结束进程,下次启动就很容易出现插件加载不全的问题。我的建议是首次启动至少耐心等5到10分钟,看到欢迎页出现再操作。

首次启动可能还会触发一些在线资源下载(主要是索引和依赖),保持网络畅通即可。这不影响后续离线编译,但首次初始化尽量让它跑完。

3. ST-LINK驱动安装:装不上或者装完不识别,多半是这一步没搞对

ST-LINK驱动,是整个流程里最玄学也最关键的环节。说它玄学,是因为同一个驱动在不同系统上的表现可以完全不同,有人Win11插上就能用,有人Win10怎么装都是未知设备。

3.1 插上ST-LINK后,先打开设备管理器看一眼

把ST-LINK插到USB口后,按Win+X选择"设备管理器",展开"通用串行总线设备"或者"端口",正常情况下会看到STMicroelectronics STLink dongle或者带有ST-Link字样的设备。如果在"其他设备"里看到一个带黄色感叹号的Unknown Device,说明驱动没装上,但硬件已经被系统枚举到了,这是最好的情况——意味着只要把驱动正确装好就能解决。

如果你发现设备管理器里完全没有任何新设备出现,那才需要担心硬件问题或者USB口/线材问题。换一个USB口、换一根短一点的数据线再试。

3.2 驱动从哪找:三个渠道,按优先级排

  • 第一优先:官网的ST-LINK驱动页面。搜"ST-LINK driver"就能找到官方驱动安装包,这种最稳。
  • 第二优先:STM32CubeIDE安装目录下自带的驱动。我以Windows为例,你可以在C:\ST\STM32CubeIDE_xxx\STM32CubeIDE\drivers\目录下找到ST-Link_V2_USBDriver.exe之类的安装程序。这是随IDE一起发布的,版本通常比较新,而且和你的IDE版本匹配。
  • 第三优先:ST-LINK Utility安装时附带的驱动。后面我会专门讲这个工具,它的驱动同样可用。

我的习惯是直接用官网驱动包。下载后解压,会看到里面有dpinst_amd64.exe(64位系统用)和dpinst_x86.exe(32位系统用)两个文件,右键以管理员身份运行对应那个即可。

3.3 驱动安装失败的高频原因:权限、签名、杀毒软件

我在实际中遇到的驱动装不上,原因集中在三类:

3.3.1 没有用管理员权限运行安装程序

ST-LINK驱动安装程序需要向系统驱动目录写入文件,普通权限经常失败得莫名其妙——安装界面弹一下就消失,设备管理器里还是老样子。右键"以管理员身份运行"再试一次,能解决其中一大部分问题。

3.3.2 数字签名问题

Windows 10/11的64位系统要求内核驱动必须有有效的数字签名,而某些老版本ST-LINK驱动或兼容性较差的驱动包在部分系统上会触发签名校验失败。尤其Win7这种老系统,如果当年用的系统镜像阉割过驱动签名机制,就会一直提示"驱动的签名被吊销或无效"。

Win10/11用户可以尝试:设置→更新和安全→恢复→高级启动→立即重新启动,然后在选项里进入"禁用驱动程序强制签名"模式,再冷启动并安装驱动。这个方法在部分情况下有效,但治标不治本,最好还是用签名完整的新版官方驱动。

3.3.3 杀毒软件或系统防护拦截

部分防护软件会把驱动安装行为识别为系统修改,悄悄拦截了写入动作,但界面上没有任何提示。如果你装完驱动设备管理器里依旧报错,可以临时关闭实时防护,装好驱动后立即恢复,然后重启一次。

3.4 装完驱动怎么验证:重插一次比什么都管用

驱动装完,关键是让系统重新枚举设备。我的标准操作是:拔下ST-LINK,等两三秒,重新插回USB口,然后观察设备管理器。看到STMicroelectronics STLink dongle并且没有感叹号,这一步就算彻底过关了。

这里多说一句,ST-LINK的驱动是通用的,不管你的ST-LINK是正版还是市面上的兼容版,官方驱动都能兼容。有些兼容版在设备管理器里显示的名字可能是STM32 STLink,只要没有感叹号或者错误状态,就说明驱动层面没问题。

4. SWD接线:四根线里的学问,比你想象的多

驱动搞定后,下一个大坑就是接线。SWD(Serial Wire Debug)是一种两线调试接口,但它实际使用时通常需要四根线:SWDIOSWCLKGND,再加上一个参考电压VTref。很多新手只接三根线,结果芯片型号读不到,一脸懵。

4.1 标准SWD接口上各引脚的含义

引脚信号作用必须接吗
SWDIO双向数据线,负责读写数据必须
SWCLK时钟线,由调试器产生必须
GND共地,参考电平基准必须
VTref目标板参考电压,用于电平匹配检测强烈建议接
NRST复位线,用于低速连接或锁死恢复视情况

这里最容易被忽视的就是VTref。ST-LINK调试器内部通过这个引脚感知目标板的工作电压,从而调整自身IO逻辑电平。如果你不接VTref,调试器可能完全无法识别目标芯片,或者识别不稳定。部分开发板直接把VTref和3.3V引脚在板内连好了,那就不需要额外接,但如果是用杜邦线自己连,务必把VTref接到目标板的3.3V引脚上。

4.2 最常见的接线错误:顺序、方向、接触不良

  • 顺序错:SWDIO和SWCLK接反,这是致命错误。上电后调试器会一直尝试同步,始终失败。
  • 方向错:如果是用带卡扣的排线连接标准调试座,要注意排线的红色边(1脚标识)对准插座的1号引脚位置,插反了不仅通信失败,还可能短路烧芯片。
  • 接触不良:杜邦线老化后内部的金属弹片会松,看起来插进去了,实际没接触上。这种故障最隐蔽,因为万用表量通断是好的,一跑起来就时报错。我后来都用镀金的杜邦线或者直接焊接排针,故障率明显下降。

我实际操作中的接线顺序是:先把GND接好,再接SWDIO和SWCLK,最后接VTref。这样可以避免在上电状态下随意触碰信号线导致电平冲突。

还有一个供电问题是新手很容易忽略的:如果你的开发板已经通过USB口供电,同时又从ST-LINK的3.3V引脚取电给板子供电,两路电源会互相打架,轻则电压被拉低导致调试不稳定,重则烧毁板载LDO。我给的建议是:调试期间只用一种供电方式。大多数带USB口的开发板,直接用USB给板子供电,ST-LINK只负责调试信号和参考电压,不把3.3V输出引脚接过来。

5. STM32CubeIDE中SWD模式配置:三步设置,一步都不能少

驱动装好了,线也接对了,接下来就是在STM32CubeIDE里做配置。这一步不会的人可能觉得复杂,其实核心就是三步。

5.1 打开Debug Configurations,选对调试器

在工程上右键,选择Debug AsSTM32 C/C++ Application,首次运行会弹出一个调试配置窗口。在左侧找到Ac6 STM32 Debugging,双击新建配置。这里的核心设置都在Debugger选项卡下:

  • Debug Probe:选择ST-LINK (ST-LINK GDB server)
  • Interface:选择SWD。如果你的板子或者ST-LINK同时支持JTAG,也不要选JTAG编程,SWD只需要两根信号线,接线更简单,出问题概率更低。
  • 频率设置:默认的4MHz大多数情况下没问题。如果你的杜邦线很长,超过20厘米,或者环境电磁干扰比较明显,可以把频率降到1MHz试试,往往能解决莫名的通信失败。

5.2 Flash Download选项卡:芯片型号必须匹配

在调试配置的Flash Download选项卡里,要确保编程算法(Flash Driver)和你目标芯片型号匹配。比如你用的是STM32F103C8T6,那就要选对应的STM32F1xx Flash算法。如果算法选错,烧录时会报Target not connected或者Flash Download failed之类的错误,也会被新手误判为"ST-LINK坏了"。

这里要特别提醒:芯片型号在CubeMX初始化工程的时候就已经定下来了。如果你用CubeIDE直接新建工程,选错型号的话后续很多外设配置都会出问题。建议在新建工程时仔细核对封装和型号,比如F103C8T6和F103RCT6管脚数和Flash都不一样,选错了后面全是坑。

5.3 第一次点Debug,你要观察这两个信号

配置完成后,点Debug按钮。这时看界面右下角的Console输出。正常情况,你应该看到类似这样的日志:

ST-LINK SN : ............ ST-LINK FW : V2J37S7 Voltage : 3.28V SWD freq : 4000KHz Connection : OK

出现Connection : OK,说明ST-LINK和目标芯片之间的SWD链路已经建立,接下来会自动开始下载程序并停在main函数入口。首次跑通这个流程,你后面会省掉80%的排查时间。

6. SWD/JTAG Communication Failure:报错出现后的完整排查链路

这是搜索频率最高的关键词,我把它单独拿出来讲。报错全文通常是:

ST-LINK error : SWD/JTAG Communication Failure

当这行字出现时,我建议你按下面这个顺序排查,而不是随便换一个频率或者重启IDE再试。

6.1 第一步:电源和参考电压

用万用表量一下目标板的3.3V电压是否正常,以及ST-LINK的VTref引脚是否量到了对应的电压值。如果目标板根本就没供电,SWD调试器完全无法建立连接。很多开发板上有电源指示灯,但指示灯亮不代表芯片电源正常——万用表量一下最稳。

6.2 第二步:复位线辅助连接

如果电压正常还是连不上,进入调试配置,在Debugger选项卡里勾选Connect under reset(复位时连接)。这个选项会让调试器拉低目标板的复位引脚,在芯片刚上电、程序还没跑起来的时候强行建立连接。这对于烧录了异常程序导致死机的芯片特别有用

不过注意,Connect under reset要求你把NRST引脚也接到ST-LINK上。如果只接了四根线而没接NRST,这个选项就起不了作用。

6.3 第三步:检查芯片是否被读保护或调试口被禁用

STM32芯片默认是可以用SWD调试的,但如果你之前的程序里碰过以下两个东西,就会导致SWD连接失败:

  • 开启了读保护(RDP,Read Protection),等级设为1或2后,调试器无法正常读取芯片。
  • 把SWDIO或SWCLK引脚复用成了普通GPIO功能,比如在代码里用GPIO_InitStructure把这两个引脚设置为推挽输出且输出低电平,硬件上相当于把调试口"物理占用"了。

这两种情况下的解法思路完全不同。读保护需要先用工具解除保护(通常是全片擦除,注意这会清空所有Flash数据);引脚复用则需要让芯片先停在启动阶段,也就是用Connect under reset的方式连接,然后擦除Flash,让程序无法再运行,调试口自然恢复。

6.4 第四步:换一个更低频率试试

确认前面都没问题后,把SWD频率从4MHz降到1MHz再试。有些目标板上SWDIO和SWCLK走线附近有高频干扰源,或者你用了比较长的飞线,高速模式下时序容易出错,降频能解决这类问题。频率降低不会影响调试功能的完整性,只在下载速度上慢那么一点。

6.5 第五步:重新插拔ST-LINK,并确认设备管理器状态

这一步看着基础,但真能解决很多奇怪问题。如果你驱动、接线、配置都检查了还是报错,找个读卡器试试的耐心——拔掉ST-LINK,关掉IDE,重新插回ST-LINK,确认设备管理器状态正常,再打开IDE重新连接。ST-LINK内部的调试器固件偶尔会进入异常状态,重新上电是让它恢复正常的最快方式。

6.6 排查顺序总结

我最终把经验压缩成下面这个动作列表,省得每次从头想:

  1. 看ST-LINK指示灯是否亮。
  2. 看设备管理器是否正常识别ST-LINK。
  3. 用ST-LINK Utility尝试连接,判断是IDE问题还是硬件链路问题。
  4. 量目标板3.3V和GND是否正常。
  5. 量VTref与GND电压是否正常。
  6. 确认SWDIO/SWCLK没有接反。
  7. 在IDE里勾选Connect under reset,并接好NRST线。
  8. 把SWD频率降到1MHz。

八成以上的Communication Failure,走完这八步都能解决。

7. ST-LINK Utility:官方验证工具,排查问题的"照妖镜"

很多人搜"stm32 st-link utility",其实它是一款独立的官方工具,全称是STM32 ST-LINK Utility。它的核心价值在于:把上位机软件和调试器之间的通信单独拿出来验证,不依赖任何IDE工程。如果你不确定是IDE配置问题还是硬件链路问题,用这个软件一测便知。

7.1 Utility的主要用途

  • 连接测试:打开软件后点Connect to the target,如果SWD链路通畅,软件会直接读出芯片型号和ID。
  • 查看芯片信息:能看到Flash大小、版本号、选项字节等。
  • 整片擦除:遇到读保护或者程序跑飞导致SWD无法连接的情况,用Utility的Full chip erase往往比在IDE里折腾更方便。
  • 烧录Hex文件:某些场景下(比如量产),不用打开IDE,直接用Utility烧录编译好的.hex.bin文件。
  • 升级ST-LINK固件:通过ST-LINK菜单里的Firmware Update操作,可以把ST-LINK V2的固件升级到较新版本,提升兼容性。

7.2 怎么用Utility确认问题在哪

我遇到ST-LINK连接问题时的标准动作是:

  1. 打开STM32 ST-LINK Utility。
  2. 点击TargetConnect
  3. 观察左下角状态栏。
  • 如果显示Can not connect to the target,说明链路层的硬件/驱动/接线有问题,跟IDE无关。
  • 如果正常显示芯片型号和ID,比如STM32F103C8,说明整条链路都是通的,那问题就一定出在STM32CubeIDE的配置上,回到上一章的调试配置里去找。

这一步判断很关键,它能把问题空间缩小一半。

7.3 顺带提一下:STM32CubeProgrammer是新一代替代品

ST官方现在主推的烧录/调试工具是STM32CubeProgrammer,功能上完全覆盖了Utility,并且界面更现代,还支持命令行模式。新用户我建议直接学CubeProgrammer,但如果你手上已经有Utility或者网上教程大量使用Utility,学它也不吃亏。两者在驱动层面是兼容的,装好一个的驱动另一个也能用。

我自己的习惯是:日常调试用CubeIDE,遇到连接类疑难杂症先在Utility(或CubeProgrammer)里测一下,这样能快速区分"IDE问题"和"硬件/驱动问题"。

8. 避坑补充:从ST-LINK固件到CH340串口的一并排查

除了上面列的六大类问题,还有一些和ST-LINK并存、新手经常搞混的场景,这里单独补充一下。

8.1 ST-LINK固件版本过旧

有些旧的ST-LINK V2(尤其是兼容版)出厂固件版本很低,和新版IDE的通信协议可能存在兼容性问题。你会遇到的情况是:IDE提示ST-LINK firmware upgrade required,或者直接报Invalid ST-LINK firmware version

这不是驱动的问题,是ST-LINK内部固件版本太老,需要用官方工具升级固件。STM32CubeIDE的Help菜单里自带ST-LINK Upgrade入口,也可以单独下载升级工具。升级前确认ST-LINK已正确连接到电脑,升级过程中不要断电、不要拔USB线。市面上绝大多数兼容版ST-LINK V2都支持官方固件升级,这算是兼容板比较幸运的地方。

但也要注意:升级有极小概率把山寨ST-LINK变砖(固件不匹配导致无法识别)。如果介意风险,可以先用Firmware Update工具查看当前固件版本,在IDE提示必须升级时再升。

8.2 CH340驱动和ST-LINK驱动很容易被混淆

很多STM32开发板板载了一个USB转串口芯片CH340,用于串口通信。当板子通过USB线连接到电脑时,会出现两个设备:一个是调试器(ST-LINK),一个是串口(CH340)。如果你在设备管理器里看到一个"USB-SERIAL CH340"的未知设备,那是CH340驱动问题,和ST-LINK无关。独立安装CH340驱动即可,类似的热搜词"ch340驱动安装教程"说的就是这个场景。

8.3 Linux/macOS环境下的一点补充

如果你用的是Linux(尤其是Ubuntu),ST-LINK驱动一般由系统自带的libusb处理,通常不需要额外安装。但STM32CubeIDE在Linux下访问ST-LINK时,需要当前用户对USB设备有读写权限,否则会报Permission denied。解决方式是添加一个udev规则文件,把ST-LINK设备的权限放开。macOS上则相对简单,官方驱动包基本都能直接装。

这一篇我侧重Windows环境,因为新手遇到驱动问题的场景绝大多数在Windows。Linux用户如果搜到这篇,只要把驱动安装环节换成udev规则处理,其余接线和配置逻辑完全一致。

9. 我的排查习惯和日常经验

最后分享几个我做了大量调试之后形成的个人习惯,不算什么高深的东西,但确实能提高效率。

第一,我每次拿到一个新的ST-LINK或者新的开发板,会先做一次最小化验证:只接GND、SWDIO、SWCLK、VTref四根线,用STM32CubeProgrammer直接连一次,确认链路通,再开始写代码。这个动作30秒就够,能把"硬件链路"和"软件代码"彻底分开。

第二,我习惯在杜邦线两端贴标签,标注信号名。调试时不只用一种颜色的线,而是四根线用四个颜色(红=VTref或3.3V、黑=GND、黄=SWCLK、绿=SWDIO),一眼就能看出接没接反。省下的排查时间远超贴标签成本。

第三,遇到"明明昨天好好的,今天一上电就连不上"的情况,大概率不是配置变了,而是接触不良。先重新插拔一遍所有线,再想其他原因。

第四,调一个陌生板子前,我会先看原理图确认SWD接口的定义,而不是想当然地认为所有板子的引脚顺序都一致。有的板子把SWDIO放在1脚,有的放在3脚,排线一插反就烧东西。

STM32开发这条路上,ST-LINK是第一个门槛,也是之后会反复打交道的工具。把驱动安装和SWD配置吃透,后续下载调试的成就感会很直接。动手试一次,比看十篇教程都管用。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/24 12:57:48

半导体制冷片(TEC)实战:从原理到PID温控设计

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/24 12:57:32

6DoF运动跟踪实战:从MPU6050到四元数姿态解算

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/24 12:57:19

CAN总线调试工具选型指南:CANTest、ZCANPro、USB-CAN Tool实测对比

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/24 12:56:50

ESP32-C3+0.96寸OLED低成本联网显示实战:接线、中文显示与排障

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/24 12:56:37

HFSS螺旋线圈建模教程:参数化设计、扫掠技巧与Optimetrics优化

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/24 12:56:31

端侧AI部署实战:模型瘦身、算力榨取与硬件协同优化

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华