最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

隨著sd卡的流行,sd卡在嵌入式設(shè)備上使用的場景也越來越多。那下面我們可以看一下,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對應(yīng)文件的數(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)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • LINUX入門級常用命令20條整理

    LINUX入門級常用命令20條整理

    下面總結(jié)LINUX初學(xué)者常用的20條命令,不過沒有加例子,等有時間進行補充:
    2008-08-08
  • Ubuntu環(huán)境源碼編譯安裝xdebug的方法

    Ubuntu環(huán)境源碼編譯安裝xdebug的方法

    這篇文章主要介紹了Ubuntu環(huán)境源碼編譯安裝xdebug的方法,較為詳細的分析了Ubuntu環(huán)境xdebug編譯安裝的具體步驟、命令與相關(guān)操作注意事項,需要的朋友可以參考下
    2019-08-08
  • VScode Remote SSH通過遠程編輯與調(diào)試代碼

    VScode Remote SSH通過遠程編輯與調(diào)試代碼

    這篇文章主要介紹了VScode Remote SSH通過遠程編輯與調(diào)試代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • Jexus開機自動啟動配置方法

    Jexus開機自動啟動配置方法

    這篇文章主要為大家詳細介紹了Jexus開機自動啟動的配置方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • centos7下搭建ZooKeeper3.4中間件常用命令小結(jié)

    centos7下搭建ZooKeeper3.4中間件常用命令小結(jié)

    Zookeeper 作為一個分布式的服務(wù)框架,主要用來解決分布式集群中應(yīng)用系統(tǒng)的一致性問題,它能提供基于類似于文件系統(tǒng)的目錄節(jié)點樹方式的數(shù)據(jù)存儲。這篇文章主要介紹了centos7下搭建ZooKeeper3.4中間件常用命令小結(jié),需要的朋友可以參考下
    2019-07-07
  • 怎么修改Ubuntu的源列表(source list)詳解

    怎么修改Ubuntu的源列表(source list)詳解

    這篇文章主要給大家介紹了關(guān)于如何修改Ubuntu的源列表(source list)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Linux中hostname修改方法詳解

    Linux中hostname修改方法詳解

    這篇文章主要為大家詳細介紹了Linux中hostname的修改方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • 讓DOSBox啟動后自動執(zhí)行命令的方法講解

    讓DOSBox啟動后自動執(zhí)行命令的方法講解

    今天小編就為大家分享一篇關(guān)于讓DOSBox啟動后自動執(zhí)行命令的方法講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • 在linux服務(wù)器下使用版本控制軟件SVN的方法

    在linux服務(wù)器下使用版本控制軟件SVN的方法

    下面小編就為大家分享一篇在linux服務(wù)器下使用版本控制軟件SVN的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • Linux基礎(chǔ)學(xué)習(xí)之文件查找find的常見用法

    Linux基礎(chǔ)學(xué)習(xí)之文件查找find的常見用法

    這篇文章主要給大家介紹了關(guān)于Linux基礎(chǔ)學(xué)習(xí)之文件查找find的常見用法的相關(guān)資料,例如:根據(jù)文件名查找、根據(jù)正則表達式查找、根據(jù)路徑查找、根據(jù)文件類型查找以及根據(jù)文件大小等等,文中給出了詳細的示例代碼,需要的朋友可以參考借鑒。
    2017-12-12

最新評論

诏安县| 景谷| 湾仔区| 将乐县| 巫山县| 旺苍县| 商都县| 赤城县| 东乡族自治县| 阿荣旗| 临城县| 清镇市| 娄底市| 应城市| 新邵县| 溧水县| 江达县| 江山市| 浪卡子县| 淅川县| 衡阳市| 翁源县| 阳泉市| 广汉市| 托克逊县| 麟游县| 射洪县| 林周县| 临汾市| 大冶市| 海口市| 盐山县| 祁门县| 九龙坡区| 铁岭县| 定远县| 南开区| 大丰市| 惠安县| 泰来县| 东丰县|