

1:Zephyr 內(nèi)核支持多種設(shè)備驅(qū)動程序。驅(qū)動程序是否可用取決于board 和驅(qū)動程序。
Zephyr 設(shè)備模型為配置作為系統(tǒng)一部分的驅(qū)動程序提供了一致的設(shè)備模型。設(shè)備型號負責(zé)初始化配置到系統(tǒng)中的所有驅(qū)動程序。
每種類型的驅(qū)動程序(例如 UART、SPI、I2C)都由通用類型 API 支持。
在此模型中,驅(qū)動程序在驅(qū)動程序初始化期間填充指向包含指向其 API 函數(shù)的函數(shù)指針的結(jié)構(gòu)的指針。這些結(jié)構(gòu)按初始化級別順序放入 RAM 部分。
2:標(biāo)準(zhǔn)驅(qū)動程序
下面列出了所有受支持的板配置上存在的設(shè)備驅(qū)動程序。
中斷控制器 :此設(shè)備驅(qū)動程序由內(nèi)核的中斷管理子系統(tǒng)使用。
定時器 :此設(shè)備驅(qū)動程序由內(nèi)核的系統(tǒng)時鐘和硬件時鐘子系統(tǒng)使用。
串行通信 :此設(shè)備驅(qū)動程序由內(nèi)核的系統(tǒng)控制臺子系統(tǒng)使用。
Entropy: This device driver provides a source of entropy numbers for the random number generator subsystem.(此設(shè)備驅(qū)動程序為隨機數(shù)生成器子系統(tǒng)提供熵數(shù)源,對隨機值使用隨機 API 函數(shù) 。 熵函數(shù)不應(yīng)直接用作隨機數(shù)生成器源,因為某些硬件實現(xiàn)被設(shè)計為隨機數(shù)生成器的熵種子源,并且不會提供加密安全的隨機數(shù)流)
3:同步調(diào)用
Zephyr 為多個板提供了一組設(shè)備驅(qū)動程序。每個驅(qū)動程序都應(yīng)支持基于中斷的實現(xiàn),而不是輪詢,除非特定硬件不提供任何中斷。
通過特定于設(shè)備的 API 訪問的高級調(diào)用,例如 i2c.h 或 spi.h,通常用作同步。因此,這些調(diào)用應(yīng)該被阻止。
驅(qū)動API/device.h 為設(shè)備驅(qū)動程序提供了以下 API。這些 API 僅用于設(shè)備驅(qū)動程序,不應(yīng)在應(yīng)用程序中使用。
-
驅(qū)動程序
+關(guān)注
關(guān)注
19文章
872瀏覽量
50806 -
BLE技術(shù)
+關(guān)注
關(guān)注
0文章
35瀏覽量
6965 -
Zephyr
+關(guān)注
關(guān)注
1文章
62瀏覽量
6637
發(fā)布評論請先 登錄
如何在 EB Tresos 工作區(qū)中升級 RTD 驅(qū)動程序?
如何在 Yocto 中集成由 HID 設(shè)備控制的 I2C 觸摸驅(qū)動程序?
在Zephyr OS上啟用NPU的實用方案
【「Linux 設(shè)備驅(qū)動開發(fā)(第 2 版)」閱讀體驗】Linux內(nèi)核平臺抽線共和設(shè)備驅(qū)動程序
【瑞薩FPB-RA6E2試用】GPIO-Zephyr RTOS 閃爍程序及設(shè)備樹理解
【瑞薩RA × Zephyr評測】ADC、DAC和PWM
當(dāng)RA MCU遇見Zephyr系列(4)——閃燈程序的構(gòu)建與調(diào)試
為FreeRTOS增加新的設(shè)備驅(qū)動程序
全網(wǎng)最全學(xué)習(xí)Zephyr開發(fā)教程資料匯總-從基礎(chǔ)文檔視頻到上手實操示例
使用Percepio View免費跟蹤工具分析Zephyr應(yīng)用
zephyr設(shè)備驅(qū)動程序模型
評論