如题,本文会简要介绍下如何搭建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
由于本文只是针对zephyr下STM32的环境配置,这里只保留了上面的内容
使用west update来更新模块,如果一切顺利的话,如下图所示:
如果出现某个模块安装失败的话,那大概率是网络问题,可以尝试配置代理,或者单独安装某个模块
1 | git config --global http.proxy http://127.0.0.1:7890 |
单独安装hal_st模块 west update hal_st
下载zephyr SDK,这里同样建议手动下载
https://github.com/zephyrproject-rtos/sdk-ng/releases/
下载完成后,运行目录下的setup.cmd
验证环境
到这里环境就算是安装完成了,下面做一个简单的验证
硬件是STM32F407(嘉立创开发板 梁山派 天空星),测试的例程是samples/basic/blinky
在zephyrproject\zephyr目录下使用west build -b stm32f4_disco -d build_stm32f4 samples/basic/blinky
尝试编译
由于原例程的LED跟嘉立创开发板的引脚不同,想要看到LED闪烁的现象需要稍微修改一下设备树
在zephyrproject\zephyr\samples\basic\blinky\src\main.c 可以看到使用的led0
在zephyrproject\zephyr\boards\st\stm32f4_disco\stm32f4_disco.dts文件中
将led0修改成开发板上的PB2

修改完成后,再次编译,使用jflash下载
开发板上LED灯按照预期闪烁
再测试一下RTT打印
在zephyrproject\zephyr\samples\basic\blinky目录下的prj.conf文件加入
1 | CONFIG_GPIO=y |

