使用IAR Arm工具链开发和调试Zephyr RTOS

Zephyr是近些年来兴起的一款开源、可扩展RTOS (Zephyr不仅仅是一个内核,还包含了强大的中间件),专为资源受限的嵌入式设备设计,支持多种CPU架构,提供完整的开发工具链和丰富的生态系统,越来越多MCU厂商积极拥抱Zephyr。

本文主要介绍如何使用IAR Arm工具链开发和调试Zephyr RTOS。

准备工作
使用IAR Arm工具链开发和调试Zephyr RTOS

按照Getting Started Guide --- Zephyr Project Documentation安装好对应Zephyr SDK之后,Zephyr构建默认会使用GCC工具链:

使用IAR Arm工具链构建需要配置对应的环境变量ZEPHYR_TOOLCHAIN_VARIANT为iar,环境变量IAR_TOOLCHAIN_PATH为对应IAR Arm工具链安装路径:

这样Zephyr构建会使用对应的IAR Arm工具链:

在IAR Embedded Workbench for Arm新建对应的调试工程,选择Externally built executable工程类型:

按照readme_external_binary.txt里面的步骤配置对应的调试工程:

  • 添加对应的elf文件
  • 配置对应的芯片(Options > General Options > Target > Device)
  • 配置对应的调试器选项(Options > Debugger > Setup > Driver), 建议勾选Options > Debugger > Plugins里面Zephyr感知调试选项(需要在构建的时候使能CONFIG_DEBUG_THREAD_INFO选项):

然后就可以进行下载调试了,点击菜单栏中Zephyr的下拉列表可以查看对应Zephyr相关信息:

当然也可以将对应Zephyr工程导入到IAR Embedded Workbench for Arm中进行构建和下载调试:

更多信息,可以参考zephyr-board-samples/docs/compiling-debugging.md at main · iarsystems/zephyr-board-samples · GitHub

另外IAR Arm工具链集成的静态代码分析工具C-STAT也支持Zephyr静态代码分析:

更多信息,可以参考IAR C-STAT support --- Zephyr Project Documentation

总结

本文主要以NXP FRDM-MCXA153开发板为例介绍了如何使用IAR Arm工具链开发和调试Zephyr,更多信息,可以参考对应链接或联系IAR中国。

参考文献:

  1. Getting Started Guide --- Zephyr Project Documentation
  2. zephyr-board-samples/docs/compiling-debugging.md at main · iarsystems/zephyr-board-samples · GitHub
  3. IAR C-STAT support --- Zephyr Project Documentation
  4. About the Zephyr Project -- Zephyr Project
  5. IAR Arm Toolchain --- Zephyr Project Documentation
  6. My Pages
  7. 在Zephyr中进行静态代码分析:借助IAR C-STAT构建更安全、更高质量的代码
相关推荐
不悔哥2 天前
开源OV-Watch:怎么做一个智能手表
单片机·开源·嵌入式
优信电子2 天前
AIT1001 非接触式红外测温模块 STM32 驱动开发实战:从引脚到代码全解析
stm32·嵌入式·温度传感器·红外测温·非接触式测温·ait1001
女神下凡2 天前
嵌入式设计的各种存储芯片的硬件/软件设计规范,非常全面。
arm开发·单片机·嵌入式硬件
从零开始的嵌入式之旅2 天前
day47
arm开发·经验分享·笔记·嵌入式硬件
老当益壮梁奶奶2 天前
ARM汇编学习笔记(六):【i.MX6ULL】时钟系统与定时器(EPIT & GPT)
c语言·arm开发·嵌入式硬件·学习·51单片机
youcans_2 天前
【嵌入式软件AI编程】16. Claude Code 与 VS Code 的协同开发
stm32·mcu·嵌入式·ai编程·claude code
昌原的儿子LEO2 天前
IMX6ULL 时钟系统与 EPIT/GPT 定时器原理与配置
arm开发·学习
sunoo-2292 天前
【ARM嵌入式学习笔记Day6】一文打通i.MX6ULL时钟体系:PLL/PFD/预分频+滞回比较器全解析
arm开发·笔记·vscode·单片机·imx6ull·汇编语言
阿钱真强道2 天前
06 嵌入式操作系统 | vim 与软件管理:apt / 源码编译
ubuntu·vim·嵌入式·apt·源码编译
G.E.M.小白2 天前
【IMX6ULL ARM内核启动与时钟系统超详解】PLL/PFD/分频/根时钟配置
嵌入式·arm·时钟·imx6ull