Zephyr实战篇之工程搭建
今天将介绍如何搭建ZephyrOS开发环境,并且编译一个Zephyr专属的HelloWorld,向世界问好,详细介绍可参考Zephyr官网。
Zephyr是基于CMake和Python进行项目开发和维护的,那么也就是说,只要是兼容这两款工具的OS,都可以作为我们的主战场。换句话说我们的Zephyr,可以同时支持在Windows、Linux和MacOS上进行应用开发,极大的免去了我们对于开发环境的选择困难。
开发Zephyr时,我们会用到的主要模块包括:
·Python3:脚本解释器和包管理
·CMake/Ninjia/Make:构建系统,这里要说明的是,Zephyr同时支持基于Ninja和Make的构建系统,在调用CMake命令行时可以通过-G指令指定使用的构建工具
·Device Tree Compiler:负责编译设备树文件
·ToolChain:这个无需多言,必不可少的交叉工具链,编译程序必备,包括gcc forarm,Risc-V,x86等,为了更加方便开发,·Zephyr提供了一个叫做Zephyr SDK的软件包,其中提供了我们所需要的工具链和一些debug/flash工具,但是需要注意的是,仅限于Linux下使用
·Debug/Flash Tools:J-Link,pyOCD,OpenOCD等
·West:定制化的工具,负责Zephyr代码库管理,协助build/flash/debug等,强烈建议使用这个工具来辅助我们开发Zephyr,拥有它,就会有一种,买它,买它,买不了吃亏和上当。小编之后也会单独写一篇文章来介绍这个工具。
·Zephyr的Git仓库:当然,这是压箱底的宝物,里面是ZephyrOS的源代码。
分析完对手,我们开始进入正题,考虑到大家一般用到的都是Windows操作系统,今天小编就给大家介绍下如何在Windows下搭建开发环境。目前,Windows下支持3种开发方式:
·Windows命令行:上手简单,需要手动安装工具链,但是可以使用jlink/pyOCD进行代码的调试和烧写
·Windows子系统(WSL):能够使用ZephyrSDK,但是不支持jlink/pyOCD进行代码调试
·Linux虚拟机:能够使用Zephyr SDK,同时支持jlink/pyOCD进行代码调试和烧写,只不过需要用户熟悉使用Linux以及安装Linux虚拟机,比较适合老手使用
接下来会以在Windows下使用Linux虚拟机这种方式,为大家介绍。
1、打开一个Linux控制台
2、安装West:pip3 install -U west
3、使用West工具下载Zephyr代码:
cd %userprofile% west init --mr v2.6.0zephyrproject // 通过--mr指令指定下载的Zephyr版本 cd zephyrproject west update
这样,Zephyr的源码以及所依赖的其他代码包就会被自动下载到zephyrproject文件夹中
4、安装依赖:pip3 install -rzephyr/scripts/requirements.txt
5、下载Zephyr SDK并安装:
cd ~ wget https://github.com/zephyrproject ... _64-linux-setup.run chmod +x zephyr-sdk-0.12.4-x86_64-linux-setup.run ./zephyr-sdk-0.12.4-x86_64-linux-setup.run-- -d ~/zephyr-sdk-0.12.4
至此,全部准备工作就已就绪。让我们向世界问好吧!借助于West工具,我们会发现,一切都是那么的简单。
1、cd zephyrproject/zephyr
2、west build -b mimxrt1060_evksamples/hello_world
a) -b 指定我们的目标平台
b) samples/xx 指定想要编译的工程名称
3、west debug/flash进行代码调试和烧写
4、连接板子和我们的PC,打开某串口调试助手,让我们和这个世界大声的说:
是不是觉得很简单,只需要几条west指令,我们就完成了工程的编译和下载,最后通过将板子连接到PC端,将结果显示在串口控制台上。
相信我,这只是west工具的冰山一脚,Zephyr OS的“瑞士军刀”岂是浪得虚名!