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

描述

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

准备工作

Zephyr入门:建议参考Getting Started Guide—Zephyr Project Documentation(https://docs.zephyrproject.org/latest/develop/getting_started/index.html)

IAR Embedded Workbench for Arm(9.70.1版本开始支持Zephyr)

GD32 Zephyr开发入门:建议参考https://github.com/GD32-MCU-IOT/gd32_zephyr/blob/main/gd32mcu_zephyr_get_start_cn.md

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

1开发环境

操作系统:Windows 11

命令行工具:Windows PowerShell

IAR Arm工具链:EWARM 9.70.4

硬件开发板:GD32H759I_EVAL

2安装系统依赖

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

可以通过

https://docs.zephyrproject.org/latest/develop/getting_started/index.html的步骤进行安装。关键组件CMake,Python,Devicetree compiler的版本最小要求如下:

IAR

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

# 验证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

IAR

3.2 升级pip并安装west

# 升级pip到最新版本

pip install --upgrade pip

# 安装west工具

pip install west

IAR

3.3 验证west安装

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

west –version

IAR

4获取Zephyr源码

4.1 初始化工作空间

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

# 创建项目目录

cd ./zephyrproject

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

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

IAR

4.2 导出Zephyr CMake包

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

west zephyr-export

IAR

4.3 更新所有模块

# 更新所有west模块

west update

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

IAR

5安装Python依赖

# 进入zephyr目录

cd zephyr

# 安装Python依赖

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

IAR

6安装Zephyr SDK

6.1 下载并安装SDK

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

west sdk install

IAR

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

west sdk install -t arm-zephyr-eabi

7环境设置

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

# 激活虚拟环境

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

IAR

8验证安装

8.1 构建示例项目

# 进入zephyr目录

cd ./zephyrproject/zephyr

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

west build -p always -b gd32h759i_eval samples/hello_world

IARIAR

9使用IAR工具链进行编译

9.1 配置IAR Arm工具链

# 配置工具链为IAR

$Env:ZEPHYR_TOOLCHAIN_VARIANT="iar"

# 配置IAR工具链安装路径

$Env:IAR_TOOLCHAIN_PATH="C:iarewarm-9.70.4arm"

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

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

west build -p always -b gd32h759i_eval samples/hello_world

IARIAR

10使用IAR工具链进行调试

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

IAR

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

添加对应的elf文件

配置对应的芯片(Options>General Options>Target>Device)

配置对应的调试器选项(Options>Debugger>Setup>Driver),建议勾选Options>Debugger>Plugins里面Zephyr感知调试选项(需要在构建的时候使能CONFIG_DEBUG_THREAD_INFO选项):

IAR

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

IAR

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

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

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

IARIAR

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

(https://docs.zephyrproject.org/latest/develop/sca/iar_c_stat.html)

总结

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

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分