如上文所介紹,Telink Zephyr是由社區的Zephyr倉庫fork而來的,用于維護我們在社區的內容,并開發新的功能。若要查看 Telink Zephyr 最新的開發內容,可以查看位于GitHub上telink-semi的Zephyr倉庫的develop 分支:
https://github.com/telink-semi/zephyr
目前,Telink Zephyr基于社群有以下兩個Zephyr版本:
telink_matter_v1.0-branch分支,它不低于Zephyr 3.0.0,不高于Zephyr 3.1.99,需要安裝并適配社群的zephyr-0.13.2或者zephyr-0.14.2工具鏈;
以及develop和telink_matter分支,當前基于的是Zephyr3.2.99,必須安裝并適配社群的zephyr-0.15.2-sdk工具鏈。
之所以會存在兩個Zephyr版本,是為了滿足對Matter項目的開發與應用的需求。比如,telink_matter_v1.0-branch分支保留了對Matter V1.0 Release的版本(即v1.0-branch分支)的支持,并且不斷進行bugfix,讓設備廠商們可以比較穩定地用于模組、設備和產品上的應用開發。而telink_matter分支是緊跟Matter V1.1版本(即connectedhomeip的master分支)的開發而不斷更新的。由于Matter的新版本將于今年的Q1~Q2進行release,因此,上述分支的更新和修改較為頻繁,適合對嘗試Matter新特性有興趣的開發者。
接下來,將先后介紹兩者的編譯環境的配置步驟。
適配Matter V1.0-branch分支的Telink Zephyr
配置步驟
配置Telink Zephyr的telink_matter_v1.0-branch分支的過程和社群3.0.0版本的的Getting Started Guide相似,但不完全相同。在進行配置之前,首先確認系統版本為 Ubuntu 20.04LTS,并執行APT更新和升級:
$ sudo apt update
$ sudo apt upgrade
1、安裝Zephyr工程所需的依賴項
$ wget https://apt.kitware.com/kitware-archive.sh
$ sudo bash kitware-archive.sh
$ 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
在進行下一步前請確認依賴項的版本已經達到或高于Zephyr所需的最小版本:
CMake (3.20.0),
$ cmake --version
Python3 (3.6),
$ python3 --version
Devicetree compiler (1.4.6).
$ dtc --version
2、安裝Zephyr的west多倉庫管理工具
$ pip3 install --user -U west
$ echo 'export PATH=~/.local/bin:"$PATH"' >> ~/.bashrc
$ source ~/.bashrc
確認 ~/.local/bin 在 $PATH 環境變量上
3、獲取Zephyr源碼與配置工程
$ west init -m https://github.com/telink-semi/zephyr --mr telink_matter_v1.0-branch ~/zephyrproject
注意:此處-m參數是指定了從Telink的zephyr倉庫進行拉取,-mr參數指定了將要拉取的分支名,為telink_matter_v1.0-branch。
$ cd ~/zephyrproject
$ west update
注意:在切換zephyr倉庫分支時,請記得執行update指令以更新其他關聯的倉庫。
$ west zephyr-export
4、為Zephyr安裝額外的Python依賴項
$ pip3 install --user -r ~/zephyrproject/zephyr/scripts/requirements.txt
5、安裝社區v0.13.2版本工具鏈
下載Zephyr工具鏈(1.2GB)到本地目錄。
$cd ~
$ wget https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.13.2/zephyr-sdk-0.13.2-linux-x86_64-setup.run
$ chmod +x zephyr-sdk-0.13.2-linux-x86_64-setup.run
$ ./zephyr-sdk-0.13.2-linux-x86_64-setup.run -- -d ~/zephyr-sdk-0.13.2
注意:在安裝完成以后您不能直接移動這個SDK。若想要挪動到其他路徑,請將安裝后的文件夾移動過去,并重新使用zephyr-sdk-0.13.2-linux-x86_64-setup.run進行配置。
6、驗證配置是否完成
$ cd ~/zephyrproject/
$ west build -p auto -b tlsr9518adk80d zephyr/samples/hello_world -d build_helloWorld
這一步可以嘗試編譯hello_world示例,構建出的二進制文件zephyr.bin將會生成在build_helloWorld/zephyr文件夾中。
7、 配置Zephyr環境的腳本
若想要在zephyrproject文件夾外,比如Matter工程路徑中執行west build命令,需要配置Zephyr的環境:
$ source ~/zephyrproject/zephyr/zephyr-env.sh
建議將以上配置加入shell的配置文件中自啟動:
$ echo "source ~/zephyrproject/zephyr/zephyr-env.sh" >> ~/.bashrc
然后執?以下命令讓 shell 環境?刻更新:
$ source ~/.bashrc
適配Matter master分支的Telink Zephyr
配置步驟
配置Telink Zephyr的telink_matter分支的過程和社群latest版本(3.2.99)的Getting Started Guide相似,但不完全相同。在進行配置之前,依然要確認系統版本為 Ubuntu 20.04LTS,并執行APT更新和升級:
$ sudo apt update
$ sudo apt upgrade
1、安裝Zephyr工程所需的依賴項
$ wget https://apt.kitware.com/kitware-archive.sh
$ sudo bash kitware-archive.sh
$ 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 libmagic1
在進行下一步前請確認依賴項的版本已經達到或高于Zephyr所需的最小版本:
CMake (3.20.0),
Python3 (3.8),
Devicetree compiler (1.4.6).
2、安裝Zephyr的west多倉庫管理工具
$ pip3 install --user -U west
$ echo 'export PATH=~/.local/bin:"$PATH"' >> ~/.bashrc
$ source ~/.bashrc
確認 ~/.local/bin 在 $PATH 環境變量上
3、獲取Zephyr源碼與配置工程
$ west init -m https://github.com/telink-semi/zephyr --mr telink_matter ~/zephyrproject
注意:此處-m參數是指定了從Telink的zephyr倉庫進行拉取,-mr參數指定了將要拉取的分支名,為telink_matter。若有需要,也可以換成develop分支以檢查最新特性。
$ cd ~/zephyrproject
$ west update
注意:在切換zephyr倉庫分支時,請記得執行update指令以更新其他關聯的倉庫。
$ west blobs fetch hal_telink
注意:該命令將會更新我們公司的HAL倉庫,適用于develop和telink_matter分支。
$ west zephyr-export
4、為Zephyr安裝額外的Python依賴項
$ pip3 install --user -r ~/zephyrproject/zephyr/scripts/requirements.txt
5、安裝社區v0.13.2版本工具鏈
下載Zephyr工具鏈(1.6GB)到本地目錄。
$cd ~
$ wget https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.15.2/zephyr-sdk-0.15.2_linux-x86_64.tar.gz
$ wget -O - https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.15.2/sha256.sum | shasum --check --ignore-missing
$ tar xvf zephyr-sdk-0.15.2_linux-x86_64.tar.gz
$ zephyr-sdk-0.15.2
$ ./setup.sh -t riscv64-zephyr-elf -h -c
注意:在安裝完成以后您不能直接移動這個SDK。若想要挪動到其他路徑,請將安裝后的文件夾移動過去,并重新使用./setup.sh進行配置。
6、驗證配置是否完成
$ cd ~/zephyrproject/
$ west build -p auto -b tlsr9518adk80d zephyr/samples/hello_world -d build_helloWorld
這一步可以嘗試編譯hello_world示例,構建出的二進制文件zephyr.bin將會生成在build_helloWorld/zephyr文件夾中。
7、配置Zephyr環境的腳本
若想要在zephyrproject文件夾外,比如Matter工程路徑中執行west build命令,需要配置Zephyr的環境:
$ source ~/zephyrproject/zephyr/zephyr-env.sh
建議將以上配置加入shell的配置文件中自啟動:
$ echo "source ~/zephyrproject/zephyr/zephyr-env.sh" >> ~/.bashrc
然后執?以下命令讓 shell 環境?刻更新:
$ source ~/.bashrc
-
編譯
+關注
關注
0文章
661瀏覽量
33049 -
環境搭建
+關注
關注
0文章
54瀏覽量
9081 -
GitHub
+關注
關注
3文章
473瀏覽量
16575 -
Zephyr
+關注
關注
0文章
22瀏覽量
6001 -
Matter
+關注
關注
1文章
229瀏覽量
5890
原文標題:【技術專欄】泰凌微電子Zephyr編譯環境搭建
文章出處:【微信號:telink-semi,微信公眾號:泰凌微電子】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
【泰凌微TLSR9系列開發套件試用體驗】Zephyr環境驗證TLSR9518ADK80D Blinky
【泰凌微TLSR9系列開發套件試用體驗】Zephyr編譯環境搭建
基于泰凌微電子平臺實現OpenHarmony開發—綜述
在Zephyr v2.6.0下如何搭建esp32的編譯調試環境?
【泰凌微TLSR9系列開發套件試用體驗】Zephyr編譯環境搭建
![【<b class='flag-5'>泰</b><b class='flag-5'>凌</b>微TLSR9系列開發套件試用體驗】<b class='flag-5'>Zephyr</b><b class='flag-5'>編譯</b><b class='flag-5'>環境</b><b class='flag-5'>搭建</b>](https://file.elecfans.com/web2/M00/50/CA/pYYBAGLHwAGANCSkAAD3Ty638Ow612.png)
評論