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

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

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

3天內不再提示

Linux MMC子系統-eMMC常用命令說明(1)

嵌入式那些事 ? 來源:嵌入式那些事 ? 2024-01-18 13:46 ? 次閱讀

概述

本文對eMMC 5.1協議定義的命令做一個簡單的說明,以便在使用具體的命令時有個參考。

eMMC 5.1協議定義的命令可以分為11類,具體分類描述如下:

? Basic commands (class 0 and class 1),基本命令;

? Block-oriented read commands (class 2),面向塊的讀命令;

? Class 3 commands,Class 3命令;

? Block-oriented write commands (class 4),面向塊的寫命令;

? Block-oriented write protection commands (class 6),面向塊的寫保護命令;

? Erase commands (class 5),擦除命令;

? I/O mode commands (class 9),I/O模式命令;

? Lock Device commands (class 7),設備鎖定命令;

? Application-specific commands (class 8),特定應用命令;

? Security Protocols (class 10),安全協議命令;

? Command Queue (Class 11),命令隊列命令;

本文主要對常用的6類命令進行說明,其他不常用的命令遇到時查看手冊即可:

? Basic commands (class 0 and class 1),基本命令;

? Block-oriented read commands (class 2),面向塊的讀命令;

? Block-oriented write commands (class 4),面向塊的寫命令;

? Erase commands (class 5),擦除命令;

? Lock Device commands (class 7),設備鎖定命令;

? Application-specific commands (class 8),特定應用命令;

基本命令(class 0 and class 1)

CMD0

CMD0的命令類型,參數,響應類型,命令縮寫和描述如下表所示:

Type Argument Resp Abbreviation Command Description
bc [31:0] 00000000 None GO_IDLE_STATE Resets the Device to idle state
bc [31:0] F0F0F0F0 None GO_PRE_IDLE_STATE Resets the Device to pre-idle state
--- [31:0]FFFFFFFA None BOOT_INITIATION Initiate alternative boot operation

CMD0帶參數0x00000000時,命令的類型為bc,此時CMD0的命令縮寫為GO_IDLE_STATE,命令無響應,命令功能為復位設備,讓設備進入idle狀態。

CMD0帶參數0xF0F0F0F0時,命令的類型為bc,此時CMD0的命令縮寫為GO_PRE_IDLE_STATE,命令無響應,命令功能為復位設備,讓設備進入pre-idle狀態。

CMD0帶參數0xFFFFFFFA時,命令無類型,此時CMD0的命令縮寫為BOOT_INITIATION,命令無響應,命令功能為讓設備進入boot operation模式。

考慮到CMD0的兼容性,如果eMMC設備收到CMD0命令,并且參數是除了0xFFFFFFFA或者0xF0F0F0F0以外的其他值,eMMC設備在除了Inactive狀態的其他任何狀態下,eMMC設備會將CMD0命令視為設備復位命令,并讓eMMC設備進入idle狀態。

CMD1

CMD1的命令類型,參數,響應類型,命令縮寫和描述如下表所示:

Type Argument Resp Abbreviation Command Description
bcr [31:0] OCR with-out busy R3 SEND_OP_COND Asks Device, in idle state, to send its Operating
Conditions Register contents in the response on the
CMD line.

CMD1的參數可以根據OCR寄存器的位定義來填寫,命令的類型為bcr,此時CMD1的命令縮寫為SEND_OP_COND,命令響應為R3,命令功能為在idle狀態下要求eMMC設備通過R3響應返回它的OCR寄存器的值。

如果eMMC設備不支持boot operation模式,或者eMMC設備僅僅支持eMMC 4.2或者更早的版本,或者BOOT_PARTITION_ENABLE位被清除,在power-on之后eMMC設備會自動進入idle狀態。處于idle狀態的eMMC設備,除非收到CMD1,否則會忽略所有的總線事務。

CMD1是一個特殊的同步命令,用來協商操作電壓范圍以及查看設備是否仍處在power-up序列。CMD1的響應除了包含eMMC設備的操作電壓profile,還包含一個busy標志,用于指示eMMC設備仍處于power-up過程,并且沒有準備好去identification。當R3中的busy位為0時,告訴Host當前的eMMC設備并沒有準備好,Host需要重復發送CMD1和接收R3,直到eMMC設備準備好。當Host發送CMD1給eMMC設備,并且CMD1的參數帶有有效電壓范圍,那么eMMC設備必須在1秒以內完成它的初始化。

