物联网操作系统Zephyr(入门篇)之1.2 linux下开发环境搭建

 Zephyr物联网操作系统专栏汇总 


目录

1.更新inux版本20.04.版本

2.安装依赖项

3.获取zephyr和安装Python依赖

安装west

获取zephyr源码

导出Cmake package

安装Python依赖

4.安装工具链

4.1 下载最新的sdk包

4.2 解压下载的sdk包

4.3 运行sdk包下的setup脚本

4.4 安装udev规则 

5.编译


1.更新inux版本20.04.版本

由于博主是20.04版本的ubutun系统,所以就直接在这个上面搭建环境。注意,官方文档用的是18.04版本。

sudo apt update
sudo apt upgrade

如果更新升级过程中出现了某些报错,对应去度娘搜素基本都可以解决的。 

比如出现下面图中的错误,则通过

rm -rf /var/lib/apt/lists
apt-get update

2.安装依赖项

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

a.安装cmake

apt  install cmake  # version 3.23.1-1ubuntu1

 ubuntu20.4下安装cmake工具命令。

 查询安装后的版本 命令

b.安装python3

由于博主已经安装了python3.8,所以可以直接查看当前版本

python3 --version

c.安装dtc

apt  install device-tree-compiler  # version 1.5.1-1

这里安装1.5.1.1版本。用

dtc --version

查询是否安装成功。

下载、检查并执行Kitware archive脚本,将Kitware APT存储库添加到源代码列表中。对厨具档案的详细解释。sh可在kitware第三方apt存储库中找到:

wget https://apt.kitware.com/kitware-archive.sh
sudo bash kitware-archive.sh

3.获取zephyr和安装Python依赖

安装west

安装west,设置路径:~/.local/bin到环境变量PATH,

pip3 install --user -U west
echo 'export PATH=~/.local/bin:"$PATH"' >> ~/.bashrc
source ~/.bashrc

 

获取zephyr源码

west init ~/zephyrproject

cd ~/zephyrproject

west update

 执行west update后出现了下面的报错:

ERROR: update failed for projects: canopennode, hal_altera, 
hal_espressif, hal_gigadevice, hal_telink, hal_xtensa, littlefs, 
loramac-node, lvgl, mbedtls, nanopb, segger, sof, tinycbor, TraceRecorderSource, 
trusted-firmware-m, tf-m-tests, psa-arch-tests

出现这个错误怎么解决呢,一直运行west update,知道全部更新完成不报错。

导出Cmake package

west zephyr-export

安装Python依赖

pip3 install --user -r ~/zephyrproject/zephyr/scripts/requirements.txt

4.安装工具链

4.1 下载最新的sdk包

cd ~

wget https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.14.1/zephyr-sdk-0.14.1_linux-x86_64.tar.gz


wget -O - https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.14.1/sha256.sum | shasum --check --ignore-missing

4.2 解压下载的sdk包

tar xvf zephyr-sdk-0.14.1_linux-x86_64.tar.gz

建议把sdk包提取到下面的路径

  • $HOME

  • $HOME/.local

  • $HOME/.local/opt

  • $HOME/bin

  • /opt

  • /usr/local

Zephyr SDK捆绑包存档包含Zephyr-SDK-0.14.1目录,在$HOME下提取时,生成的安装路径将是$HOME/Zephyr-SDK-0.14.1。

4.3 运行sdk包下的setup脚本

cd zephyr-sdk-0.14.1
./setup.sh

提取Zephyr SDK包后,只需运行一次安装脚本。
如果在初始安装后重新定位Zephyr SDK捆绑包目录,则必须重新运行安装脚本。

4.4 安装udev规则 

sudo cp ~/zephyr-sdk-0.14.1/sysroots/x86_64-pokysdk-linux/usr/share/openocd/contrib/60-openocd.rules /etc/udev/rules.d
sudo udevadm control --reload

5.编译

这里用hello world为例进行测试。

用x86模拟板进行测试:

cd /root/zephyrproject/zephyr/samples/hello_world/

mkdir build && cd build

# Use cmake to configure a Ninja-based build system:
cmake -GNinja -DBOARD=qemu_x86 ..

# Now run ninja on the generated build system:
ninja
ninja run

 最后用ctrl+a退出模拟器。

cmake -DBOARD=nrf5340dk_nrf5340_cpuapp_ns

猜你喜欢

转载自blog.csdn.net/dop102/article/details/124507583