zephyr移植到STM32

开发板:DshanMCUF407

在这里插入图片描述

官方开发文档:入门指南 — Zephyr Project Documentation

1. Window下搭建开发环境

1.1 安装Choncolatey

powershell 管理员下执行如下命令:

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

1.2 安装相关依赖

choco feature enable -n allowGlobalConfirmation
choco install cmake --installargs 'ADD_CMAKE_TO_PATH=System'
choco install ninja gperf python311 git dtc-msys2 wget 7zip

同样是在管理员模式下执行以上命令,使用cmd也是可以的;

1.3创建虚拟python环境

以普通用户身份打开终端窗口

cd %HOMEPATH%
python -m venv zephyrproject\.venv

激活虚拟环境:

cmd 下使用以下命令激活:

zephyrproject\.venv\Scripts\activate.bat

powershell 下使用以下命令激活:

zephyrproject\.venv\Scripts\Activate.ps1

退出虚拟环境:

(.venv)deactivate

1.4 安装west

1.4.1 使用 pip 安装 west

west是Zephyr自己的构建元工具,实际上Zephyr是基于Cmake编写的,west会根据当前环境去调用cmake去编译,这样为我们省去了许多编译步骤.

pip install west
1.4.2 检查 west 安装路径

完成安装后,执行以下命令验证 west 是否安装成功:

west --version

如果显示 west 的版本号,说明安装成功,可以继续使用 west 命令。如果仍然出现无法识别 west 命令的情况,尝试west 安装路径添加到环境变量:

默认情况下,pip 安装的包会放在 Scripts 目录中。请确认 Scripts 路径是否已添加到系统环境变量中。

west 的安装目录可能在以下路径中(假设 Python 安装在默认位置):

C:\Users\100ask\AppData\Roaming\Python\Python311\Scripts
1.4.3 将 Scripts路径添加到环境变量
  1. 打开 “环境变量” 设置(右键“此电脑” -> “属性” -> “高级系统设置” -> “环境变量”)。
  2. 在 “系统变量” 中找到 Path 变量并编辑。
  3. 添加 Scripts 文件夹路径,例如:
C:\Users\100ask\AppData\Roaming\Python\Python311\Scripts
  1. 确保更改后点击 “确定” 并重启 PowerShell。
1.4.4 验证安装

重启 PowerShell,然后运行以下命令验证 west 是否安装成功:

west --version

如果仍然出现无法识别 west 命令的情况,尝试直接使用以下命令执行:

python -m west ...

1.5 获取zephyr源码和安装python依赖

新建一个文件夹zephyrproject,执行以下操作:

west init zephyrproject // 初始化zephyr环境并获取源码
cd zephyrproject        // 进入zephyrproject目录
west update				// 更新zephyr源码

导出 Zephyr Cmake package

west zephyr-export

这个package可以让Cmake自动加载构建Zephyr应用程序需要的样本代码

安装 python依赖

pip install -r %HOMEPATH%\zephyrproject\zephyr\scripts\requirements.txt

-r是指定依赖文件;

%HOMEPATH%是哪个路径下。

1.6 安装Zephyr SDK

Zephyr 软件开发工具包 (SDK) 包含适用于 Zephyr 支持的每个架构的工具链,这些工具链 包括编译器、汇编器、链接器和其他构建所需的程序 Zephyr 应用程序。

使用 安装 Zephyr SDK

cd %HOMEPATH%\zephyrproject\zephyr
west sdk install

如果安装不成功,大多数是网络原因,可跟换网络重新进行,也可以进入官网直接获取,然后解压

最后运行文件夹下 setup.cmd,只需要运行一次就好,如果不更改SDK源码的情况下:

在这里插入图片描述

在这里插入图片描述

2.编译构建程序(虚拟开发板)

首先我们可以编译一个例程,Sample文件下有很多的示例,我这里编译一个Blinky,led闪烁的示例:

如果您不确定 west 为您的开发板使用什么名称,可以使用该名称来获取 Zephyr 支持的所有开发板的列表。west boards

使用 west 构建 Blinky,为您的板进行适当的更改:<your-board-name>

cd %HOMEPATH%\zephyrproject\zephyr
west build -p always -b <your-board-name> samples\basic\blinky

例如:我们采用qemu_cortex_m3,运行Blinky程序,编译结果如下:

打开cmd.exe,进入zephyr目录,启动虚拟环境:

运行Blinky程序:

在这里插入图片描述

在zephyr目录中有一个虚拟的qemu开发板类型,我们可以安装qemu使用虚拟开发板验证我们的环境:

在这里插入图片描述

cd zephyrproject\zephyr
west build -p always -b <qemu_cortex_m3> samples/hello_world

在这里插入图片描述

执行以下命令运行程序:

west build -t run

在这里插入图片描述

3.在STM32H750上运行zephyr

当你拿到一个板时可以在zephyr的boards目录下查看是否支持,根据你板子的核以及型号去查

比如我的是stm32h750系列的,这里我通过开发板上的板名去查

cd /scr/zephyrproject/zephyr/boards/st
dir

使用dir命令列出st目录下所有开发板,看一下有没有符合自己的开发板;

在这里插入图片描述

也可以使用vscode 打开zephyrproject工程文件,进入boards/st目录下手动找到符合我们的开发板,或者vscode搜索STM32h750,找到我们需要的:

在这里插入图片描述

注意:搜索时需要找到boards目录下的,如下图所示:

在这里插入图片描述

3.1 新建boards相关文件

我们需要在zephyr/boards/st/ 下新建一个我们的开发板的文件夹,如果官方支持的开发板里没有和我们板子主控相同的,需要找个相近的复制一下,这里我复制的是stm32h750b_dk

在这里插入图片描述

将我们复制下来的开发板文件夹改成我们自己开发板的名字,文件夹内与板子名称有关的文件同一样修改成对应的名字:

在这里插入图片描述

3.2 修改boards相关配置文件

我们从上往下一次查看并修改每个文件得内容:
在这里插入图片描述

修改openocd配置文件:

source [find interface/stlink-dap.cfg]
transport select "dapdirect_swd"

set WORKAREASIZE 0x2000
set CHIPNAME STM32H750ZBTx
set BOARDNAME STM23H750ZBT6

source [find target/stm32h7x.cfg]

# Use connect_assert_srst here t
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值