如果Host發送的CMD1的參數為0,那么就表示Host在詢問eMMC卡的電壓范圍和busy狀態。

CMD2

CMD2的命令類型,參數,響應類型,命令縮寫和描述如下表所示:

Type Argument Resp Abbreviation Command Description
bcr [31:0] stuff bits R2 ALL_SEND_CID Asks Device to send its CID number on the CMD line

CMD2的參數[31:0]位域可以是任意值(默認填寫0),默認將參數設置為0即可,命令的類型為bcr,CMD2的命令縮寫為ALL_SEND_CID,命令響應為R2,命令功能為獲取eMMC設備的CID寄存器內容,CID寄存器內容通過R2返回給Host。

CMD3

CMD3的命令類型,參數,響應類型,命令縮寫和描述如下表所示:

Type Argument Resp Abbreviation Command Description
ac [31:16] RCA
[15:0] stuff bits
R1 SET_RELATIVE_ADDR Assigns relative address to the Device

CMD3的參數[31:16]位域填寫設置給eMMC設備的RCA,[15:0]位域可以是任意值(默認填寫0),命令的類型為ac,CMD3的命令縮寫為SET_RELATIVE_ADDR,命令響應為R1,命令功能為給eMMC設備分配RCA。

一旦eMMC設備接收到CMD3,并且修改自身的RCA寄存器內容值為Host設置的RCA值之后,eMMC的設備狀態將從Identification狀態切換為Stand-by狀態,并且eMMC設備不會再響應任何identification。此外,eMMC設備將把它的輸出驅動方式從開漏輸出(open-drain )切換為推挽輸出(open-drain )。

CMD4

CMD4的命令類型,參數,響應類型,命令縮寫和描述如下表所示:

Type Argument Resp Abbreviation Command Description
bc [31:16] DSR
[15:0] stuff bits
None SET_DSR Programs the DSR of the Device

CMD4的參數[31:16]位域填寫設置給eMMC設備的DSR,[15:0]位域可以是任意值(默認填寫0),命令的類型為bc,CMD4的命令縮寫為SET_DSR,命令無響應,命令功能為設置eMMC設備的DSR(driver stage register)寄存器。

CMD5

CMD5的命令類型,參數,響應類型,命令縮寫和描述如下表所示:

Type Argument Resp Abbreviation Command Description
ac [31:16] RCA
[15]Sleep/Awake
[14:0] stuff bits
R1b SLEEP_AWAKE Toggles the Device between Sleep state and Standby
state.

CMD5的參數[31:16]位域填寫RCA,[15]位的值表示該命令是Sleep還是Awake命令,[14:0]位域可以是任意值(默認填寫0),命令的類型為ac,CMD5的命令縮寫為SLEEP_AWAKE,命令響應為R1b,命令功能為將eMMC設備的狀態設置為Sleep狀態或者Awake狀態。

eMMC設備在Sleep狀態下的電源消耗是最小的,在Sleep狀態下eMMC設備僅僅響應復位命令(參數為0x00000000或者0xF0F0F0F0的CMD0或者硬件復位)和SLEEP_AWAKE命令(CMD5),所有其他命令都會被eMMC設備忽略。

CMD5的參數[15]位為1時表示該命令為Sleep命令。

CMD5的參數[15]位為0時表示該命令為Awake命令。

CMD6

CMD6的命令類型,參數,響應類型,命令縮寫和描述如下表所示:

Type Argument Resp Abbreviation Command Description
ac [31:26] Set to 0
[25:24] Access
[23:16] Index
[15:8] Value
[7:3] Set to 0
[2:0] Cmd Set
R1b SWITCH Switches the mode of operation of the selected Device
or modifies the EXT_CSD registers.

CMD6的參數[31:26]位域填寫0,[25:24]位域設置訪問模式,[23:16]位域填寫EXT_CSD寄存器的索引,[15:8]位域填寫Value值,[7:3]位域填寫0,[2:0]位域填寫要切換的命令集,命令的類型為ac,CMD6的命令縮寫為SWITCH,命令響應為R1b,命令功能為切換eMMC設備的操作模式或者修改eMMC設備的EXT_CSD寄存器。

訪問模式及其說明如下圖所示:

ab5f8d58-b5b9-11ee-8b88-92fbcf53809c.png

Snipaste_2023-10-19_20-16-57

索引域([23:16]位域 Index)的取值范圍為0-255,但是僅僅0-191范圍內的值是有效的。如果索引域的值在192-255范圍內,那么eMMC設備將不會執行任何的修改操作,并且SWITCH_ERROR狀態位將被設置。

