當(dāng)Telink Zephyr環(huán)境配置成功并且驗(yàn)證完成之后,便需要明確適用的硬件平臺(tái),選擇想要嘗試的Zephyr例程去進(jìn)行編譯。接下來(lái),將先簡(jiǎn)要介紹適用于Telink Zephyr的TLSR9系列SoC及其硬件平臺(tái),再解釋編譯例程的主要步驟以及常用的編譯命令。
1TLSR9系列SoC芯片
正如本系列文章第一篇《基于泰凌微電子TLSR9系列芯片平臺(tái)實(shí)現(xiàn)Zephyr開發(fā)》中所介紹的,Zephyr社群中的源碼和Telink Zephyr中均已包含了TLSR9系列SoC的配置,并已支持了配套的B91通用開發(fā)套件。因此,我們推薦使用TLSR9系列芯片和B91通用開發(fā)套件。其中,TLSR9系列SoC是實(shí)現(xiàn)Zephyr RTOS的核心硬件,而B91通用入門套件是搭載該芯片組的一個(gè)全集成的硬件平臺(tái)。
TLSR9系列SoC是泰凌微電子擁抱RISC-V架構(gòu)后,推出的全新一代高性能、多模、物聯(lián)網(wǎng)產(chǎn)品家族,支持各種領(lǐng)先的物聯(lián)網(wǎng)標(biāo)準(zhǔn)和行業(yè)規(guī)范,包括藍(lán)牙5.3,藍(lán)牙低功耗Mesh,Zigbee 3.0,Thread,Matter,HomeKit和其它定制化的專有協(xié)議等。它擁有眾多的型號(hào),各型號(hào)內(nèi)部都集成了功能強(qiáng)大的32位RISC-V MCU,擁有豐富的內(nèi)核功能,也適配了諸多外設(shè)模塊。其卓越的集成度,和靈活度,可以優(yōu)化實(shí)現(xiàn)物聯(lián)網(wǎng)設(shè)備、耳戴式設(shè)備以及可穿戴設(shè)備的設(shè)備系統(tǒng)成本。
其中,最主要的兩個(gè)子系列為TLSR95系列和TLSR92系列。前者專注于高性能無(wú)線音頻產(chǎn)品的開發(fā);后者用于開發(fā)各類高性能物聯(lián)網(wǎng)設(shè)備。
2B91通用開發(fā)套件
上圖中是B91通用開發(fā)套件里的主要部件,包括了一塊B91通用開發(fā)板(PN:TLSR9518ADK80D)及相關(guān)配件。詳細(xì)的硬件信息請(qǐng)?jiān)L問泰凌微電子B91通用開發(fā)套件硬件指南。
3編譯Zephyr示例
在本系列的第二篇文章《泰凌微電子Zephyr的編譯環(huán)境的搭建》中,我們已經(jīng)嘗試過通過編譯hello_world示例,來(lái)確認(rèn)是否搭建完成Zephyr的編譯環(huán)境搭建。接下來(lái),讓我們?cè)俣嗔私釽est這個(gè)Zephyr的管理工具,尤其是嘗試west build的用法,去編譯一些其他的示例。
此處以編譯Blinky示例的固件為例,介紹固件編譯的步驟。
步驟一
進(jìn)入Zephyr的演示示例所在的目錄:
$ cd~/zephyrproject/zephyr/samples
在這個(gè)目錄下,可以看到豐富的Zephyr示例,我們可以通過查閱社群中示例中列舉出的要求,結(jié)合Telink B91開發(fā)板(PN:TLSR9518ADK80D)所支持的功能和特性,來(lái)選擇相適應(yīng)的示例。
Zephyr社群中的演示示例列表
對(duì)Telink B91開發(fā)板(PN:TLSR9518ADK80D)的介紹
步驟二
選擇想要嘗試的zephyr示例,如blinky:
$ cd basic/blinky
Blinky示例的功能是使用GPIO API使得一顆LED燈交替處于開與關(guān)的狀態(tài),以實(shí)現(xiàn)閃爍,因此這個(gè)示例需要在開發(fā)板上的GPIO引腳連接一顆LED燈,并且在開發(fā)板的設(shè)備樹文件中將這顆LED的alias配置為“l(fā)ed0”。
由于B91開發(fā)板已經(jīng)提供了四顆RGBW色的LED燈珠,它們與PB接口以跳帽的方式相連,同時(shí),也已經(jīng)在zephyr/boards/riscv/tlsr9518adk80d/tlsr9518adk80d.dts文件中將藍(lán)色的LED燈珠默認(rèn)配置為“l(fā)ed0”。因此,我們的開發(fā)板已經(jīng)可以支持該應(yīng)用,更多的要求以及添加開發(fā)板支持的配置方法,可以參見社群中對(duì)于blinky示例的文檔:https://docs.zephyrproject.org/latest/samples/basic/blinky/README.html
步驟三
若當(dāng)前目錄下并沒有構(gòu)建過固件,可以直接執(zhí)行下面命令去構(gòu)建Blinky固件:
$ west build -b tlsr9518adk80d
上述命令會(huì)默認(rèn)地在當(dāng)前目錄下創(chuàng)建一個(gè)名為build的文件夾,用來(lái)存放構(gòu)建過程中的文件。當(dāng)完成一個(gè)構(gòu)建后,可以在 build/zephyr 目錄下找到一個(gè)名為 zephyr.bin 的目標(biāo)構(gòu)建文件,該二進(jìn)制文件也是將用來(lái)燒入到開發(fā)板上的固件。
4Zephyr構(gòu)建命令West Build
West是受到Repo工具和Git submodule啟發(fā)而開發(fā)的一個(gè)Zephyr倉(cāng)庫(kù)管理系統(tǒng)。其中,build屬于其擴(kuò)展命令,使用這個(gè)命令可以從源代碼構(gòu)建 Zephyr 應(yīng)用程序。
讓我回頭看一下之前編譯hello world例程的編譯命令:
$ west build -p auto -b tlsr9518adk80d zephyr/samples/hello_world -d build_helloWorld
相較之下,編譯blinky的命令較為簡(jiǎn)單,因?yàn)椤皐est build -b
-b或--board,要構(gòu)建的開發(fā)板名,需要與提供給CMake的名稱完全相同;若已有構(gòu)建目錄,可以省略該選項(xiàng)。
-c或--cmake,要強(qiáng)制重新運(yùn)行 CMake。
-d或--build-dir,要顯式設(shè)置構(gòu)建目錄,如build_helloWorld就為指定輸出文件夾;缺省時(shí),構(gòu)建目錄為當(dāng)前目錄的build文件夾。
-p,從頭編譯,只用-p等同于--pristine=always (或者 -p=always),會(huì)將之前編譯的內(nèi)容清除,重新開始編譯;-p auto 將檢測(cè)構(gòu)建目錄是否需要從頭開始編譯,這也是缺省該選項(xiàng)時(shí)候的默認(rèn)配置。
-- 或
以上選項(xiàng)只是一部分常用選項(xiàng),請(qǐng)參考Zephyr社群的《Building, Flashing and Debugging》去了解更多編譯選項(xiàng)。
關(guān) 于 泰 凌
泰凌微電子致力于為客戶提供一站式的低功耗高性能無(wú)線連接SoC芯片解決方案,包括經(jīng)典藍(lán)牙,藍(lán)牙低功耗,藍(lán)牙Mesh,Zigbee,Thread,Matter,Apple HomeKit,Apple“查找(Find My)”,和私有協(xié)議等低功耗2.4GHz多協(xié)議無(wú)線連接系統(tǒng)級(jí)芯片和豐富的固件協(xié)議棧。公司產(chǎn)品廣泛應(yīng)用于智能照明,智能家居/樓宇,智能遙控,無(wú)線外設(shè),智能零售,穿戴設(shè)備,無(wú)線音頻,智能玩具,物流追蹤,智慧城市等各類消費(fèi)和商業(yè)應(yīng)用場(chǎng)景中。
審核編輯:湯梓紅
-
soc
+關(guān)注
關(guān)注
38文章
4161瀏覽量
218157 -
編譯
+關(guān)注
關(guān)注
0文章
657瀏覽量
32852 -
硬件平臺(tái)
+關(guān)注
關(guān)注
0文章
21瀏覽量
11935 -
Zephyr
+關(guān)注
關(guān)注
0文章
21瀏覽量
5963 -
泰凌微
+關(guān)注
關(guān)注
7文章
147瀏覽量
10806
原文標(biāo)題:【技術(shù)專欄】泰凌微電子Zephyr硬件平臺(tái)及編譯步驟
文章出處:【微信號(hào):telink-semi,微信公眾號(hào):泰凌微電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論