zephyr&&stm32环境搭建
GaoSheng Lv5

如题,本文会简要介绍下如何搭建zephyr的开发环境

安装west

pip install west
安装完后使用 west -V检查一下是否安装成功

初始化zephyr工作区

west init zephyrproject
由于zephyr整个工程非常庞大,并且在国内的网络环境下就算使用代理也容易下载失败,所以强烈建议先只下载zephyr本体,随后再下载HAL,使用下面的命令来初始化:
west init -m https://github.com/zephyrproject-rtos/zephyr --mr main zephyrproject

在\zephyrproject\zephyr目录下打开west.yml
图片1
由于本文只是针对zephyr下STM32的环境配置,这里只保留了上面的内容

使用west update来更新模块,如果一切顺利的话,如下图所示:
图片2
如果出现某个模块安装失败的话,那大概率是网络问题,可以尝试配置代理,或者单独安装某个模块

1
2
git config --global http.proxy http://127.0.0.1:7890
git config --global https.proxy http://127.0.0.1:7890

单独安装hal_st模块 west update hal_st

下载zephyr SDK,这里同样建议手动下载
https://github.com/zephyrproject-rtos/sdk-ng/releases/
图片3
下载完成后,运行目录下的setup.cmd

验证环境

到这里环境就算是安装完成了,下面做一个简单的验证
硬件是STM32F407(嘉立创开发板 梁山派 天空星),测试的例程是samples/basic/blinky
在zephyrproject\zephyr目录下使用
west build -b stm32f4_disco -d build_stm32f4 samples/basic/blinky
尝试编译
图片4
由于原例程的LED跟嘉立创开发板的引脚不同,想要看到LED闪烁的现象需要稍微修改一下设备树
在zephyrproject\zephyr\samples\basic\blinky\src\main.c 可以看到使用的led0
图片5

在zephyrproject\zephyr\boards\st\stm32f4_disco\stm32f4_disco.dts文件中
将led0修改成开发板上的PB2
图片6
图片7

修改完成后,再次编译,使用jflash下载
开发板上LED灯按照预期闪烁
图片8

再测试一下RTT打印
在zephyrproject\zephyr\samples\basic\blinky目录下的prj.conf文件加入

1
2
3
4
5
6
7
8
9
10
11
CONFIG_GPIO=y
# 开启日志系统
CONFIG_LOG=y

# 设置日志输出到 RTT
CONFIG_LOG_BACKEND_RTT=y
# 启用 Segger RTT
CONFIG_USE_SEGGER_RTT=y

# 日志默认等级 0~4,数字越大打印内容越多
CONFIG_LOG_DEFAULT_LEVEL=3

图片9
图片10

本站由 提供部署服务