在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

Linux中什么是 Regmap

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

Linux 下大部分設備的驅動開發都是操作其內部寄存器,比如 I2C/SPI 設備的本質都是一樣的,通過 I2C/SPI 接口讀寫芯片內部寄存器。芯片內部寄存器也是同樣的道理,比如 I.MX6ULL的 PWM、定時器等外設初始化,最終都是要落到寄存器的設置上。

Linux 下使用 i2c_transfer 來讀寫 I2C 設備中的寄存器,SPI 接口的話使用 spi_write/spi_read等。I2C/SPI 芯片又非常的多,因此 Linux 內核里面就會充斥了大量的 i2c_transfer 這類的冗余代碼,再者,代碼的復用性也會降低。比如 icm20608 這個芯片既支持 I2C 接口,也支持 SPI 接口。假設我們在產品設計階段一開始將 icm20608 設計為 SPI 接口,但是后面發現 SPI 接口不夠用,或者 SOC 的引腳不夠用,我們需要將 icm20608 改為 I2C 接口。這個時候 icm20608 的驅動就要大改,我們需要將 SPI 接口函數換為 I2C 的,工作量比較大。

基于代碼復用的原則,Linux 內核引入了 regmap 模型,regmap 將寄存器訪問的共同邏輯抽象出來,驅動開發人員不需要再去糾結使用 SPI 或者 I2C 接口 API 函數,統一使用 regmapAPI 函數。這樣的好處就是統一使用 regmap,降低了代碼冗余,提高了驅動的可以移植性。regmap 模型的重點在于:

通過 regmap 模型提供的統一接口函數來訪問器件的寄存器,SOC 內部的寄存器也可以使用 regmap 接口函數來訪問。

regmap 是 Linux 內核為了減少慢速 I/O 在驅動上的冗余開銷,提供了一種通用的接口來操作硬件寄存器。另外,regmap 在驅動和硬件之間添加了 cache,降低了低速 I/O 的操作次數,提高了訪問效率,缺點是實時性會降低。

什么情況下會使用 regmap:

①、硬件寄存器操作,比如選用通過 I2C/SPI 接口來讀寫設備的內部寄存器,或者需要讀寫 SOC 內部的硬件寄存器。

②、提高代碼復用性和驅動一致性,簡化驅動開發過程。

