女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

SPI控制器驅動層功能介紹

麥辣雞腿堡 ? 來源:嵌入式Linux系統開發 ? 作者:嵌入式Linux系統開 ? 2023-07-25 10:58 ? 次閱讀

SPI 控制器驅動層

SPI 控制器驅動層負責最底層的數據收發,主要有以下功能:

  1. 申請必要的硬件資源,比如中斷、DMA 通道、DMA 內存緩沖區等等
  2. 配置 SPI 控制器的工作模式和參數,使之可以和相應的設備進行正確的數據交換
  3. 向通用接口層提供接口,使得上層的協議驅動可以通過通用接口層訪問控制器驅動
  4. 配合通用接口層,完成數據消息隊列的排隊和處理,直到消息隊列變空為止

SPI 主機驅動就是 SOC 的 SPI 控制器驅動。Linux 內核使用 spi_master/spi_controller 表示 SPI 主機驅動,spi_master 是個結構體,定義在 include/linux/spi/spi.h 文件中。

SPI 主機驅動的核心就是申請 spi_master,然后初始化 spi_master,最后向 Linux 內核注冊 spi_master。

API 如下:

spi_alloc_master 函數:申請 spi_master。
spi_master_put 函數:釋放 spi_master。

spi_register_master函數:注冊 spi_master。
spi_unregister_master 函數:注銷 spi_master。

spi_bitbang_start函數:注冊 spi_master。
spi_bitbang_stop 函數:注銷 spi_master。

SPI 主機驅動的加載

以 MTK 為例,源碼來自于小米開源項目

https://github.com/MiCode/Xiaomi_Kernel_OpenSource

小米每做一個項目,都會把 kernel 部分開源,因為需要遵循 Linux GPL 開源協議。

【設備】聲明在設備樹中

kernel-4.14/arch/arm64/boot/dts/mediatek/mt6885.dts

圖片

【驅動】

kernel-4.14/drivers/spi/spi-mt65xx.c

圖片

圖片

匹配以后,probe 函數執行,申請 spi_master,初始化 spi_master,最后向 Linux 內核注冊 spi_master。

圖片

圖片

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 控制器
    +關注

    關注

    114

    文章

    16959

    瀏覽量

    182858
  • 驅動
    +關注

    關注

    12

    文章

    1898

    瀏覽量

    86511
  • SPI
    SPI
    +關注

    關注

    17

    文章

    1775

    瀏覽量

    94653
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    深度解析Linux SPI總線和設備驅動架構

    SPI控制器不用關心設備的具體功能,它只負責把上層協議驅動準備好的數據按SPI總線的時序要求發送給SPI
    的頭像 發表于 02-07 08:16 ?8302次閱讀
    深度解析Linux <b class='flag-5'>SPI</b>總線和設備<b class='flag-5'>驅動</b>架構

    步進電機驅動控制器介紹

    01步進電機驅動控制器步進電機驅動器作為實驗裝置可控的部分,能夠提供自動測量的方法。前面已經有兩款步進電機驅動器:SH-20403AXIS12雙軸藍牙移動框架基于ESP8266WiFi
    發表于 08-31 08:32

    控制器功能

    本視頻主要介紹控制器功能,分別有數據緩沖、差錯控制、數據交換、狀態說明、接收和識別命令、地址識別,其次介紹了DMA
    的頭像 發表于 11-24 10:38 ?7.9w次閱讀

    關于SPI繼電器控制驅動器設計要領的分析和應用

    通過上一篇SPI繼電器控制驅動器原理、特性及其模式的講解,我們對SPI繼電器控制驅動器有了初步的
    的頭像 發表于 09-23 10:02 ?3238次閱讀
    關于<b class='flag-5'>SPI</b>繼電器<b class='flag-5'>控制</b><b class='flag-5'>驅動器</b>設計要領的分析和應用

    關于SPI繼電器驅動控制器的現狀和發展應用分析

    作為一個以SPI通訊為主要控制方式的驅動器,如果微控制器驅動器之間的SPI通信損壞,意味著發送
    的頭像 發表于 09-23 10:07 ?4105次閱讀
    關于<b class='flag-5'>SPI</b>繼電器<b class='flag-5'>驅動</b><b class='flag-5'>控制器</b>的現狀和發展應用分析

    基于SPI的EEPROM控制器設計與實現

    應用實例描述了EEPROM讀寫操作的流程和時序。通過編寫ARM處理驅動程序,對控制器進行操作,實現了對EEPROM的讀與寫的具體過程,同時驗證了SP1總線接口設計的正確性。關鍵詞:SPI
    發表于 08-04 14:59 ?20次下載
    基于<b class='flag-5'>SPI</b>的EEPROM<b class='flag-5'>控制器</b>設計與實現

    linux spi應用驅動以及回環測試代碼

    linux spi應用驅動以及回環測試代碼
    發表于 10-22 15:47 ?2次下載

    STM32微控制器上的Octo-SPI接口

    STM32微控制器上的Octo-SPI接口
    發表于 11-21 08:11 ?4次下載
    STM32微<b class='flag-5'>控制器</b>上的Octo-<b class='flag-5'>SPI</b>接口

    車身控制器的各個功能規范介紹

    之前有段時間寫過幾篇幾個車載控制器功能介紹,其中有一篇就是車身控制器功能介紹(回看戳:談談車
    的頭像 發表于 01-15 09:20 ?3601次閱讀

    MAX6951/MAX6950 LED顯示驅動器與MAXQ2000微控制器的通信

    MAX6951/MAX6950 SPI LED驅動器簡單易用的共陰極顯示驅動器,通過SPI串行接口連接微
    的頭像 發表于 06-16 15:34 ?1212次閱讀
    MAX6951/MAX6950 LED顯示<b class='flag-5'>驅動器</b>與MAXQ2000微<b class='flag-5'>控制器</b>的通信

    基于FPGA的SPI Flash控制器的設計方案

    核能夠進行移植和復用,作為SOC芯片的功能模塊。SPI Flash控制器采用VHDL語言進行編寫,在Mode
    的頭像 發表于 07-15 16:55 ?2572次閱讀
    基于FPGA的<b class='flag-5'>SPI</b> Flash<b class='flag-5'>控制器</b>的設計方案

    SPI驅動源文件目錄在哪

    SPI 的主要數據結構和函數 spi 控制器驅動,IC 廠商提供,不同廠商命名不同 kernel - 4 . 14 /drivers/spi
    的頭像 發表于 07-25 10:49 ?1060次閱讀
    <b class='flag-5'>SPI</b><b class='flag-5'>驅動</b>源文件目錄在哪

    SPI通用接口介紹

    SPI 通用接口 SPI 通用接口把具體的 SPI 設備的協議驅動
    的頭像 發表于 07-25 10:52 ?989次閱讀

    利用SPI控制器控制nRF24L01射頻模塊的驅動程序設計

    電子發燒友網站提供《利用SPI控制器控制nRF24L01射頻模塊的驅動程序設計.pdf》資料免費下載
    發表于 11-06 16:34 ?1次下載
    利用<b class='flag-5'>SPI</b><b class='flag-5'>控制器</b><b class='flag-5'>控制</b>nRF24L01射頻模塊的<b class='flag-5'>驅動</b>程序設計

    詳解Zynq中的SPI控制器

    本文簡單介紹Zynq中的SPI控制器。本文將“master”稱為“主機”;將“slave”稱為“從機”;將“slave slect”從機選擇簡稱為SS。
    的頭像 發表于 03-31 10:35 ?378次閱讀
    詳解Zynq中的<b class='flag-5'>SPI</b><b class='flag-5'>控制器</b>