0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Zephyr的構(gòu)建工具

恩智浦MCU加油站 ? 來(lái)源: 恩智浦MCU加油站 ? 2024-12-05 09:51 ? 次閱讀

相較于其他RTOS,如FreeRTOSRTThread,Zephyr OS在入門階段的一個(gè)挑戰(zhàn)在于它缺乏一個(gè)專門的集成開發(fā)環(huán)境(IDE),這使得圖形化工程開發(fā)變得不那么直接。然而,這一局限性同時(shí)也帶來(lái)了一個(gè)顯著的優(yōu)勢(shì):它賦予了開發(fā)者前所未有的自由度,能夠根據(jù)個(gè)人偏好選擇心儀的開發(fā)工具。

舉例來(lái)說(shuō),開發(fā)者可以充分利用Visual Studio Code(VS Code)這一強(qiáng)大的代碼編輯器,并通過(guò)安裝適當(dāng)?shù)牟寮?lái)支持Zephyr OS項(xiàng)目的調(diào)試。更進(jìn)一步,VS Code不僅限于代碼編輯,它還可以與其他廣受好評(píng)的調(diào)試工具無(wú)縫協(xié)作,如GDB調(diào)試器和Eclipse IDE等,這些工具都是開發(fā)者群體中極為熟悉且信賴的。

但在此過(guò)程中,有一個(gè)關(guān)鍵點(diǎn)需要開發(fā)者特別注意:盡管在代碼編輯和調(diào)試方面擁有高度靈活性,Zephyr OS在代碼構(gòu)建和編譯方面卻擁有一套自成體系的解決方案。這套構(gòu)建系統(tǒng)是Zephyr OS的核心組成部分,不僅穩(wěn)定且高效,同時(shí)也意味著它并非輕易可改動(dòng)的。因此,對(duì)于希望深入Zephyr OS開發(fā)的愛好者而言,理解并適應(yīng)這套構(gòu)建系統(tǒng)顯得尤為重要。簡(jiǎn)而言之,就是要學(xué)會(huì)“入鄉(xiāng)隨俗”,充分利用Zephyr OS提供的強(qiáng)大工具鏈,而不是試圖去挑戰(zhàn)或改變它。

今天,小編就來(lái)給大家介紹一下Zephyr的構(gòu)建工具們:

fc3d8e78-b2a2-11ef-93f3-92fbcf53809c.png

可能有小伙伴會(huì)問(wèn),照你這樣說(shuō),我們?nèi)豚l(xiāng)隨俗就行了,而且平時(shí)我們直接一個(gè)west build(不熟悉Zephyr的小伙伴可能有些迷惑,這是啥,west build是Zephyr提供的一個(gè)基于命令行的構(gòu)建指令,通過(guò)一條簡(jiǎn)單的west build指令就可以構(gòu)建整個(gè)Zephyr代碼,包括工程的構(gòu)建以及代碼編譯)就可以了,為啥還要知道這些?那就要翻出那句老話了:知己知彼百戰(zhàn)不殆。因?yàn)閆ephyr的構(gòu)建系統(tǒng)所依賴的工具有點(diǎn)多,往往一個(gè)環(huán)節(jié)報(bào)錯(cuò)就會(huì)導(dǎo)致整個(gè)構(gòu)建流程失敗,而每一個(gè)工具本身的報(bào)錯(cuò)信息都很獨(dú)特。為了更好的了解這些報(bào)錯(cuò)信息,我們就需要事先知道,我們首先需要預(yù)先明確Zephyr OS本身究竟依賴于哪些構(gòu)建工具:

1. Python:這是我們?cè)诎惭bZephyr依賴包前要干的第一件事情。Zephyr本身幾乎所有的工具都是基于Python開發(fā)的,例如設(shè)備樹文件的預(yù)處理、kconfig文件的整合于處理、MCUBoot對(duì)于鏡像的簽名等,可以說(shuō),Python是整套Zephyr構(gòu)建系統(tǒng)的地基。換句話說(shuō),可能絕大多數(shù)的構(gòu)建問(wèn)題最終發(fā)現(xiàn)都能從python環(huán)境這里找到解決方案。 2. CMake:CMake是一個(gè)跨平臺(tái)的自動(dòng)化構(gòu)建系統(tǒng),它使用名為CMakeLists.txt的文件來(lái)描述構(gòu)建過(guò)程。它是一個(gè)開源的跨平臺(tái)自動(dòng)化構(gòu)建系統(tǒng),最初在2000年開發(fā)。它通過(guò)使用名為CMakeLists.txt的配置文件來(lái)生成標(biāo)準(zhǔn)的構(gòu)建文件,如Unix的Makefile或WindowsVisual Studio的工程文件。Zephyr是通過(guò)CMake來(lái)進(jìn)行工程管理的,通過(guò)編寫CMakeLists.txt來(lái)定義工程結(jié)果以及構(gòu)建流程。

3. Ninja:Ninja是一個(gè)專注于速度的小型構(gòu)建系統(tǒng),它由Google開發(fā)并被許多開源項(xiàng)目采用它最初是為了提高Chromium瀏覽器項(xiàng)目的構(gòu)建速度而設(shè)計(jì)的,但現(xiàn)在已經(jīng)廣泛應(yīng)用于許多其他開源項(xiàng)目??梢院?jiǎn)單地理解,他就是升級(jí)版的make。Zephyr通過(guò)CMake生成ninja格式的構(gòu)建文件,來(lái)對(duì)Zephyr進(jìn)行編譯。

4. Zephyr-SDK:提供了針對(duì)不同平臺(tái)的工具鏈,用戶可以根據(jù)自己的需要,下載對(duì)應(yīng)平臺(tái)的工具進(jìn)行代碼編譯:

fc58bc66-b2a2-11ef-93f3-92fbcf53809c.png

5. Git:Zephyr的代碼管理工具。

6. West:Zephyr的原生工具,基于Python編寫,集成了:git管理,項(xiàng)目構(gòu)建,編譯,調(diào)試以及代碼燒錄的功能。可以說(shuō),west在手,Zephyr你值得擁有。就像剛才所介紹的,一條簡(jiǎn)單的west build指令就可以完成整個(gè)Zephyr代碼工程的build過(guò)程,非常方便。

至此,我們已經(jīng)全面介紹了Zephyr OS的整套構(gòu)建工具。希望這些信息能對(duì)大家有所幫助,相信在掌握了這些知識(shí)后,大家未來(lái)遇到問(wèn)題時(shí)能夠從容不迫、游刃有余地應(yīng)對(duì)!

請(qǐng)繼續(xù)關(guān)注后續(xù)即將發(fā)表的Zephyr OS環(huán)境安裝及如何從0寫自己的helloWorld示例~

恩智浦致力于打造安全的連接和基礎(chǔ)設(shè)施解決方案,為智慧生活保駕護(hù)航。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17475

    瀏覽量

    354616
  • 恩智浦
    +關(guān)注

    關(guān)注

    14

    文章

    5907

    瀏覽量

    109398
  • IDE
    IDE
    +關(guān)注

    關(guān)注

    0

    文章

    344

    瀏覽量

    47048
  • RTOS
    +關(guān)注

    關(guān)注

    23

    文章

    829

    瀏覽量

    120150
  • Zephyr
    +關(guān)注

    關(guān)注

    0

    文章

    30

    瀏覽量

    6072

原文標(biāo)題:Zephyr的構(gòu)建工具

