RM新时代网站-首页

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

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

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

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

恩智浦MCU加油站 ? 來源:恩智浦MCU加油站 ? 2024-11-28 09:41 ? 次閱讀

應(yīng)廣大讀者朋友的熱情邀請,我們特別策劃了“Zephyr領(lǐng)進門”系列介紹(共十篇),旨在為大家深度剖析Zephyr OS——這一備受矚目的開源實時操作系統(tǒng)。從使用MCUXPresso插件進行開發(fā)的基礎(chǔ)知識,到構(gòu)建工具的詳解,再到環(huán)境安裝的步驟指導(dǎo),我們將一步步帶你走進Zephyr的世界。此外,我們還準(zhǔn)備了如何從0寫自己的helloWorld示例來詳細介紹調(diào)試技巧,助你輕松上手并深入掌握。

背景與發(fā)展

Zephyr OS的開發(fā)始于2016年,旨在提供一種適用于低功耗設(shè)備的實時操作系統(tǒng)。隨著物聯(lián)網(wǎng)(IoT)技術(shù)的迅速發(fā)展,Zephyr OS逐漸演變?yōu)橐粋€由Linux基金會主辦的社區(qū)驅(qū)動項目,支持多種硬件架構(gòu),包括ARM Cortex-M系列、x86、RISC-V等。Zephyr的設(shè)計理念是為各種資源受限的設(shè)備提供一個高效、可擴展的操作系統(tǒng)解決方案。

隨著時間的發(fā)展,ZephyrOS的開發(fā)得到了全球開發(fā)者和企業(yè)的支持,形成了一個活躍的社區(qū)。

主要特性

1. 輕量級設(shè)計

Zephyr OS的內(nèi)核非常小巧,通常在幾KB到幾十KB之間,這使得它能夠在極低功耗和資源受限的環(huán)境中運行。其設(shè)計目標(biāo)是盡量減少內(nèi)存使用和CPU占用,使得開發(fā)者能夠在小型微控制器上運行復(fù)雜的應(yīng)用程序。

2. 模塊化架構(gòu)

Zephyr OS采用模塊化設(shè)計,允許開發(fā)者根據(jù)具體需求選擇和配置功能模塊。開發(fā)者可以通過Kconfig系統(tǒng)輕松啟用或禁用特定功能,從而優(yōu)化系統(tǒng)性能和資源使用。這種靈活性使得Zephyr能夠適應(yīng)多種不同的應(yīng)用場景。

3. 多線程與調(diào)度

Zephyr OS支持多線程編程,提供優(yōu)先級調(diào)度機制,允許開發(fā)者創(chuàng)建響應(yīng)迅速的應(yīng)用程序。其調(diào)度算法能夠有效管理多個任務(wù),確保實時性和穩(wěn)定性。開發(fā)者可以為每個線程設(shè)置優(yōu)先級,從而優(yōu)化任務(wù)的執(zhí)行順序,滿足實時應(yīng)用的需求。

4. 設(shè)備驅(qū)動支持

Zephyr OS內(nèi)置了多種設(shè)備驅(qū)動程序,支持各種傳感器、通信模塊和外設(shè)。通過統(tǒng)一的API,開發(fā)者可以方便地與硬件交互,簡化開發(fā)過程。此外,Zephyr還支持設(shè)備樹(Device Tree)機制,使得硬件描述更加靈活,便于移植和擴展。

5. 網(wǎng)絡(luò)支持

Zephyr OS支持多種網(wǎng)絡(luò)協(xié)議,包括IPv4、IPv6、Bluetooth、LoRa、Zigbee等。這使得它能夠輕松連接到各種網(wǎng)絡(luò),適應(yīng)不同的應(yīng)用場景。Zephyr的網(wǎng)絡(luò)堆棧經(jīng)過優(yōu)化,能夠在資源有限的設(shè)備上高效運行。

6. 安全性

隨著IoT設(shè)備的普及,安全性成為一個重要問題。Zephyr OS在設(shè)計時考慮了安全性,提供了多種安全功能,如安全啟動、加密、訪問控制等。此外,Zephyr還支持TLS/SSL協(xié)議,確保數(shù)據(jù)傳輸?shù)陌踩浴?/p>

開發(fā)環(huán)境

Zephyr OS提供了一套完整的開發(fā)工具鏈,包括SDK、編譯器和調(diào)試工具。開發(fā)者可以使用C或C++編寫應(yīng)用程序,并通過Zephyr的命令行工具進行構(gòu)建和調(diào)試。1. Zephyr SDK

Zephyr SDK是一個跨平臺的開發(fā)環(huán)境,包含了構(gòu)建Zephyr應(yīng)用所需的所有工具。它支持Linux、Windows和macOS等操作系統(tǒng),方便開發(fā)者在不同平臺上進行開發(fā)。SDK中包含了編譯器、調(diào)試器、模擬器等工具,幫助開發(fā)者快速構(gòu)建和測試應(yīng)用。

2. 示例應(yīng)用

