參考: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 對版本有要求