当前位置: 首页 > news >正文

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

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

准备工作

  • Zephyr 入门: 建议参考Getting Started Guide — Zephyr Project Documentation
  • IAR Embedded Workbench for Arm (9.70.1版本开始支持Zephyr)
  • GD32 Zephyr 开发入门:建议参考gd32_zephyr/gd32mcu_zephyr_get_start_cn.md at main · GD32-MCU-IOT/gd32_zephyr · GitHub

使用IAR Arm工具链GD32 MCU Zephyr 开发入门指南

1.开发环境

操作系统:Windows 11

命令行工具:Windows PowerShell

IAR Arm 工具链:EWARM 9.70.4

硬件开发板:GD32H759I_EVAL

2.安装系统依赖

首先安装 Zephyr 开发所需的系统依赖包:

可以通过Getting Started Guide — Zephyr Project Documentation 的步骤进行安装。关键组件CMake,Python,Devicetree compiler的版本最小要求如下:

安装完成后,可以通过如下命令进行验证:

# 验证 CMake 版本

cmake --version

# 验证 Python 版本

py --version

# 验证设备树编译器版本

dtc –version

3. 配置 Python 环境

3.1 创建 Python 虚拟环境

# 创建虚拟环境目录

mkdir-p./zephyrproject

# 创建虚拟环境 (指定使用3.12版本)

py-3.12 -m venv./zephyrproject/.venv

# 激活虚拟环境

./zephyrproject/.venv/Scripts/Activate.ps1

3.2 升级 pip 并安装 west

# 升级 pip 到最新版本

pip install --upgrade pip

# 安装 west 工具

pip install west

3.3 验证 west 安装

# 验证 west 版本 (west版本应为v1.5.0以上)

west –version

4. 获取 Zephyr 源码

4.1 初始化工作空间

使用个人定制的 Zephyr 仓库初始化工作空间:

# 创建项目目录

cd./zephyrproject

# 使用个人仓库初始化 west 工作空间

west init -m https://github.com/GD32-MCU-IOT/gd32_zephyr.git.

4.2 导出Zephyr CMake包

#导出 Zephyr CMake 包。这允许 CMake 自动加载构建 Zephyr 应用程序所需的样板代码。

west zephyr-export

4.3 更新所有模块

# 更新所有 west 模块

west update

这个过程可能需要几分钟时间,west 会下载 Zephyr 内核和所有必需的模块。

5. 安装 Python 依赖

# 进入 zephyr 目录

cdzephyr

# 安装 Python 依赖

python-m pip install@((west packages pip)-split ' ')

6. 安装 Zephyr SDK

6.1 下载并安装 SDK

# 下载 Zephyr SDK(版本可能会更新,请检查最新版本)

west sdk install

如只需要下载安装Arm GCC工具链,可以使用以下命令

west sdk install -t arm-zephyr-eabi

7. 环境设置

每次重新打开powershell,进入开发目录时,需要设置 Zephyr 环境:

# 激活虚拟环境

./zephyrproject/.venv/Scripts/Activate.ps1


8. 验证安装

8.1 构建示例项目

# 进入 zephyr 目录

cd./zephyrproject/zephyr

# 构建 Hello World 示例(以 gd32h759i_eval为例)

west build -p always -b gd32h759i_eval samples/hello_world

9. 使用IAR工具链进行编译

9.1 配置IAR Arm工具链

# 配置工具链为IAR

$Env:ZEPHYR_TOOLCHAIN_VARIANT="iar"

# 配置IAR工具链安装路径

$Env:IAR_TOOLCHAIN_PATH="C:\iar\ewarm-9.70.4\arm"

9.2 使用IAR Arm工具链构建示例项目

# 构建 Hello World 示例(以 gd32h759i_eval为例)

west build -p always -b gd32h759i_eval samples/hello_world

10. 使用IAR工具链进行调试

在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相关信息:

