1
介紹
Thread規(guī)范建立了一種可靠、安全且能效高的無線通信協(xié)議,適用于資源受限的設(shè)備,常見于智能家居和商業(yè)建筑。OpenThread包含了Thread的完整網(wǎng)絡(luò)層范圍,包括IPv6、6LoWPAN、帶有MAC安全性的IEEE 802.15.4、網(wǎng)狀鏈路建立和網(wǎng)狀路由等功能。
Telink已將由谷歌的團隊開發(fā)的OpenThread實現(xiàn)整合到Zephyr RTOS中,實現(xiàn)了與Telink硬件的無縫兼容。這個整合的源代碼可以在GitHub上方便地獲取,并且還提供了軟件開發(fā)工具包(SDK)。
在這個教程的上半部分中,您將在Telink Zephyr開發(fā)環(huán)境上構(gòu)建OpenThread NCP和RCP固件。
學(xué)習(xí)內(nèi)容
- 使用Telink Zephyr開發(fā)環(huán)境配置OpenThread編譯環(huán)境。
-
構(gòu)建OpenThread Co-Processor固件(
ot-ncp-ftd
和ot-rcp
)。
所需條件
硬件:
-
2塊B91開發(fā)套件。
-
1臺Raspberry Pi 3B+或更高版本,并安裝Raspbian操作系統(tǒng)映像。
軟件:
-
Telink燒錄和調(diào)試工具 —— LinuxBDT。
-
其他工具,比如Git和West。
2
前提條件
-
Thread基本概念和OpenThread Co-Processor
在進行本教程之前,建議先完成OpenThread Simulation codelab并閱讀OpenThread Co-Processor Designs,以便熟悉基本的Thread概念和OpenThread Co-Processor架構(gòu),對RCP和NCP兩種設(shè)備有一個簡單了解。
-
Linux主機
Linux主機(Ubuntu v20.04 LTS或更高版本)充當(dāng)構(gòu)建機器,用于設(shè)置Telink Zephyr開發(fā)環(huán)境并燒錄所有Thread開發(fā)板。為了完成這些任務(wù),Linux主機需要兩個可用的USB端口和互聯(lián)網(wǎng)連接。
-
Telink B91開發(fā)套件
本教程需要2塊B91開發(fā)板。下面的圖片展示了一個套件中所需的最少組件。

本教程將使用一塊B91開發(fā)板作為RCP(無線電協(xié)處理器),使用另一個B91開發(fā)板作為NCP(網(wǎng)絡(luò)協(xié)處理器)。如果您尚未擁有這塊開發(fā)板,您可以從Telink官方網(wǎng)站獲取有關(guān)B91開發(fā)套件的更多詳細信息。需要用到的部分組件如下表所示:

