基於S3C2410的SD卡linux驅動工作原理(二)

前幾天寫了篇“基於S3C2410的SD卡linux驅動工作原理(一)”,說了下脫離操作系統如何在S3C2410上實現SD卡的讀寫。瞭解了脫離操作 系統的工作原理後,現在可以思考linux是如何管理管理SD卡的了。Linux中SD驅動可以分爲3層:塊設備層(mmc_block.c ,mmc_sysfs.c,mmc_queue.c)、mmc協議層(mmc.c)、sd驅動層(s3c2410_sdi.c)。

  下面從以下幾個方面理解驅動:

  1、s3c2410_sdi.c代碼初始化過程;

  2、SD卡塊設備註冊過程;

  3、request及數據傳輸的實現。

  下面介紹的過程參考的代碼是我們華清遠見培訓中心在教學中使用的一套代碼,內核版本是2.6.8,其它版本過程類似。

  一、s3c2410_sdi.c代碼初始化過程

基於S3C2410的SD卡linux驅動工作原理(二)

  二、SD卡塊設備註冊過程

基於S3C2410的SD卡linux驅動工作原理(二)

  三、request及數據傳輸的實現

基於S3C2410的SD卡linux驅動工作原理(二)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章