Zephyr 环境搭建
我这里 Zephyr 环境搭建在 Ubuntu 20.04 上,Ubuntu 运行在 virtualbox 虚拟机中。
前置条件
- Ubuntu 20.04 (virtualbox on win10)
环境搭建
首先输入
sudo apt update
sudo apt upgrade
sudo apt upgrade
第一次更新的时候可能会失败,再输入一次即可。
安装依赖包
需要使用 apt
来安装依赖包,最好使用国内源。
sudo apt 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 \
make gcc gcc-multilib g++-multilib libsdl2-dev
然后需要检查 cmake 的版本,需要 3.13.1 及以上的版本。
cmake --version
若版本较低,则需要手动更新 cmake 版本,参考官方手册。Ubuntu 20.04 一般不会有这个问题。
获取 Zephyr 并安装 Python 依赖
- 安装
west
Python 脚本工具,并将~/.local/bin
加入 PATH 环境变量。
pip3 install --user -U west -i https://mirrors.aliyun.com/pypi/simple/
echo 'export PATH=~/.local/bin:"$PATH"' >> ~/.bashrc
source ~/.bashrc
这里的 -i https://mirrors.aliyun.com/pypi/simple/
表示使用国内源安装。
- 然后获取 Zephyr 源代码,
west init ~/zephyrproject -m https://gitee.com/AnswerInTheWind/zephyr/
cd ~/zephyrproject
west update
这里 west init
使用了参数 -m https://gitee.com/AnswerInTheWind/zephyr/
, 表明从 gitee 上下载源代码,速度更快,而且该仓库已经修改了 west.yml
文件,将依赖的模块文件也全部从 github 导向了 gitee,这样在国内安装速度也会很快。
最后使用 west update
安装依赖模块。
- 导出 Zephyr CMake 包,
west zephyr-export
- 安装 python 依赖环境
pip3 install --user -r ~/zephyrproject/zephyr/scripts/requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
可能会安装失败,多安装几次就会。
安装工具链
- 下载 Zephyr SDK 安装工具
cd ~
wget https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.11.4/zephyr-sdk-0.11.4-setup.run
若嫌速度太慢,可以从企业网盘里下载,然后通过虚拟机共享文件夹到 Ubuntu 。
- 运行安装工具,将 SDK 安装到
~/zephyr-sdk-0.11.4
chmod +x zephyr-sdk-0.11.4-setup.run
./zephyr-sdk-0.11.4-setup.run -- -d ~/zephyr-sdk-0.11.4
- 建立 udev 规则,允许普通用户下载程序到 Zephyr 支持的大部分开发板。
sudo cp ~/zephyr-sdk-0.11.4/sysroots/x86_64-pokysdk-linux/usr/share/openocd/contrib/60-openocd.rules /etc/udev/rules.d
sudo udevadm control --reload
编译下载
使用 samples/hello_world 来测试环境是否搭建成功。
cd ~/zephyrproject/zephyr
west build -p auto -b qemu_x86 samples/hello_world
west build -t run
运行结果如下:
jackis@jackis-zephyr:~/zephyrproject/zephyr$ west build -t run -d build/qemu_x86/hello_world
-- west build: running target run
[0/1] To exit from QEMU enter: 'CTRL+a, x'[QEMU] CPU: qemu32,+nx,+pae
SeaBIOS (version rel-1.12.1-0-ga5cab58-dirty-20200625_115407-9426dddc0a1f-zephyr
)
Booting from ROM..*** Booting Zephyr OS build zephyr-v2.4.0-8-g9c30e7946974 ***
Hello World! qemu_x86
参考:
搭建zephyr开发环境