第1篇 zephyr基於ubuntu環境搭建

說明:

本學筆記基於zephyr 工程版本 2.2.99,主機環境爲ubuntu18.04
詳細內容參考:https://docs.zephyrproject.org/latest/getting_started/index.html
主要記錄學習中遇到的問題

1 ubuntu配置

1.1 ubuntu需求

ubuntu需要使用18.04及以上版本,當時用其他低版本時會出現各種各樣的問題。主要表現在安裝的一些開發工具版本過低。如pip3工具包,zephyr工程的west工具等。本人曾嘗試使用16.04版本搭建開發環境,即使更新源(apt update,apt upgrade)後依然無法安裝最新版的工具。比如west工具在ubuntu16.04中安裝的最新版本是0.62,安裝後在zephyr2.2.99中使用時會出現各樣的問題。而在ubuntu18.04中則不會出現問題。在zephyr文檔中,也強調需要使用18.04及以後的版本。希望其他童鞋不要走彎路。

1.2 準備ubuntu

1.2.1.安裝ubuntu18.04

1.2.2.更新ubuntu

sudo apt update
sudo apt upgrade

1.2.3 安裝工具包

sudo apt install --no-install-recommends git cmake ninja-build gperf
ccache dfu-util device-tree-compiler wget \ python3-pip
python3-setuptools python3-tk python3-wheel xz-utils file \ make gcc
gcc-multilib g+±multilib libsdl2-dev

1.2.4 檢查cmake版本
a.檢查安裝的版本是3.13.1或更高

cmake --version

b.如果不符合版本要求需要手動安裝

wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | sudo apt-key add - sudo apt-add-repository ‘deb
https://apt.kitware.com/ubuntu/ bionic main’
sudo apt update
sudo apt install cmake

1.2.5 安裝west工具

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

2 zephyr工程安裝

2.1 下載zephyrproject源碼

cd ~
west init zephyrproject
cd zephyrproject
west update
注意:整個過程非常慢,資源從github下載的,如果能有梯子,建議使用梯子,否則整個過程大概3個小時。

2.2 導出cmake包

west zephyr-export

2.3 使用pip3安裝其他依賴的工具包

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

2.4 安裝zephyr的開發工具鏈
下載zephyr-sdk-0.11.2-setup.run到home目錄

cd ~ wget
https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.11.2/zephyr-sdk-0.11.2-setup.run
注意:這個下載非常慢,我嘗試很多次都失敗了。可以將
https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.11.2/zephyr-sdk-0.11.2-setup.run鏈接複製到迅雷,通過迅雷下載非常快。下載好zephyr-sdk-0.11.2-setup.run後,拷貝到你的ubuntu的home目錄中。

2.5 安裝zephyr-sdk-0.11.2-setup.run

chmod +x zephyr-sdk-0.11.2-setup.run
./zephyr-sdk-0.11.2-setup.run – -d ~/zephyr-sdk-0.11.2

2.6 添加變量到.bashrc中

export ZEPHYR_TOOLCHAIN_VARIANT=zephyr
export ZEPHYR_SDK_INSTALL_DIR=~/zephyr-sdk-0.11.2

2.7 安裝udev規則文件

sudo cp
${ZEPHYR_SDK_INSTALL_DIR}/sysroots/x86_64-pokysdk-linux/usr/share/openocd/contrib/60-openocd.rules
/etc/udev/rules.d sudo udevadm control --reload

3 編譯工程

3.1 編譯源碼(我用的是nrf52840DK開發板)
注意:命令執行需要在 zephyrproject/zephyr/ 目錄下,而不是zephyrproject或其他*

west build -p auto -b nrf52840dk_nrf52840 samples/basic/blinky

3.2 編譯完成功,顯示如下內容

[120/125] Linking C executable zephyr/zephyr_prebuilt.elf Memory
region Used Size Region Size %age Used
FLASH: 13120 B 1 MB 1.25%
SRAM: 5224 B 256 KB 1.99%
IDT_LIST: 56 B 2 KB 2.73% [125/125] Linking C executable zephyr/zephyr.elf

3.3 編譯後生成的文件包含在 zephyrproject/zephyr/build/zephyr/ 目錄下:
在這裏插入圖片描述
3.4 燒寫程序到開發板
3.4.1 可以將zephyr.hex拷貝到windows下,通過nRF Connect的Programmer軟件燒寫。

在這裏插入圖片描述

3.4.2 通過ubuntu下的wset工具命令燒寫

west flash
注意:使用這個命令需要在ubuntu下安裝nRF-Command-Line-Tools和j-link驅動,否則報錯

4 安裝nRF-Command-Line-Tools

4.1 下載nRF-Command-Line-Tools(下載後文件:nRFCommandLineTools1070Linuxamd64.tar.gz)

https://www.nordicsemi.com/Software-and-tools/Development-Tools/nRF-Command-Line-Tools/Download#infotabs

4.2 解壓nRFCommandLineTools1070Linuxamd64.tar.gz,包括如下文件:

nRF-Command-Line-Tools_10_7_0_Linux-amd64.deb
JLink_Linux_V662b_x86_64.deb

4.3 通過ubuntu的文件瀏覽器安裝找到上面兩個文件,雙擊安裝

4.4 執行nrfjprog -v命令,如顯示版本號代表安裝成功

在這裏插入圖片描述

4.5 連接j-link到ubuntu

1.虛擬機->可移動設備->SEGGER j-link->連接
2.執行lsusb命令如果現實SEGGER字樣設備,代表j-link已經連接到ubuntu 在這裏插入圖片描述

4.5 在zephyrproject/zephyr下執行west flash命令燒寫程序,顯示如下代表燒寫成功,LED開始閃爍:

在這裏插入圖片描述

結束

如有錯誤歡迎留言

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章