前言
- 如果在github上搜索RTOS,并且通过star来排名,发现除了RT-Thread,就是zephyr这个RTOS,这个RTOS为何如此的火?
- 作为一个RTOS的爱好者,想要了解一下zephyr,并且发现zephyr支持shell、设备树(Device Tree),对STM32支持的很好
- 手头有一块STM32 Nucleo-H743ZI2,如何快速的搭建一个基于zephyr的开发环境呢?
环境搭建
- 突然感觉,自己对各种RTOS的开发环境搭建
情有独钟 ,感觉做任何一件事,都需要有个开头(入门)过程 - 最好的学习资料,就是研读【源代码】,最好的文档,比不过【官方文档】
- zephyr最好的教程与文档如下:
https://docs.zephyrproject.org/latest/ - 文档很全面,如何搭建环境?看这篇:
Getting Started Guide https://docs.zephyrproject.org/latest/getting_started/index.html
sudo apt-get install --no-install-recommends git cmake ninja-build gperf ccache dfu-util device-tree-compiler wget python3-dev python3-pip python3-setuptools python3-tk python3-wheel xz-utils file libpython3.8-dev make gcc gcc-multilib g++-multilib libsdl2-dev
- 代码在github上可以找到
https://github.com/zephyrproject-rtos/zephyr.git - 注意,通过【官方入门教程】,发现实用
west ,会把整个工程,包括组件包、编译环境搭建好,所以,可以通过官方的入门的开发环境搭建,zephyr的代码,会自动拉下来。
编译环境
- 我使用虚拟机的
ubuntu 18.04 Linux 环境搭建,使用windows,可能会不同。 - 整个环境搭建,可以按照【官方入门指导】一步一步操作,没有太大的问题
- 开发环境的验证:基于开发板的工程编译,我使用的是ST nucleo-h743,命令如下:
west build -b nucleo_h743zi samples/basic/blinky - 这是个LED闪烁的工程
- 参考
https://docs.zephyrproject.org/latest/boards/arm/nucleo_h743zi/doc/index.html
编译与下载
- 可以使用
west flash 下载,由于我使用的虚拟机,有点问题,所以,把生成的bin文件,拷贝出来,使用ST官方的下载工具STM32CubeProgrammer 烧写 - build生成的工程的bin位置:
zephyrproject/zephyr/build/zephyr/zephyr.bin
开发板运行
- 烧写完成,发现开发板LED闪烁,说明zephyr正常的运行了
- 打开串口工具,如xshell,发现:打印了一行信息
*** Booting Zephyr OS build v2.7.0-rc3-38-g1ea0fabe722b ***
小结
- zephyr功能十分强大,还需要不断的去研究
- zephyr的开发环境,初步搭建成功,后面研究如何移植到其他的板子上
|