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