ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

166、Zephyr RTOS调试与测试基础:调试工具链

166、Zephyr RTOS调试与测试基础:调试工具链 Zephyr RTOS调试与测试基础:调试工具链上周在产线调试一个基于nRF52840的温湿度采集节点,设备上电后串口死活不打印日志。用示波器量了TX引脚,波形正常,波特率也对。折腾了半小时,最后发现是Kconfig里把CONFIG_SERIAL给关了——这种低级错误,在Zephyr的配置迷宫里太容易踩了。今天这篇笔记,就从这类真实调试场景出发,把Zephyr的调试工具链掰开揉碎。不扯虚的,全是实战里磨出来的经验。调试前的“三件套”检查别急着上GDB,先确认三件事:第一,确认你的板子配置正确。很多新手拿到Zephyr示例直接west build -b your_board,结果串口没输出。去boards/arm/你的板子名/下翻Kconfig.defconfig和board.dts,确认UART引脚、时钟、中断号都配对了。我习惯在prj.conf里显式打开CONFIG_SERIAL=y和CONFIG_CONSOLE=y,不依赖默认配置——这习惯救过我三次。第二,确认日志等级。Zephyr的日志系统分四级:NONE、ERR、WRN、INF、DBG。默认是WRN,你辛辛苦苦加的LOG_INF()全被吃了。在prj.conf里加一行:
返回列表