018、Zephyr RTOS开发环境搭建(硬件调试器) Zephyr RTOS开发环境搭建(硬件调试器)从一次“死机”说起去年做的一个工业网关项目,Zephyr跑在STM32MP157上,系统运行三天后突然挂死。串口打印停在某个中断服务函数里,reset按键按下去,log里只看到“Starting kernel…”就没了下文。当时手头只有USB转串口,连个JTAG/SWD调试器都没带,只能靠加打印语句盲猜。折腾了两天,最后发现是DMA描述符指针被意外改写——这种问题没有硬件调试器,靠printf定位,基本等于大海捞针。那次之后,我给自己定了个规矩:凡是跑Zephyr的板子,调试器必须配齐。今天这篇笔记,就聊聊Zephyr开发环境里硬件调试器那点事——不是教你怎么焊线,而是把那些文档里没写、论坛里没人提的坑,一个一个踩给你看。调试器选型:别被“兼容”两个字骗了Zephyr官方文档推荐了一大堆调试器:J-Link、ST-Link、OpenOCD支持的各类调试器、pyOCD、甚至CMSIS-DAP。但实际用下来,每个都有脾气。J-Link是首选,没得说。SEGGER的驱动在Zephyr里集成得最好,west debug命令直接调JLinkGDBServer,几乎零配置。但注意版本——J-Link EDU Mini虽然便宜,但调试Cortex-M7以上的核会卡顿,断点设多了直接超时。我吃过这个亏,项目用到NXP i.MX RT1060,EDU Mini根本带不动,换J-Link Plus才稳。ST-Link