文章出處:【微信號(hào):NXP_SMART_HARDWARE,微信公眾號(hào):恩智浦MCU加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    恩智浦分享Zephyr調(diào)試技巧

    前面幾期中,我們著重給大家介紹了如何搭建Zephyr開發(fā)環(huán)境,以及如何添加自己的應(yīng)用代碼。今天讓我們開始一個(gè)新的篇章:Zephyr調(diào)試技巧以及介紹Ozone進(jìn)行Zephyr的調(diào)試分享。 Zep
    的頭像 發(fā)表于 03-13 09:05 ?310次閱讀

    恩智浦解讀Zephyr log系統(tǒng)的使用 Zephyr的shell和log功能介紹

    之前 我們從 0 開始新建了一個(gè)簡(jiǎn)單的 Zephyr 應(yīng)用- 從0開始打造屬于自己的HelloWorld ,本期就 帶著大家熟悉一下 Zephyr 的 shell 和 log 系統(tǒng)。 首先給大家介紹
    的頭像 發(fā)表于 02-27 09:19 ?519次閱讀
    恩智浦解讀<b class='flag-5'>Zephyr</b> log系統(tǒng)的使用 <b class='flag-5'>Zephyr</b>的shell和log功能介紹

    使用Ozone調(diào)試基于nRF9160 Zephyr應(yīng)用程序

    Ozone是SEGGER免費(fèi)的嵌入式軟件調(diào)試器。它是一個(gè)強(qiáng)大的工具,可以讓你深入了解嵌入式系統(tǒng)中發(fā)生的事情。它在調(diào)試nRF9160 Zephyr應(yīng)用程序時(shí)特別有用。整理多個(gè)線程和多映像構(gòu)建可能很困難,但這就是你想要的
    的頭像 發(fā)表于 02-25 17:07 ?348次閱讀
    使用Ozone調(diào)試基于nRF9160 <b class='flag-5'>Zephyr</b>應(yīng)用程序

    IAR加入Zephyr項(xiàng)目,強(qiáng)化開源協(xié)作承諾

    支持。 Zephyr作為一個(gè)廣泛應(yīng)用于嵌入式行業(yè)的開源實(shí)時(shí)操作系統(tǒng)(RTOS),憑借其靈活性和高效性,已經(jīng)贏得了眾多嵌入式領(lǐng)域重要企業(yè)的青睞。IAR Systems此次加入Zephyr項(xiàng)目,旨在通過(guò)提供專業(yè)的開發(fā)工具和解決方案,
    的頭像 發(fā)表于 02-17 09:55 ?183次閱讀

    IAR正式加入Zephyr項(xiàng)目,成為銀牌會(huì)員

    的深度承諾和持續(xù)貢獻(xiàn)。 Zephyr是一款廣泛應(yīng)用于嵌入式領(lǐng)域的開源實(shí)時(shí)操作系統(tǒng)(RTOS),憑借其高性能、可靠性和靈活性,已贏得了眾多嵌入式領(lǐng)域重要企業(yè)的青睞和支持。IAR作為嵌入式系統(tǒng)開發(fā)的佼佼者,此次加入Zephyr項(xiàng)目,旨在通過(guò)提供專業(yè)級(jí)的
    的頭像 發(fā)表于 02-12 14:25 ?291次閱讀

    IAR正式加入Zephyr項(xiàng)目

    嵌入式領(lǐng)域的重要企業(yè)支持。此次合作充分彰顯了IAR對(duì)開源社區(qū)的深度承諾,致力于為開發(fā)者提供專業(yè)級(jí)工具和解決方案,同時(shí)助力Zephyr RTOS在嵌入式開發(fā)領(lǐng)域的持續(xù)發(fā)展。
    的頭像 發(fā)表于 02-12 14:19 ?263次閱讀

    使用MCUXpresso for VS Code插件開發(fā)Zephyr的hello world

    本期來(lái)到Zephyr實(shí)戰(zhàn)經(jīng)驗(yàn)演練,小編帶著大家一起使用MCUXpresso for VS Code插件來(lái)開發(fā)一個(gè)屬于Zephyr的hello world。
    的頭像 發(fā)表于 01-03 09:21 ?768次閱讀
    使用MCUXpresso for VS Code插件開發(fā)<b class='flag-5'>Zephyr</b>的hello world

    Zephyr領(lǐng)進(jìn)門系列:MCUXPresso for VS Code插件安裝

    在上一期-Zephyr構(gòu)建工具,我們?yōu)榇蠹医榻B了一位新朋友,Zephyr OS。相信通過(guò)上一篇的介紹,大家已經(jīng)對(duì)這一OS有了一些簡(jiǎn)單的了解。那么本期小編將帶著大家一起從0開始結(jié)合VS Code搭建
    的頭像 發(fā)表于 12-19 09:53 ?1440次閱讀
    <b class='flag-5'>Zephyr</b>領(lǐng)進(jìn)門系列:MCUXPresso for VS Code插件安裝

    使用MCUXPresso插件開發(fā)Zephyr

    的基礎(chǔ)知識(shí),到構(gòu)建工具的詳解,再到環(huán)境安裝的步驟指導(dǎo),我們將一步步帶你走進(jìn)Zephyr的世界。此外,我們還準(zhǔn)備了如何從0寫自己的helloWorld示例來(lái)詳細(xì)介紹調(diào)試技巧,助你輕松上手并深入掌握。
    的頭像 發(fā)表于 11-28 09:41 ?499次閱讀

    使用SSR構(gòu)建React應(yīng)用的步驟

    App等腳手架工具快速創(chuàng)建一個(gè)React項(xiàng)目。 根據(jù)需要配置Babel、Webpack等構(gòu)建工具,以確保項(xiàng)目能夠正確編譯和運(yùn)行。 安裝必要的依賴 : 安裝React和React-DOM等核心依賴
    的頭像 發(fā)表于 11-18 11:30 ?493次閱讀

    深入解析Zephyr RTOS的技術(shù)細(xì)節(jié)

    Zephyr是一個(gè)針對(duì)資源受限設(shè)備優(yōu)化的小型、可縮放、多體系架構(gòu)實(shí)時(shí)操作系統(tǒng)(RTOS)。Zephyr由Linux基金會(huì)維護(hù)[1],是一個(gè)以構(gòu)建業(yè)界最佳的RTOS為目標(biāo)的開源合作項(xiàng)目。近年來(lái)
    的頭像 發(fā)表于 10-22 16:47 ?1036次閱讀
    深入解析<b class='flag-5'>Zephyr</b> RTOS的技術(shù)細(xì)節(jié)

    如何在zephyr上使能esp32-c3內(nèi)置的USB串口?

    如題,請(qǐng)問(wèn)如何在zephyr上使能esp32-c3內(nèi)置的 USB 串口。
    發(fā)表于 06-12 08:11

    請(qǐng)問(wèn)如何將Zephyr OS移植到KIT_PSOCE84_EVK?

    我正試圖將 Zephyr OS 移植到 KIT_PSOCE84_EVK,但官方的 Zephyr 支持板列表中并沒有列出它。 所以,看來(lái)我得自己移植了。 是否有針對(duì) Zephyr OS 的移植指南或支持?
    發(fā)表于 05-30 07:32

    MCXN947與Zephyr的跨界合作 嵌入式技術(shù)的新飛躍

    Zephyr 的官方文檔中詳細(xì)介紹了環(huán)境的搭建過(guò)程, 同時(shí) NXP 也提供了工具解決 Zephyr 安裝過(guò)程所需的依賴。 了解 Zephyr 架構(gòu) 為了移植
    發(fā)表于 05-23 09:19 ?742次閱讀
    MCXN947與<b class='flag-5'>Zephyr</b>的跨界合作 嵌入式技術(shù)的新飛躍

    英飛凌是否為AIROC CYW20829 Bluetooth LE SoC芯片和模塊提供Zephyr支持?

    英飛凌是否為 AIROC CYW20829 Bluetooth LE SoC 芯片和模塊提供 Zephyr 支持?
    發(fā)表于 05-20 06:19