欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解linux 驅(qū)動編寫(sd卡驅(qū)動)

 更新時間:2018年04月12日 08:33:18   作者:feixiaoxing  
這篇文章主要介紹了詳解linux 驅(qū)動編寫(sd卡驅(qū)動),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

隨著sd卡的流行,sd卡在嵌入式設備上使用的場景也越來越多。那下面我們可以看一下,linux驅(qū)動框架上是怎么處理sd卡驅(qū)動的?

1、代碼目錄地址

drivers/mmc 

2、基本結(jié)構(gòu)

從mmc的代碼結(jié)構(gòu)可以看得出,主要分為兩個部分,其中core為協(xié)議部分,host為各個soc的適配部分

host是我們需要真正關(guān)心的代碼

3、以s3c為例,觀察makefile

obj-$(CONFIG_MMC_SDHCI_S3C) += sdhci-s3c.o 
...... 
obj-$(CONFIG_MMC_S3C)    += s3cmci.o 

4、根據(jù)s3c閱讀Kconfig,確認s3c下的sd卡還依賴哪些文件

config MMC_SDHCI_S3C 
  tristate "SDHCI support on Samsung S3C SoC" 
  depends on MMC_SDHCI && PLAT_SAMSUNG 
  help 
   This selects the Secure Digital Host Controller Interface (SDHCI) 
   often referrered to as the HSMMC block in some of the Samsung S3C 
   range of SoC. 
 
   If you have a controller with this interface, say Y or M here. 
 
   If unsure, say N. 
 
config MMC_SDHCI_S3C_DMA 
  bool "DMA support on S3C SDHCI" 
  depends on MMC_SDHCI_S3C 
  help 
   Enable DMA support on the Samsung S3C SDHCI glue. The DMA 
   has proved to be problematic if the controller encounters 
   certain errors, and thus should be treated with care. 
 
   YMMV. 
 
config MMC_S3C 
  tristate "Samsung S3C SD/MMC Card Interface support" 
  depends on ARCH_S3C24XX 
  depends on S3C24XX_DMAC 
  help 
   This selects a driver for the MCI interface found in 
     Samsung's S3C2410, S3C2412, S3C2440, S3C2442 CPUs. 
   If you have a board based on one of those and a MMC/SD 
   slot, say Y or M here. 
 
   If unsure, say N. 

5、MMC_S3C和MMC_SDHCI_S3C是主要的macro,接著了解兩個macro對應文件的數(shù)據(jù)結(jié)構(gòu)

首先看一下s3cmci.c文件,

static const struct mmc_host_ops s3cmci_ops = { 
  .request  = s3cmci_request, 
  .set_ios  = s3cmci_set_ios, 
  .get_ro   = mmc_gpio_get_ro, 
  .get_cd   = mmc_gpio_get_cd, 
  .enable_sdio_irq = s3cmci_enable_sdio_irq, 
}; 

再看一下sdhci-s3c.c文件,

static struct sdhci_ops sdhci_s3c_ops = { 
  .get_max_clock   = sdhci_s3c_get_max_clk, 
  .set_clock   = sdhci_s3c_set_clock, 
  .get_min_clock   = sdhci_s3c_get_min_clock, 
  .set_bus_width   = sdhci_set_bus_width, 
  .reset     = sdhci_reset, 
  .set_uhs_signaling = sdhci_set_uhs_signaling, 
}; 

6 、從host角度來說,有了platform driver和上面的host driver,驅(qū)動流程就算搞清楚了。

但是如果深入下去的話,還是需要好好讀一下sd協(xié)議,這里面花的時間最多。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解centos7 下雙網(wǎng)卡如何配置靜態(tài)IP

    詳解centos7 下雙網(wǎng)卡如何配置靜態(tài)IP

    這篇文章主要介紹了詳解centos7 下雙網(wǎng)卡如何配置靜態(tài)IP,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12
  • centos7切換啟動內(nèi)核與切換啟動模式的講解

    centos7切換啟動內(nèi)核與切換啟動模式的講解

    今天小編就為大家分享一篇關(guān)于centos7切換啟動內(nèi)核與切換啟動模式的講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-04-04
  • Linux的第二網(wǎng)卡的配置全過程

    Linux的第二網(wǎng)卡的配置全過程

    這篇文章主要介紹了Linux的第二網(wǎng)卡的配置全過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • CentOS 7.4下安裝Oracle 11.2.0.4數(shù)據(jù)庫的方法

    CentOS 7.4下安裝Oracle 11.2.0.4數(shù)據(jù)庫的方法

    本篇文章主要介紹了CentOS 7.4下安裝Oracle 11.2.0.4數(shù)據(jù)庫的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12
  • Debian 9系統(tǒng)下修改默認網(wǎng)卡為eth0的方法

    Debian 9系統(tǒng)下修改默認網(wǎng)卡為eth0的方法

    這篇文章主要給大家介紹了在Debian 9系統(tǒng)下修改默認網(wǎng)卡為eth0的方法,文中介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面來一起看看吧。
    2017-06-06
  • Linux 詳解 /var/log/xferlog的各個字段解析

    Linux 詳解 /var/log/xferlog的各個字段解析

    這篇文章主要介紹了Linux 詳解 /var/log/xferlog的各個字段解析的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • LINUX 防火墻 firewalld-cmd命令詳解

    LINUX 防火墻 firewalld-cmd命令詳解

    firewalld 防火墻為了簡化管理,將所有網(wǎng)絡流量分為多個區(qū)域(zone),然后根據(jù)數(shù)據(jù)包的源IP地址或傳入的網(wǎng)絡接口等條件將流量傳入相應區(qū)域,每個區(qū)域都定義了自己打開或者關(guān)閉的端口和服務列表,這篇文章主要介紹了LINUX 防火墻 firewalld-cmd命令詳解,需要的朋友可以參考下
    2024-01-01
  • linux環(huán)境kafka安裝及配置方式

    linux環(huán)境kafka安裝及配置方式

    在Linux環(huán)境中安裝Kafka需要下載對應版本的資源包,并安裝配置Zookeeper,此教程以kafka_2.12-2.5.1版本和apache-zookeeper-3.6.1為例,詳細介紹了單體及集群環(huán)境下的安裝步驟、配置修改、啟動驗證以及Kerberos認證配置,同時提供了kafka常用命令和注意事項,適合初學者參考
    2024-10-10
  • VMware下CentOS 6.7安裝圖文教程

    VMware下CentOS 6.7安裝圖文教程

    這篇文章主要為大家詳細介紹了VMware下CentOS 6.7安裝圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • linux中$符號的基礎(chǔ)用法總結(jié)

    linux中$符號的基礎(chǔ)用法總結(jié)

    這篇文章主要給大家介紹了關(guān)于linux中$符號的基礎(chǔ)用法,文中通過示例代碼介紹的非常詳細,對大家學習或者使用linux系統(tǒng)具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-11-11

最新評論