你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

实战经验 | 使用STM32CubeIDE调试Zephyr RTOS

[复制链接]
STMCU-管管 发布时间:2026-1-30 10:50

0 1

背景

客户反馈要在STM32U5A9上使用Zephyr RTOS,在测试sample/basic/threads例程时,系统无法启动,也没有任何log信息。解决此问题最好方法是调试代码,查看系统运行状态以及调用栈,找到卡死的位置进行分析处理。

0 2 Zephyr调试

Zephyr是一个开源的实时操作系统(RTOS),专为资源受限的设备和物联网(IoT)应用而设计。它由Linux基金会支持,旨在提供一个灵活、可扩展且高效的操作系统解决方案。Zephyr主要特点有:

  • 小巧轻便,内核非常小,适合在内存和存储资源有限的设备上运行。
  • 采用模块化设计,允许开发者根据需求选择和配置功能模块。
  • 支持多种架构,包括ARM、x86、RISC-V等,适用于多种硬件平台。
  • 实时性能,提供低延迟和高响应能力,适合需要实时处理的应用场景。
  • 具备多种安全特性,如安全启动、内存保护等,确保设备的安全性。
  • 丰富的开发工具和API,支持C和C++编程语言,方便开发者进行应用开发。

2.1. west编译工程

1、进入例程目录:zephyr/samples/basic/threads

2、使用west工具编译: west build -p auto -d build -b stm32u5a9j_dk

2.2. 使用CubeIDE调试

打开CubeIDE,创建CMake工程,选择Project with existing CMake sources,点击Next。

Figure 1 创建工程

image.png

填写project name,然后选择源码目录(包含CMakeLists.txt与prj.conf文件)

Figure 2 配置源码路径

image.png

点击Next,选择芯片型号后,完成工程创建。

Figure 3 设置芯片型号

image.png

接下来配置工程属性:

在C/C++ Build页,设置Generator为Ninja,在Other option栏,进行板的配置-DBOARD=stm32u5a9j_dk,保存后进行编译。

Figure 1 配置工程属性 image.png

再打开属性配置,切换到C/C++ General页,Preprocessor Include下GNU C 配置,选择CDT User Setting Entries,点击Add,添加autoconf.h头文件,保存配置。

Figure 2 添加头文件

image.png

进行调试配置,选择工程名称debug_threads,以及zephyr.elf应用文件,即可开始调试。

Figure 3 配置调试选项 image.png

比如要在init.c中打断点,如下图,可以在config_default/zephyr/kernel/CMakeFiles/kenel.dir/init.c.obj文件中展开,找到init.c源文件,进行断点设置,这样调试开始时就会停在断点处。

Figure 4 调试过程

image.png

0 3

问题解决

对samples/basic/threads工程进行调试,运行后出现异常,停下MCU查看调用栈后发现,U5A9J_DK板在运行此工程时,使用了MSIS并且使能了MSI PLL功能,代码执行过程中检查到LSE未使能,导致k_panic死机。

解决办法:

在U5A9J_DK板的设备树文件中,配置LSE使能

zephyr\boards\st\stm32u5a9j_dk\stm32u5a9j_dk.dts

&clk_lse { status = "okay";};

这样修改后重新编译,工程运行正常。

0 4 小结

本文简要介绍了在STM32CubeIDE中调试Zephyr RTOS的方法,并在STM32U5A9J_DK板上结合samples/basic/threads工程进行调试,解决了工程无法启动的问题。在使用Zephyr RTOS过程中遇到其它问题时,也可以用STM32CubeIDE进行调试定位。

点击按钮下载《使用STM32CubeIDE调试Zephyr RTOS》原文档。

收藏 评论0 发布时间:2026-1-30 10:50

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版