③、減少底層 I/O 操作次數,提高訪問效率。

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

    關注

    87

    文章

    11427

    瀏覽量

    212413
  • 模型
    +關注

    關注

    1

    文章

    3470

    瀏覽量

    49857
  • 系統
    +關注

    關注

    1

    文章

    1026

    瀏覽量

    21666
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    飛凌嵌入式ElfBoard ELF 1板卡-Regmap子系統之Regmap簡介

    Regmap(Register Map)API 是一個在 Linux 內核中提供對寄存器映射的抽象訪問的接口。它旨在簡化對寄存器和寄存器集合的訪問和配置,并提供一種統一的方式來管理硬件寄存器的讀取
    發表于 04-16 11:03

    嵌入式學習-飛凌嵌入式ElfBoard ELF 1板卡-Regmap子系統之Regmap框架結構

    Regmap 框架的主要分為物理總線、Regmap核心、Regmap API三部分組成。Regmap物理總線(Regmap Bus):
    發表于 04-17 13:59

    #硬聲創作季 #LinuxLinux-4.35.1 Regmap驅動框架詳解-1

    Linux
    水管工
    發布于 :2022年11月10日 22:29:28

    #硬聲創作季 #LinuxLinux-4.35.1 Regmap驅動框架詳解-2

    Linux
    水管工
    發布于 :2022年11月10日 22:29:54

    「正點原子Linux連載」第六十章Linux RTC驅動實驗

    RTC硬件原理部分我們已經在裸機篇的第二十五章進行了詳細的講解,這里就不再廢話了。Linux內核將RTC設備抽象為rtc_device結構體,因此RTC設備驅動就是申請并初始化rtc_device
    發表于 03-18 10:20

    「正點原子Linux連載」第六十章Linux RTC驅動實驗

    RTC硬件原理部分我們已經在裸機篇的第二十五章進行了詳細的講解,這里就不再廢話了。Linux內核將RTC設備抽象為rtc_device結構體,因此RTC設備驅動就是申請并初始化rtc_device
    發表于 03-23 09:52

    以rk808驅動為例子講解i2c regmap方式讀寫

    I2C讀寫時序regmap i2cIntroRegmap主要目的是減少慢速I/O驅動上的重復邏輯,提供一種通用的接口來操作底層硬件上的寄存器.Regmap除了能做到統一的I/O接口,還可以在驅動
    發表于 08-11 16:43

    SSM2529 spk異常發熱怎么解決?

    _ read reg= 0x5, val= 0x40 , regmap_ reg= 0x5, val= 0x40 regmap_ read reg= 0x6, val= 0x40
    發表于 11-28 06:52

    Embeded linux的MMC驅動

    Embeded linux的MMC驅動
    發表于 05-14 16:08 ?1267次閱讀
    Embeded <b class='flag-5'>linux</b><b class='flag-5'>中</b>的MMC驅動

    linux復制文件的方法

     linux如何復制文件?
    發表于 06-03 09:17 ?2317次閱讀
    <b class='flag-5'>linux</b><b class='flag-5'>中</b>復制文件的方法

    IoT Linux 選擇

    在物聯網的設備設計,從低成本和低功耗的角度看,Android肯定比不過嵌入式Linux。但在選擇用于部署Linux的發行版本時,卻一直飽受困擾。
    的頭像 發表于 12-25 18:24 ?680次閱讀

    linux實際使用的技巧

    本文主要介紹如何使用 Github 上的開源項目 advcpmv 來實現 Linux 的 「cp」 和 「mv」 命令的進度條。
    的頭像 發表于 09-26 10:39 ?850次閱讀

    如何在Linux查找斷開的符號鏈接

    在之前的文章,我們解釋了什么是 Linux 的符號鏈接。符號鏈接(Symbolic links 或 symlinks)或軟鏈接(soft links)用于在 Linux
    的頭像 發表于 02-06 18:23 ?1837次閱讀

    Linux Regmap 驅動框架

    ,regmap 向驅動編寫人員提供的 API 接口,驅動編寫人員使用這些API 接口來操作具體的芯片設備,也是驅動編寫人員重點要掌握的。 2、regmap 結構體 Linux 內 核 將 regm
    的頭像 發表于 07-06 17:29 ?1319次閱讀
    <b class='flag-5'>Linux</b> <b class='flag-5'>Regmap</b> 驅動框架

    Linux Regmap 操作函數

    Regmap 操作函數 1、Regmap 申請與初始化 regmap 支持多種物理總線,比如 I2C 和 SPI,我們需要根據所使用的接口來選擇合適的 regmap 初始化函數。
    的頭像 發表于 07-06 17:31 ?3402次閱讀
    主站蜘蛛池模板: wwwxx在线观看| 精品毛片视频 | 欧美极品第一页 | 亚洲欧美圣爱天天综合 | 亚洲精品中文字幕乱码三区一二 | 精品福利视频网站 | 国内真实下药迷j在线观看 国内自拍 亚洲系列 欧美系列 | 天天碰夜夜 | 5151四虎永久在线精品免费 | 亚洲高清免费在线观看 | 综合色婷婷 | 宅男午夜视频在线观看 | 国产性老妇女做爰在线 | h在线观看视频免费网站 | 免费看黄的视频软件 | 久久夜色精品国产亚洲噜噜 | 欧美性狂猛xxxxxbbbbb | 俺也去第四色 | 免费高清特黄a 大片 | 奇米一区二区三区四区久久 | 中文一区在线观看 | 午夜免费网址 | 国模网站 | 国产亚洲网站 | 在线最新版www资源网 | 午夜操操| tom影院亚洲国产日本一区 | 最新天堂网 | 综合免费一区二区三区 | 四虎院影永久在线观看 | 拍拍拍无挡视频免费全程1000 | 狠狠色噜噜狠狠狠狠米奇777 | 伊人久久综合成人网小说 | 午夜看黄网站免费 | 中文字幕一区二区三区在线不卡 | 天天操天天操天天射 | 91大神精品全国在线观看 | 亚洲男人a天堂在线2184 | 国产午夜精品久久久久九九 | yy6080三级理论韩国日本 | 1024手机在线看 |