Zephyr OS提供了豐富的示例應(yīng)用程序,幫助開發(fā)者快速上手。這些示例涵蓋了從簡單的LED閃爍到復(fù)雜的傳感器數(shù)據(jù)采集等多種應(yīng)用場景。開發(fā)者可以根據(jù)這些示例學(xué)習(xí)如何使用Zephyr的API和功能,加速開發(fā)過程。

3. 文檔與支持

Zephyr OS提供了詳細的官方文檔,包括API參考、開發(fā)指南和教程,幫助開發(fā)者理解和使用Zephyr。此外,社區(qū)也提供了多種支持渠道,如郵件列表、論壇和社交媒體,開發(fā)者可以在這些平臺上交流經(jīng)驗、解決問題。

NXP與Zephyr

恩智浦(NXP)作為Zephyr項目的創(chuàng)始成員之一,一直以六大白金會員的身份持續(xù)堅定地支持該項目。Zephyr項目的特點與恩智浦面向邊緣連接設(shè)備的產(chǎn)品組合高度契合,特別是在安全、互聯(lián)且具備安全認(rèn)證的設(shè)備方面。目前,多個恩智浦平臺已獲得恩智浦客戶和Zephyr社區(qū)的共同支持。為了進一步推動產(chǎn)品系列中超級平臺的更全面支持,恩智浦正在加大投入。這不僅為低端部件提供了更便捷的支持路徑(例如,從i.MX RT1064平臺衍生出對i.MX RT1020的支持等)。當(dāng)然除了NXP官方對于不同嵌入式平臺的支持,一些社區(qū)和愛好者們也為NXP平臺的Zephyr支持貢獻了自己的一份力量。

NXP與Zephyr開發(fā)模式

恩智浦(NXP)及社區(qū)共同貢獻并維護了Zephyr的upstream工作組。NXP積極參與upstram工作組的開發(fā)工作,并在MCUXpresso SDK的基礎(chǔ)上進行開發(fā)。SDK的裸機驅(qū)動程序和CMSIS設(shè)備頭文件已被貢獻到上游。通過Shim驅(qū)動程序?qū)DK接口適配到Zephyr接口,以最大化代碼重用。此外,所有經(jīng)過推送的Zephyr代碼,都會在NXP的boardfarm中進行硬件測試以保證代碼的可靠性以及穩(wěn)定性。

當(dāng)新產(chǎn)品發(fā)布后,NXP會首先提供新產(chǎn)品的Zephyr基礎(chǔ)支持,所謂基礎(chǔ)支持可以理解為Zephyr的最小系統(tǒng),如下表所示,包括系統(tǒng)內(nèi)核、控制臺以及一些基礎(chǔ)驅(qū)動的支持:

Kernel Threads
Semaphores
Mutexes
Condition Variables
Work queues
Data Passing
Memory Heaps
Memory Slabs
Hardware Stack Protection
Userspace
Drivers UART
GPIO
Timer - SYSTICK
Console UART
RTT
Logging UART
RTT
Shell UART
RTT

從2021年開始,恩智浦就已經(jīng)遵循此規(guī)范進行開發(fā),從基礎(chǔ)支持開始,逐步推進,并最終推出完整的外設(shè)支持:

第一個里程碑是在NXP的新產(chǎn)品發(fā)布后,在最近的Zephyr版本中進行基礎(chǔ)版本的開發(fā)以及代碼推送。

第二個里程碑是完整的代碼發(fā)布。

當(dāng)然,NXP歡迎Zephyr社區(qū)和客戶為任何恩智浦平臺貢獻和增強驅(qū)動程序代碼。

最終,我們會將完整的代碼支持全部推送到Zephyr主線中,以FRDM-K64F為例,全平臺支持。

NXP的Zephyr支持

當(dāng)使用NXP的產(chǎn)品開發(fā)Zephyr并遇到問題時,可以通過公共的Zephyr社區(qū)進行支持-NXP Zephyr Community。這樣可以將所有公開討論和解決方案集中在同一位置,并且客戶可以從整個Zephyr社區(qū)的幫助中受益。

此外,恩智浦也提供了私人支持。恩智浦的公共社區(qū)還中有一個專門的Zephyr頁面,恩智浦的支持團隊會實時監(jiān)控Zephyr社區(qū),以幫助客戶解決特定于恩智浦平臺的問題。 當(dāng)然也可以通過正常的支持渠道,聯(lián)系CAS和DFAEs獲得Zephyr支持。

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

    關(guān)注

    3

    文章

    1372

    瀏覽量

    40275
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2909

    文章

    44557

    瀏覽量

    372753
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    6801

    瀏覽量

    123282
  • Zephyr
    +關(guān)注

    關(guān)注

    0

    文章

    21

    瀏覽量

    5963

原文標(biāo)題:Zephyr領(lǐng)進門系列:使用MCUXPresso插件開發(fā)Zephyr

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

