1.环境支持
虚拟机:VMware Workstation 12
操作系统:Ubuntu 16.04 64bit
2.下载源码
Zephyr的源码放在GitHub上,可以通过git clone的方式下载(下载到当前用户目录下的zephyr目录)
$ git clone https://github.com/zephyrproject-rtos/zephyr.git ~/zephyr
3.安装依赖的包
(1)先将系统更新到最新状态
$ apt-get update
$ apt-get upgrade
(2)安装依赖的包
$ 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
(3)添加额外的包
// 进入zephyr目录,也就是第2步骤中的源码目录
$ cd ~/zephyr
// 安装额外的包
$ pip3 install --user -r scripts/requirements.txt
(4)安装cmake(由于安装依赖包时,安装的cmake的版本比较低,所以这里需要重新安装,目前的最新版本是cmake-3.10.0-rc5-Linux-x86_64)
// 在当前用户目录下创建cmake
$ mkdir ~/cmake
// 进入cmake目录
$ cd ~/cmake
// 下载cmake
$ wget https://cmake.org/files/v3.10/cmake-3.10.0-rc5-Linux-x86_64.sh
// 安装cmake
$ yes | sh cmake-3.10.0-rc5-Linux-x86_64.sh | cat
// 导出cmake的环境变量
$ echo "export PATH=~/cmake/cmake-3.10.0-rc5-Linux-x86_64/bin:$PATH" >> ~/.bashrc
// 查看版本,若版本为3.10.0,表示安装成功,如果版本不是3.10.0,需要删除系统中原有的cmake:apt-get autoremove cmake
$ cmake --version
4.安装SDK
(1)下载最新的SDK(目前的版本是0.9.2)
$ wget https://github.com/zephyrproject-rtos/meta-zephyr-sdk/releases/download/0.9.2/zephyr-sdk-0.9.2-setup.run
注:在linux下访问外国网站时,网速比较慢,可以先在window下下载好后再复制到linux中。
(2)下载完成后,运行该文件
// 修改运行权限
$ chmod 777 zephyr-sdk-0.9.2-setup.run
// 安装
$ ./zephyr-sdk-0.9.2-setup.run
默认会将SDK安装到 /opt/zephyr-sdk/ 目录下。个人推荐默认设置。
(3)导出Zephyr的环境变量
echo "export ZEPHYR_GCC_VARIANT=zephyr" >> ~/.bashrc
echo "export ZEPHYR_SDK_INSTALL_DIR=/opt/zephyr-sdk" >> ~/.bashrc
5.进入zephyr源码目录,配置环境
$ cd zephyr
$ source ./zephyr_env.sh
6.编译hello world
// 在zephyr源码目录下,进入hello_world目录
$ cd samples/hello_world
// 创建工程构建目录,并进入该功能构建目录
$ mkdir -p build/arduino_101
$ cd build/arduino_101
// 构建Makefile
$ cmake -DBOARD=arduino_101 ../..
// make
$ make