CMD7

CMD7的命令類型,參數,響應類型,命令縮寫和描述如下表所示:

Type Argument Resp Abbreviation Command Description
ac [31:16] RCA
[15:0] stuff bits
R1/R1b SELECT/DESELECT_CARD Command toggles a device between the standby and
transfer states or between the programming and
disconnect states.
NOTE In both cases the Device is selected by its own
relative address and gets deselected by any other address;
address 0 deselects the Device.

CMD7的參數[31:16]位域填寫RCA,[15:0]位域可以是任意值(默認填寫0),命令的類型為ac,CMD7的命令縮寫為SELECT/DESELECT_CARD,命令響應為R1/R1b,命令功能為切換eMMC設備的狀態,在standby狀態和transfer狀態之間切換或者在programming狀態和disconnect狀態之間切換。

當eMMC設備處于Stand-by狀態時,CMD7(命令參數中RCA域為設備的RCA)能夠將eMMC設備狀態切換到Transfer狀態。當eMMC設備處于Transfer狀態并且eMMC設備之前被選中時,CMD7(命令參數中RCA域為除設備RCA外的其他值)能夠將eMMC設備狀態切換到Stand-by狀態并且釋放eMMC設備與Host之間的連接狀態。當Host發送CMD7(命令參數中RCA域為0x0000)給eMMC設備時,eMMC設備將切換到Stand-by狀態。當eMMC設備處于Transfer狀態時,如果接收到了來自Host的CMD7(命令參數中RCA域為設備的RCA),那么eMMC設備將忽略該命令,或許該命令會被視為非法命令。

當eMMC設備處于Disconnect狀態時,CMD7(命令參數中RCA域為設備的RCA)能夠將eMMC設備狀態切換到Programming狀態。當eMMC設備處于Programming狀態并且eMMC設備之前被選中時,CMD7(命令參數中RCA域為除設備RCA外的其他值)能夠將eMMC設備狀態切換到Disconnect狀態并且釋放eMMC設備與Host之間的連接狀態。當eMMC設備處于Programming狀態時,如果接收到了來自Host的CMD7(命令參數中RCA域為設備的RCA),那么eMMC設備將忽略該命令,或許該命令會被視為非法命令。

R1 while selecting from Stand-By State to Transfer State;

R1b while selecting from Disconnected State to Programming State.

CMD8

CMD8的命令類型,參數,響應類型,命令縮寫和描述如下表所示:

Type Argument Resp Abbreviation Command Description
adtc [31:0] stuff bits R1 SEND_EXT_CSD Device sends its EXT_CSD register as a block of data.

CMD8的參數[31:0]位域可以是任意值(默認填寫0),命令的類型為adtc,CMD8的命令縮寫為SEND_EXT_CSD,命令響應為R1,命令功能為請求eMMC設備通過數據塊的方式將它的EXT_CSD寄存器內容發送給Host。

CMD9

CMD9的命令類型,參數,響應類型,命令縮寫和描述如下表所示:

Type Argument Resp Abbreviation Command Description
ac [31:16] RCA
[15:0] stuff bits
R2 SEND_CSD Addressed Device sends its Device-specific data
(CSD) on the CMD line.

CMD9的參數[31:16]位域填寫RCA,[15:0]位域可以是任意值(默認填寫0),命令的類型為ac,CMD9的命令縮寫為SEND_CSD,命令響應為R2,命令功能為獲取eMMC設備的CSD寄存器內容,CSD寄存器內容通過R2返回給Host。

CMD10

CMD10的命令類型,參數,響應類型,命令縮寫和描述如下表所示:

Type Argument Resp Abbreviation Command Description
ac [31:16] RCA
[15:0] stuff bits
R2 SEND_CID Addressed Device sends its Device identification
(CID) on CMD the line.

CMD10的參數[31:16]位域填寫RCA,[15:0]位域可以是任意值(默認填寫0),命令的類型為ac,CMD10的命令縮寫為SEND_CID,命令響應為R2,命令功能為獲取eMMC設備的CID寄存器內容,CID寄存器內容通過R2返回給Host。

CMD11

該命令已被廢棄。

CMD12

CMD12的命令類型,參數,響應類型,命令縮寫和描述如下表所示:

Type Argument Resp Abbreviation Command Description
ac [31:16] RCA
[15:1] stuff bits
[0] HPI
R1/R1b STOP_TRANSMISSION Forces the Device to stop transmission. If HPI flag is
set the device shall interrupt its internal operations in a
well-defined timing.