收藏 人收藏

    評論

    相關(guān)推薦

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

    一套PC端的Zephyr OS開發(fā)環(huán)境。話不多說,開整! 1.??安裝VS Code 相信不少小伙伴已經(jīng)將VS Code當(dāng)作裝機必備工具了,無論是做代碼編輯還是說通過安裝形形色色的插件進行功能擴展
    的頭像 發(fā)表于 12-19 09:53 ?487次閱讀
    <b class='flag-5'>Zephyr</b>領(lǐng)進門系列:<b class='flag-5'>MCUXPresso</b> for VS Code<b class='flag-5'>插件</b>安裝

    Zephyr的構(gòu)建工具

    給大家介紹一下Zephyr的構(gòu)建工具們:
    的頭像 發(fā)表于 12-05 09:51 ?561次閱讀
    <b class='flag-5'>Zephyr</b>的構(gòu)建工具

    寫一個Chrome瀏覽器插件

    、瀏覽器插件有哪些種類 ?以chromium為內(nèi)核的瀏覽器插件如Chrome ??firefox瀏覽器插件 ???safari瀏覽器插件 本文只介紹Chrome
    的頭像 發(fā)表于 11-18 17:12 ?293次閱讀
    寫一個Chrome瀏覽器<b class='flag-5'>插件</b>

    VSCode插件的安裝和使用

    今天介紹一款我工作上經(jīng)常用到的一款VSCode的插件-VsCode Action Buttons,這個插件可以釋放手敲命令行清除、編譯、運行、部署到目標(biāo)機等操作,具體功能可由開發(fā)者自由定義,詳細功能的使用可以參考官網(wǎng)。
    的頭像 發(fā)表于 11-04 15:36 ?179次閱讀
    VSCode<b class='flag-5'>插件</b>的安裝和使用

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

    ,Zephyr OS在嵌入式開發(fā)中的知名度逐漸增加,新的微控制器和開發(fā)板都支持Zephyr。本文將深入討論Zephyr RTOS的技術(shù)細節(jié)。
    的頭像 發(fā)表于 10-22 16:47 ?497次閱讀
    深入解析<b class='flag-5'>Zephyr</b> RTOS的技術(shù)細節(jié)

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

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

    請問如何將Zephyr OS移植到KIT_PSOCE84_EVK?

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

    請問CYW20829B0-P4模塊是否支持Zephyr?

    嗨, 請問 CYW20829B0-P4 模塊是否支持 Zephyr? 如果沒有,有什么計劃嗎?
    發(fā)表于 05-28 06:00

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

    MCX N947成功初步移植Zephyr,標(biāo)志著嵌入式技術(shù)的新飛躍,為物聯(lián)網(wǎng)應(yīng)用注入更強動力與智能。 簡介 搭建 Zephyr 環(huán)境 參考Zephyr Getting Started。在這
    發(fā)表于 05-23 09:19 ?580次閱讀
    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

    鴻蒙實戰(zhàn)開發(fā)學(xué)習(xí):【HiView插件開發(fā)

    Hiview是一個跨平臺的終端設(shè)備維測服務(wù)集,其中是由插件管理平臺和插件實現(xiàn)的各自功能構(gòu)成整套系統(tǒng)。 本文描述了hiview插件開發(fā)的全部流程。
    的頭像 發(fā)表于 03-12 11:52 ?1317次閱讀
    鴻蒙實戰(zhàn)<b class='flag-5'>開發(fā)</b>學(xué)習(xí):【HiView<b class='flag-5'>插件</b><b class='flag-5'>開發(fā)</b>】

    瑞薩正式加入Zephyr項目,攜手共建開源實時操作系統(tǒng)新生態(tài)

    近日,業(yè)界領(lǐng)先的半導(dǎo)體解決方案提供商瑞薩宣布正式加入Zephyr?項目,并榮升為銀級會員。Zephyr作為Linux基金會的開源項目,致力于面向未來、資源受限的設(shè)備打造安全、互聯(lián)且靈活的實時操作系統(tǒng)(RTOS)。瑞薩的加入無疑將為Zep
    的頭像 發(fā)表于 03-12 09:18 ?673次閱讀

    瑞薩正式加入Zephyr項目

    近日,瑞薩正式加入Zephyr項目,成為銀級會員。Zephyr是Linux基金會的開源項目,旨在為面向未來且資源受限的設(shè)備建立安全、互聯(lián)且靈活的實時操作系統(tǒng)。Zephyr設(shè)計來源于開發(fā)
    的頭像 發(fā)表于 03-09 17:43 ?1827次閱讀

    FRDM-MCXA153開發(fā)板的開箱體驗

    這是個白底黑字有點像四方形的盒子,上面印著:MCUXpresso Developer Experience (開發(fā)者體驗), MCUXpresso 開發(fā)工具圖案,
    的頭像 發(fā)表于 02-25 09:45 ?1013次閱讀
    FRDM-MCXA153<b class='flag-5'>開發(fā)</b>板的開箱體驗

    如何在Zephyr OS中使用cyhal?

    我一直在使用Zephyr和 CY8CPROTO-063-BLE 模塊,我需要實現(xiàn)一個高速SPI驅(qū)動器。 不幸的是,Zephyr 驅(qū)動程序的開銷使每次傳輸?shù)拿看?SPI 傳輸都有大約 25 秒的額外
    發(fā)表于 01-29 07:12
    RM新时代网站-首页