天天看點

基于S3C2410的SD卡linux驅動工作原理(一)

 我在講嵌入式Linux驅動開發班的時候,發現不少學員對SD卡驅動這塊比較感興趣,課下來找我探讨。而在很多技術論壇,也有不少人問這方面的問題,是以就想寫一下這方面的内容,

希望對大家的學習能有所幫助。想了解SD卡的工作原理,首先需要了解的就是SD卡協定了,這個在網上可以輕松的下載下傳到。在了解協定後,就可以看看下面的一些開發思路了。

  首先看下脫離作業系統如何在S3C2410上實作SD卡的讀寫。過程可以分為3個大的步驟:初始化sd卡、寫sd卡、讀sd卡;下面的過程是我通過realview-MDK環境測試過的。

  一、初始化sd卡

基于S3C2410的SD卡linux驅動工作原理(一)

 

  二、寫sd卡

  寫sd卡可以分為3種方式:POLL、中斷、DMA

  (1) POLL寫

基于S3C2410的SD卡linux驅動工作原理(一)

  (2)中斷寫

基于S3C2410的SD卡linux驅動工作原理(一)

 

  (3)DMA寫

基于S3C2410的SD卡linux驅動工作原理(一)

  三、讀sd卡

  讀sd卡也可分為3中方式:POLL、中斷、DMA

  (1) POLL讀

基于S3C2410的SD卡linux驅動工作原理(一)

  (2)中斷讀

基于S3C2410的SD卡linux驅動工作原理(一)

  (3) DMA讀

基于S3C2410的SD卡linux驅動工作原理(一)

繼續閱讀