CMD12的參數[31:16]位域填寫RCA,[15:1]位域可以是任意值(默認填寫0),[0]位填寫HPI,命令的類型為ac,CMD12的命令縮寫為STOP_TRANSMISSION,命令響應為R1/R1b,命令功能為強制eMMC設備停止傳輸,如果HPI標志被置位,那么eMMC設備會在一個合適的時機打斷它的內部操作。

在任意時刻,所有的數據讀命令都可以被STOP_TRANSMISSION命令(CMD12)終止。數據傳輸將會結束并且eMMC設備將返回到Transfer狀態。讀命令包括:READ_SINGLE_BLOCK(CMD17),READ_MULTIPLE_BLOCK(CMD18),SEND_TUNING_BLOCK(CMD21),SEND_WRITE_PROT(CMD30)。

在任意時刻,所有的數據寫命令都可以被STOP_TRANSMISSION命令(CMD12)終止。停止寫命令的STOP_TRANSMISSION命令(CMD12)要在CMD7取消選擇設備之前發送。寫命令包括:WRITE_BLOCK(CMD24),WRITE_MULTIPLE_BLOCK(CMD25),PROGRAM_CID(CMD26),PROGRAM_CSD(CMD27)。

RCA in CMD12 is used only if HPI bit is set. The argument does not imply any RCA check on the device side.

R1 for read cases and R1b for write cases.

CMD13

CMD13的命令類型,參數,響應類型,命令縮寫和描述如下表所示:

Type Argument Resp Abbreviation Command Description
ac [31:16] RCA
[15] SQS
[14:1] stuff bits
[0] HPI
R1 SEND_STATUS In case SQS bit = 0: Addressed Device sends its status
register. If HPI flag is set the device shall interrupt its
internal operations in a well-defined timing.
In case SQS bit = 1: indicate that this is a QSR query.
In response device shall send the QSR (Queue Status
Register). In this case HPI must be set to ‘0’.

CMD13的參數[31:16]位域填寫RCA,[15]位填寫SQS,[14:1]位域可以是任意值(默認填寫0),[0]位填寫HPI,命令的類型為ac,CMD13的命令縮寫為SEND_STATUS,命令響應為R1,命令功能為查詢eMMC設備的狀態或者讀取QSR寄存器值。

CMD14

CMD14的命令類型,參數,響應類型,命令縮寫和描述如下表所示:

Type Argument Resp Abbreviation Command Description
adtc [31:0] stuff bits R1 BUSTEST_R A host reads the reversed bus testing data pattern from
a Device.

CMD14的參數[31:0]位域可以是任意值(默認填寫0),命令的類型為adtc,CMD14的命令縮寫為BUSTEST_R,命令響應為R1,命令功能為從eMMC設備讀取翻轉的總線測試數據。

CMD15

CMD15的命令類型,參數,響應類型,命令縮寫和描述如下表所示:

Type Argument Resp Abbreviation Command Description
ac [31:16] RCA
[15:0] stuff bits
None GO_INACTIVE_STATE Sets the Device to inactive state

CMD15的參數[31:16]位域填寫RCA,[15:0]位域可以是任意值(默認填寫0),命令的類型為ac,CMD15的命令縮寫為GO_INACTIVE_STATE,命令無響應,命令功能為將eMMC設備切換到inactive狀態。

CMD19

CMD19的命令類型,參數,響應類型,命令縮寫和描述如下表所示:

Type Argument Resp Abbreviation Command Description
adtc [31:0] stuff bits R1 BUSTEST_W A host sends the bus test data pattern to a Device.

CMD19的參數[31:0]位域可以是任意值(默認填寫0),命令的類型為adtc,CMD19的命令縮寫為BUSTEST_W,命令響應為R1,命令功能為Host發送總線測試數據給eMMC設備。








審核編輯:劉清

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

    關注

    31

    文章

    5421

    瀏覽量

    123327
  • Linux系統
    +關注

    關注

    4

    文章

    603

    瀏覽量

    28304
  • emmc
    +關注

    關注

    7

    文章

    228

    瀏覽量

    53721
  • OCR
    OCR
    +關注

    關注

    0

    文章

    157

    瀏覽量

    16704

原文標題:Linux MMC子系統 - 4.eMMC 5.1常用命令說明(1)

