参考:https://blog.csdn.net/xukai871105/article/details/79284177#zephyr-%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA
php
1.更新软件源
sudo apt-get update
sudo apt-get upgrade
2.安装依赖包sudo apt-get install --no-install-recommends git cmake ninja-build gperf \
ccache doxygen dfu-util device-tree-compiler \
python3-ply python3-pip python3-setuptools xz-utils file make gcc-multilib
3.克隆zephyr代码仓库python
把zephyr代码克隆到用户目录中,例如克隆至repo/zephyr
文件夹中。git
mkdir -p repo cd repo git clone https://github.com/zephyrproject-rtos/zephyr
github
安装必要的python3依赖工具ubuntu
# 进入zephyr文件夹
bash
cd zephyr
函数
# 经过pip3工具安装其余依赖项
工具
pip3 install --user -r scripts/requirements.txt
ui
4.安装CMakespa
zephyr
的开发须要 cmake 3.8.2
或以上版本,经过 ubuntu
软件仓库安装的 cmake
版本较低并不符合要求,可经过如下步骤把合适的CMake安装到$HOME/cmake
。
mkdir $HOME/cmake && cd $HOME/cmake wget https://cmake.org/files/v3.8/cmake-3.8.2-Linux-x86_64.sh yes | sh cmake-3.8.2-Linux-x86_64.sh | cat
把CMake安装目录增长到用户环境变量中,修改用户目录中的.bashrc
文件的最后增长一行
export PATH=<camke install directory>/bin:$PATH
新建一个控制台,在控制台中输入cmake --version
验证cmake工具是否安装成功,此处CMake的版本编号为3.8.2
。
cmake --version
cmake version 3.8.2
5.安装 zephyr SDK
zephyr SDK
会自动安装被支持硬平台所依赖的编译、下载、调试等工具。本文中使用的SDK版本为 0.9.2
。安装过程当中控制台将出现Zephyr SDK安装路径的提示,建议把zephyr SDK安装到用户目录\opt\zephyr-sdk
文件夹中。
# 下载SDK
wget https://github.com/zephyrproject-rtos/meta-zephyr-sdk/releases/download/0.9.2/zephyr-sdk-0.9.2-setup.run # 安装SDK chmod +x zephyr-sdk-0.9.2-setup.run ./zephyr-sdk-0.9.2-setup.run
设置环境变量
在用户目录.bashrc
文件末尾再增长ZEPHYR_GCC_VARIANT
、ZEPHYR_SDK_INSTALL_DIR
和ZEPHYR_BASE
等参数,修改完成以后在控制台执行source .bashrc
,该指令可以使新增长的环境变量当即生效。
cat ~/.bashrc
export PATH=<camke install directory>/bin:$PATH
export ZEPHYR_GCC_VARIANT=zephyr
export ZEPHYR_SDK_INSTALL_DIR=<zephyr-sdk directory>
export ZEPHYR_BASE=<zephyr local repository directory>
6.QEMU环境执行Hello World
完成上述安装过程后,能够经过 hello world
示例验证 zephyr
开发环境是否一切正常。此处使用qemu_x86
仿真平台进行验证。此处编译生成的hello world
可执行文件将运行于QEMU仿真平台。
$ZEPHYR_BASE/samples/hello_world
文件夹中包含如下几个重要文件,虽然其余的示例的功能与这个hello world
示例存在差异,可是各示例目录的文件结构却高度类似。
- CMakeLists.txt
构建文件,用于生成makefile;
- src/main.c
主函数文件;
- prj.conf
配置文件
经过CMake生成Makefile文件时,须要经过BOARD
参数指定目标平台,此处指定为qemu_x86
平台。
cd $ZEPHYR_BASE/samples/hello_world
# 新建一个build目录,用于存放临时文件
mkdir -p build && cd build
# 经过cmake指令生成qemu_x86平台makefile文件
cmake -DBOARD=qemu_x86 ..
# 编译 make # 执行
make
run To exit from QEMU enter: 'CTRL+a, x' [QEMU] CPU: qemu32,+nx,+pae qemu-system-i386: warning: Unknown firmware file in legacy mode: genroms/multiboot.bin ***** BOOTING ZEPHYR OS v1.10.99 - BUILD: Jan 20 2018 09:40:00 ***** Hello World! x86
小结:zephyr SDK cmake 对版本有要求