11. 使用IAR工具链进行静态代码分析

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

west build -p always -b gd32h759i_eval samples/hello_world -DZEPHYR_SCA_VARIANT=iar_c_stat

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

总结

本文介绍了在windows上如何使用IAR Arm工具链在GD32开发调试Zephyr RTOS。在Linux上同样可以使用相似的步骤使用IAR Arm工具链开发调试Zephyr RTOS。

参考文献:

  1. About the Zephyr Project – Zephyr Project
  2. Getting Started Guide — Zephyr Project Documentation
  3. ZephyrZepIAR Arm Toolchain — Zephyr Project Documentation
  4. My Pages
  5. GitHub - GD32-MCU-IOT/gd32_zephyr: gd32_zephyr is a downstream repo of zephyrproject-rtos/zephyr with gd32mcu support · GitHub
  6. IAR C-STAT support — Zephyr Project Documentation
  7. 在Zephyr中进行静态代码分析:借助IAR C-STAT构建更安全、更高质量的代码
http://www.jsqmd.com/news/1256904/

相关文章:

  • 3步实现AI股票分析自动化:从手动操作到智能报告自动生成
  • 2026世界人工智能大会(WAIC)上,人工智能换了一种“打开方式”。
  • ThinkPad风扇终极控制:TPFanControl2让你的笔记本更安静高效
  • Android Studio中文语言包终极指南:5分钟快速切换中文界面
  • 菌种工艺四讲(一):来源说不清、鉴定做不透、安全性没闭环——菌种合规的底牌,你亮得出来吗?
  • DRA71x McASP虚拟I/O时序模式配置详解与实战指南
  • 【Bug已解决】Inquiry About Two-Stage QLoRA Fine-Tuning 解决方案
  • 上海黄金回收新旧门店对比!老牌靠谱店铺优选推荐 - 日常比对手册
  • BBU版本升级全流程解析与典型故障处理实战指南
  • MaaDebugger:可视化调试 MaaFramework Pipeline、识别与任务执行
  • 我的编程之旅
  • LMK05028锁相环核心原理、工作模式与配置实战详解
  • 长途跨省电瓶车托运哪家靠谱 2026 口碑物流公司推荐榜单 - 快递物流资讯
  • 2026AI 搜索常态化:无锡企业 GEO 与 SEO 优化选型实战指南 - 小艾信息发布
  • 【安心陪诊 Agent】TypeScript 5.4 状态机实战:就医前中后任务卡片与边界测试
  • 2026软件测评分享5个普通人选工具的实用判断标准
  • 当艾欧泽亚的冒险者成为创作者:用FFXIV TexTools重塑你的幻想世界
  • 微信好友关系终极检测指南:3步找出单向好友,告别被删不知情
  • 【IEEE出版、江南大学主办】第二届先进半导体器件与集成技术国际学术会议(ASDIT 2026)
  • 坚持自主研发,济南壹软持续完善商业软件产品体系 - 壹软科技
  • 暗黑3按键助手D3KeyHelper:终极免费自动化游戏解决方案
  • 宁波汽车养护服务GEO代理服务商选型哪家靠谱?2026年宁波GEO优化服务商代理加盟选型推荐更新 - 科技快讯
  • 认知科学与类脑计算 第九章 类脑计算应用 考点压缩
  • 2026上海黄金回收实测总结!优质门店共同甄选标准 - 日常比对手册
  • Formality:使用机器学习驱动的分布式处理(DPX)
  • 如何用一款3MB工具重塑你的桌游设计工作流?
  • 元宝多轮问答怎么按项目存档?DS随心转导出 Markdown 和 Word - 【DS随心转】
  • 宁波摄影摄像服务GEO服务商代理加盟选型哪家靠谱?2026宁波GEO代理本地推荐排名更新 - 科技快讯
  • 终极指南:如何快速解决ComfyUI-BrushNet安装与克隆问题
  • 编译原理:符号表的构建与查找