文章出處:【微信號:嵌入式那些事,微信公眾號:嵌入式那些事】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    Linux常用命令大全

    Linux常用命令是指在Linux操作系統中廣泛使用的命令工具,這些命令工具可以完成各種不同的任
    的頭像 發表于 05-03 18:08 ?861次閱讀

    linux系統常用命令總結

    linux系統常用命令
    發表于 10-08 09:37

    linux常用命令

    linux常用命令集 名稱:cal使用權限:所有使用者使用方式:cal [-mjy] [month [year]]說明:顯示日歷。若只有一個參數,則代表年份(1-9999),顯
    發表于 01-18 12:45 ?878次閱讀

    嵌入式Linux常用命令

    嵌入式Linux常用命令,比較基礎,非常實用,適合新手學習。
    發表于 11-24 15:22 ?4次下載

    Linux終端常用命令大全

    Linux終端常用命令大全,通俗易懂,容易上手。包含所有命令,方便查找各個指令功能。
    發表于 04-28 16:30 ?15次下載

    vim常用命令

    vim常用命令
    發表于 01-08 15:59 ?3次下載

    Linux教程之Linux常用命令大全

    Linux教程之Linux常用命令大全
    的頭像 發表于 03-30 10:34 ?5918次閱讀

    Linux環境下U-boot常用命令講解的詳細資料說明

    本文檔的主要內容詳細介紹的是Linux環境下U-boot常用命令講解的資料說明。
    發表于 06-21 08:00 ?1次下載
    <b class='flag-5'>Linux</b>環境下U-boot<b class='flag-5'>常用命令</b>講解的詳細資料<b class='flag-5'>說明</b>

    Linux常用命令大全詳細說明

    Linux常用命令大全(非常全?。。。?最近都在和Linux打交道,感覺還不錯。我覺得Linux相比windows比較麻煩的就是很多東西都要用命令
    發表于 09-24 08:00 ?5次下載
    <b class='flag-5'>Linux</b>的<b class='flag-5'>常用命令</b>大全詳細<b class='flag-5'>說明</b>

    linux常用命令手冊

    linux常用命令手冊免費下載。
    發表于 06-01 14:59 ?70次下載

    Memcache系統常用命令講解

    Memcache系統常用命令講解(無線電源技術商業計劃書)-該文檔為Memcache系統常用命令講解文檔,是一份還算不錯的參考文檔,感興趣的可以下載看看,,,,,,,,,,,,,,,,
    發表于 09-28 11:27 ?5次下載
    Memcache<b class='flag-5'>系統</b><b class='flag-5'>常用命令</b>講解

    linux常用命令大全

    linux常用命令大全,一些常用命令都可以找到
    發表于 03-03 09:20 ?0次下載

    Linux常用命令

    Linux常用命令
    的頭像 發表于 01-12 11:19 ?1335次閱讀

    Linux常用命令手冊分享

    linux常用命令合集
    發表于 04-26 11:46 ?1次下載

    linux常用命令及用法

    Linux是一種開源的操作系統,它以穩定、高效和安全的特點受到廣大用戶的喜愛。掌握Linux常用命令及其用法對于操作系統的管理和開發都至關
    的頭像 發表于 11-17 09:47 ?889次閱讀
    主站蜘蛛池模板: 久久视频精品线视频在线网站 | 在线色| 国产免费高清福利拍拍拍 | 岛国大片在线播放 | 欧美一区二区视频三区 | 色婷婷久久合月综 | 狠狠色噜噜狠狠狠狠黑人 | 狠狠色噜噜狠狠狠狠888奇米 | 天天色爱 | 天天爱天天做色综合 | 免费看污视频的网站 | 性欧美bbbbbb动漫 | 欧美精品四虎在线观看 | 国产卡一卡2卡三卡免费视频 | 日本三级最新中文字幕电影 | a毛片成人免费全部播放 | 色国产在线视频一区 | 久久精品视频99精品视频150 | 在线永久免费播放视频 | 亚州色图欧美色图 | 美女网站一区二区三区 | 中文字幕亚洲天堂 | 婷婷五月情 | 亚洲伊人久久在 | 欧美极品第1页专区 | 最新色视频 | 在线观看免费观看 | 夜夜欢视频 | 久久天天躁狠狠躁夜夜2020一 | 一级毛片免费全部播放完整 | 激情五月在线 | 老色歌uuu26| 天堂网最新版www | 四虎国产精品永久在线 | 中文字幕一区二区三区四区五区人 | 国产自产视频在线观看香蕉 | 美女操网站 | 女人精69xxxxxx | 国产精品www视频免费看 | 椎名空中文字幕一区二区 | 免费番茄社区性色大片 |