相較于其他RTOS,如FreeRTOS和RTThread,Zephyr OS在入門階段的一個挑戰(zhàn)在于它缺乏一個專門的集成開發(fā)環(huán)境(IDE),這使得圖形化工程開發(fā)變得不那么直接。然而,這一局限性同時也帶來了一個顯著的優(yōu)勢:它賦予了開發(fā)者前所未有的自由度,能夠根據(jù)個人偏好選擇心儀的開發(fā)工具。
舉例來說,開發(fā)者可以充分利用Visual Studio Code(VS Code)這一強大的代碼編輯器,并通過安裝適當?shù)牟寮碇С諾ephyr OS項目的調(diào)試。更進一步,VS Code不僅限于代碼編輯,它還可以與其他廣受好評的調(diào)試工具無縫協(xié)作,如GDB調(diào)試器和Eclipse IDE等,這些工具都是開發(fā)者群體中極為熟悉且信賴的。
但在此過程中,有一個關鍵點需要開發(fā)者特別注意:盡管在代碼編輯和調(diào)試方面擁有高度靈活性,Zephyr OS在代碼構建和編譯方面卻擁有一套自成體系的解決方案。這套構建系統(tǒng)是Zephyr OS的核心組成部分,不僅穩(wěn)定且高效,同時也意味著它并非輕易可改動的。因此,對于希望深入Zephyr OS開發(fā)的愛好者而言,理解并適應這套構建系統(tǒng)顯得尤為重要。簡而言之,就是要學會“入鄉(xiāng)隨俗”,充分利用Zephyr OS提供的強大工具鏈,而不是試圖去挑戰(zhàn)或改變它。
今天,小編就來給大家介紹一下Zephyr的構建工具們:

可能有小伙伴會問,照你這樣說,我們?nèi)豚l(xiāng)隨俗就行了,而且平時我們直接一個west build(不熟悉Zephyr的小伙伴可能有些迷惑,這是啥,west build是Zephyr提供的一個基于命令行的構建指令,通過一條簡單的west build指令就可以構建整個Zephyr代碼,包括工程的構建以及代碼編譯)就可以了,為啥還要知道這些?那就要翻出那句老話了:知己知彼百戰(zhàn)不殆。因為Zephyr的構建系統(tǒng)所依賴的工具有點多,往往一個環(huán)節(jié)報錯就會導致整個構建流程失敗,而每一個工具本身的報錯信息都很獨特。為了更好的了解這些報錯信息,我們就需要事先知道,我們首先需要預先明確Zephyr OS本身究竟依賴于哪些構建工具:
1. Python:這是我們在安裝Zephyr依賴包前要干的第一件事情。Zephyr本身幾乎所有的工具都是基于Python開發(fā)的,例如設備樹文件的預處理、kconfig文件的整合于處理、MCUBoot對于鏡像的簽名等,可以說,Python是整套Zephyr構建系統(tǒng)的地基。換句話說,可能絕大多數(shù)的構建問題最終發(fā)現(xiàn)都能從python環(huán)境這里找到解決方案。 2. CMake:CMake是一個跨平臺的自動化構建系統(tǒng),它使用名為CMakeLists.txt的文件來描述構建過程。它是一個開源的跨平臺自動化構建系統(tǒng),最初在2000年開發(fā)。它通過使用名為CMakeLists.txt的配置文件來生成標準的構建文件,如Unix的Makefile或WindowsVisual Studio的工程文件。Zephyr是通過CMake來進行工程管理的,通過編寫CMakeLists.txt來定義工程結果以及構建流程。
3. Ninja:Ninja是一個專注于速度的小型構建系統(tǒng),它由Google開發(fā)并被許多開源項目采用它最初是為了提高Chromium瀏覽器項目的構建速度而設計的,但現(xiàn)在已經(jīng)廣泛應用于許多其他開源項目。可以簡單地理解,他就是升級版的make。Zephyr通過CMake生成ninja格式的構建文件,來對Zephyr進行編譯。
4. Zephyr-SDK:提供了針對不同平臺的工具鏈,用戶可以根據(jù)自己的需要,下載對應平臺的工具進行代碼編譯:

5. Git:Zephyr的代碼管理工具。
6. West:Zephyr的原生工具,基于Python編寫,集成了:git管理,項目構建,編譯,調(diào)試以及代碼燒錄的功能??梢哉f,west在手,Zephyr你值得擁有。就像剛才所介紹的,一條簡單的west build指令就可以完成整個Zephyr代碼工程的build過程,非常方便。
至此,我們已經(jīng)全面介紹了Zephyr OS的整套構建工具。希望這些信息能對大家有所幫助,相信在掌握了這些知識后,大家未來遇到問題時能夠從容不迫、游刃有余地應對!
請繼續(xù)關注后續(xù)即將發(fā)表的Zephyr OS環(huán)境安裝及如何從0寫自己的helloWorld示例~
恩智浦致力于打造安全的連接和基礎設施解決方案,為智慧生活保駕護航。
-
mcu
+關注
關注
147文章
18929瀏覽量
398448 -
恩智浦
+關注
關注
14文章
6095瀏覽量
147646 -
IDE
+關注
關注
0文章
365瀏覽量
49069 -
RTOS
+關注
關注
25文章
866瀏覽量
123038 -
Zephyr
+關注
關注
0文章
59瀏覽量
6584
原文標題:Zephyr的構建工具
文章出處:【微信號:NXP_SMART_HARDWARE,微信公眾號:恩智浦MCU加油站】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
在Zephyr OS上啟用NPU的實用方案
在 VisionFive 2 上嘗試 Zephyr 時沒有輸出是怎么回事?
當RA MCU遇見Zephyr系列(4)——閃燈程序的構建與調(diào)試
【瑞薩FPB-RA6E2試用】【原創(chuàng)】基于【瑞薩FPB-RA6E2】Windows 下Zephyr RTOS自定義項目開發(fā)全流程(創(chuàng)建-編譯-燒錄-串口調(diào)試)
當RA MCU遇見Zephyr系列(3)——在Vs code中配置Zephyr集成開發(fā)環(huán)境
【瑞薩FPB-RA6E2試用】基于瑞薩FPB-RA6E2,在Windows環(huán)境的Zephyr-RTOS安裝教程
當RA MCU遇見Zephyr系列(2)——搭建瑞薩RA VS code開發(fā)環(huán)境
芯科科技升級Zephyr項目鉑金等級
IAR平臺現(xiàn)已提供對Zephyr RTOS的量產(chǎn)級支持
全網(wǎng)最全學習Zephyr開發(fā)教程資料匯總-從基礎文檔視頻到上手實操示例
Zephyr SDK Glue v0.5.0 發(fā)布
使用Percepio View免費跟蹤工具分析Zephyr應用
使用Tracealyzer調(diào)試Zephyr中的優(yōu)先級反轉
Zephyr的構建工具
評論