-
安裝有Raspbian操作系統(tǒng)鏡像的樹莓派3B+或更高版本
在本教程中,需要使用帶有Raspbian Bullseye Lite OS image 或Raspbian Bullseye with Desktop的樹莓派3B+或更高版本。它通過以太網(wǎng)連接到互聯(lián)網(wǎng),并將配置為OpenThread邊界路由器(OTBR)的主機。
-
網(wǎng)絡(luò)連接
本教程需要一個已連接互聯(lián)網(wǎng)的交換機(或路由器)和若干條以太網(wǎng)電纜。它們用于將Raspberry Pi與Linux主機連接起來,便于用戶通過主機對Raspberry Pi進行配置。
-
LinuxBDT
Telink 燒錄和調(diào)試工具 (BDT)適用于所有Telink芯片系列,可用于擦除和燒錄OpenThread固件到Telink B91開發(fā)套件上。在您的Linux主機上安裝基于X86架構(gòu)的LinuxBDT。
-
其他
-
Git,用于設(shè)置Telink Zephyr開發(fā)環(huán)境。
-
West,用于管理Zephyr項目并構(gòu)建OpenThread二進制文件。
3
固件設(shè)置
-
Telink Zephyr開發(fā)環(huán)境設(shè)置
在Linux主機上打開命令行,執(zhí)行以下命令,以確保您的APT軟件包管理器是最新的。
$sudoaptupdate
$sudoaptupgrade
完成后,繼續(xù)執(zhí)行以下步驟。
1、安裝依賴項。
$wgethttps://apt.kitware.com/kitware-archive.sh
$sudobashkitware-archive.sh
$sudoaptinstall--no-install-recommendsgitcmakeninja-buildgperf
ccachedfu-utildevice-tree-compiler
python3-devpython3-pippython3-setuptoolspython3-tkpython3-wheelxz-utilsfile
makegccgcc-multilibg++-multiliblibsdl2-dev
Zephyr目前需要主要依賴項的最低版本,例如 CMake (3.20.0)、Python3 (3.6)、Devicetree 編譯器 (1.4.6)。
$cmake--version
$python3--version
$dtc--version
在執(zhí)行后續(xù)步驟之前,驗證系統(tǒng)上安裝的版本。如果版本不對,將 APT 鏡像切換到穩(wěn)定且最新的鏡像,或手動更新這些依賴項。
2、安裝west。
$pip3install--user-Uwest
$echo'exportPATH=~/.local/bin:"$PATH"'>>~/.bashrc
$source~/.bashrc
確保~/.local/bin
包含在$PATH
環(huán)境變量中。
3、獲取Zephyr項目的源碼。
$westinit~/zephyrproject
$cd~/zephyrproject
$westupdate
$westblobsfetchhal_telink
$westzephyr-export
在中國大陸,使用
west init ~/zephyrproject
和west update
獲取 Zephyr 源代碼,通常需要花費額外的時間。此外,某些項目可能無法從國外服務(wù)器更新,尋找其他方法來下載最新的源代碼。
4、為 Zephyr 安裝額外的 Python 依賴項。
$pip3install--user-r~/zephyrproject/zephyr/scripts/requirements.txt
5、設(shè)置 Zephyr 工具鏈。下載 Zephyr 工具鏈(大約 1~2 GB)到本地目錄中,以允許您燒錄固件到開發(fā)板。在中國大陸境內(nèi),該步驟可能需要花費額外時間。
$wgethttps://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.16.1/zephyr-sdk-0.16.1_linux-x86_64.tar.xz
$wget-O-https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.16.1/sha256.sum|shasum--check--ignore-missing
下載Zephyr SDK并將其放置在推薦路徑中,如下所示。
$HOME/zephyr-sdk[-x.y.z]
$HOME/.local/zephyr-sdk[-x.y.z]
$HOME/.local/opt/zephyr-sdk[-x.y.z]
$HOME/bin/zephyr-sdk[-x.y.z]
/opt/zephyr-sdk[-x.y.z]
/usr/zephyr-sdk[-x.y.z]
/usr/local/zephyr-sdk[-x.y.z]
其中 [-x.y.z] 可以是任何文本的可選項,例如 -0.13.2。SDK安裝后不能移動該目錄。接著安裝Zephyr工具鏈。
$tarxvfzephyr-sdk-0.16.1_linux-x86_64.tar.xz
$cdzephyr-sdk-0.16.1
$./setup.sh-triscv64-zephyr-elf-h-c
6、構(gòu)建Hello World示例。使用Hello World示例驗證官方Zephyr項目配置是否正確,然后再繼續(xù)設(shè)置自定義項目。
$cd~/zephyrproject/zephyr
$westbuild-pauto-btlsr9518adk80dsamples/hello_world
使用west build命令從Zephyr存儲庫的根目錄構(gòu)建hello_world示例。您可以在
build/zephyr
目錄下找到名為zephyr.bin
的固件。
7、將Zephyr環(huán)境腳本添加到~/.bashrc
。在bash中執(zhí)行一下命令。
$echo"source~/zephyrproject/zephyr/zephyr-env.sh">>~/.bashrc
$source~/.bashrc
8、添加Telink Zephyr遠程庫。下載Telink repo到本地作為開發(fā)分支并更新該分支。
$cd~/zephyrproject/zephyr
$gitremoteaddtelink-semihttps://github.com/telink-semi/zephyr
$gitfetchtelinkdevelop
$gitcheckoutdevelop
$cd..
$westupdate
$westblobsfetchhal_telink
更多信息參考Zephyr Doc – Getting Started Guide:https://docs.zephyrproject.org/latest/getting_started/index.html
4
固件編譯
本教程中將構(gòu)建兩種固件:
-
ot-ncp-ftd
-
ot-rcp
編譯方法如下:
1、無線電協(xié)處理器(ot-rcp)
$cd~/zephyrproject
$rm-rfbuild_ot_coprocessor
$westbuild-btlsr9518adk80d-dbuild_ot_coprocessorzephyr/samples/net/openthread/coprocessor---DDTC_OVERLAY_FILE="usb.overlay"-DOVERLAY_CONFIG=overlay-rcp-usb-telink.conf
2、網(wǎng)絡(luò)協(xié)處理器(ot-ncp-ftd)
打開位于zephyr/samples/net/openthread/coprocessor/overlay-rcp-usb-telink.conf
文件,按如下示范進行修改。
#TelinkRCPUSB-CDC-ACM
CONFIG_OPENTHREAD_COPROCESSOR_NCP=y
CONFIG_OPENTHREAD_COPROCESSOR_RCP=n
...
CONFIG_USB_DEVICE_PRODUCT="OpenThreadCoProcessorNCP"
完成后打開位于 zephyr/samples/net/openthread/coprocessor/boards/tlsr9518adk80d.conf
文件,按如下示范進行修改。
CONFIG_OPENTHREAD_NUM_MESSAGE_BUFFERS=256
然后執(zhí)行以下命令編譯 ot-ncp-ftd
固件。
$cd~/zephyrproject
$rm-rfbuild_ot_ncp_ftd
$westbuild-btlsr9518adk80d-dbuild_ot_ncp_ftdzephyr/samples/net/openthread/coprocessor---DDTC_OVERLAY_FILE="usb.overlay"-DOVERLAY_CONFIG=overlay-rcp-usb-telink.conf
5
小結(jié)
您現(xiàn)在已經(jīng)了解了下述內(nèi)容:
-
如何搭建并使用Telink Zephyr開發(fā)環(huán)境。
-
如何構(gòu)建
ot-ncp-ftd
和ot-rcp
兩種二進制文件。
在下一篇文章中,您可以使用這兩種固件分別與樹莓派協(xié)同工作,創(chuàng)建和管理Thread網(wǎng)絡(luò)。
關(guān) 于 泰 凌
泰凌微電子致力于為客戶提供一站式的低功耗高性能無線連接SoC芯片解決方案,包括經(jīng)典藍牙,藍牙低功耗,藍牙Mesh,Zigbee,Thread,Matter,Apple HomeKit,Apple“查找(Find My)”,和私有協(xié)議等低功耗2.4GHz多協(xié)議無線連接系統(tǒng)級芯片和豐富的固件協(xié)議棧。公司產(chǎn)品廣泛應(yīng)用于智能照明,智能家居/樓宇,智能遙控,無線外設(shè),智能零售,穿戴設(shè)備,無線音頻,智能玩具,物流追蹤,智慧城市等各類消費和商業(yè)應(yīng)用場景中。
官網(wǎng):www.telink-semi.com
微信公眾號:telink-semi
https://developers.telink-semi.cn/
銷售接洽:
中國大陸(華東、華北) :
+86-21-20281118-8213
中國大陸(華南、香港、音頻) :
+86-0755-26614003
telinksales@telink-semi.com
原文標(biāo)題:【技術(shù)專欄】泰凌微電子Thread RCP和NCP方案介紹(一)
文章出處:【微信公眾號:泰凌微電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
-
泰凌微
+關(guān)注
關(guān)注
7文章
154瀏覽量
10945
原文標(biāo)題:【技術(shù)專欄】泰凌微電子Thread RCP和NCP方案介紹(一)
文章出處:【微信號:telink-semi,微信公眾號:泰凌微電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
泰凌微電子邀您相約Embedded World 2025
泰凌微電子亮相CES 2025,斬獲豐碩成果

泰凌微電子精彩亮相CES 2025
泰凌微電子榮獲小米兩項大獎
泰凌微電子新款芯片推動人工智能應(yīng)用創(chuàng)新發(fā)展
泰凌微電子邀您相約CES 2025
泰凌微電子獲藍牙 6.0 認證,助力藍牙技術(shù)拓展與應(yīng)用升級

泰凌微電子推出Wi-Fi 6多協(xié)議TLSR9118 SoC
泰凌微電子發(fā)布Wi-Fi 6多協(xié)議TLSR9118 SoC

泰凌微電子:20億顆芯片里程碑,創(chuàng)新驅(qū)動物聯(lián)網(wǎng)未來

評論