使用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构建更安全、更高质量的代码
相关推荐
ARM|X86+FPGA工业主板厂家5 小时前
基于嵌入式 GPU 的智能服务机器人
linux·运维·arm开发·fpga开发·机器人
分支预测失败5 小时前
RISC-V 上下文切换实战:从 Trap 入口到 Linux 进程调度
后端·嵌入式
Freak嵌入式6 小时前
基于 MicroPython+DMA 链式触发的 Scatter-Gather 数据聚合实现
嵌入式
Freak嵌入式7 小时前
MicroPython ADC 采样拖慢主循环?试试 DMA + 乒乓缓冲,全程解放 CPU
嵌入式
Freak嵌入式8 小时前
从代码到项目:MicroPython+MCP4725 自定义类实现信号发生器功能的完整流程
嵌入式
与你4039 小时前
STM32F103_AB_OTA_从零复现教程
嵌入式
Freak嵌入式9 小时前
一文搞懂 MCP4725 波形发生器:MicroPython 代码实现、定时器驱动与调试流程全梳理
嵌入式
慧都小项9 小时前
汽车工具链重复测试太耗人?用 TestComplete 自动跑
功能测试·回归·汽车·嵌入式·软件工程·测试覆盖率
Discipline~Hai10 小时前
Linux网络编程02-TCP协议
linux·网络·tcp/ip·嵌入式·linux网络编程
Jason_zhao_MR11 小时前
电能质量监测为什么需要PTP精确时钟同步
linux·单片机·嵌入式硬件·嵌入式