亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sdcard.h

?? 6410BSP3
?? H
?? 第 1 頁 / 共 2 頁
字號:
//
// Copyright (c) Microsoft Corporation.  All rights reserved.
//
//
// Use of this sample source code is subject to the terms of the Microsoft
// license agreement under which you licensed this sample source code. If
// you did not accept the terms of the license agreement, you are not
// authorized to use this sample source code. For the terms of the license,
// please see the license agreement between you and Microsoft or, if applicable,
// see the LICENSE.RTF on your install media or the root of your tools installation.
// THE SAMPLE SOURCE CODE IS PROVIDED "AS IS", WITH NO WARRANTIES.
//

// Copyright (c) 2002-2004 BSQUARE Corporation.  All rights reserved.
// DO NOT REMOVE --- BEGIN EXTERNALLY DEVELOPED SOURCE CODE ID 40973--- DO NOT REMOVE

// Header file for data types and definitions from the SD Card specification
#ifndef _SD_CARD_H_
#define _SD_CARD_H_

// SD card bus commands
#define SD_CMD_GO_IDLE_STATE        0       // CMD0
#define SD_CMD_MMC_SEND_OPCOND      1       // CMD1
#define SD_CMD_ALL_SEND_CID         2       // CMD2
#define SD_CMD_MMC_SET_RCA          3       // CMD3
#define SD_CMD_SEND_RELATIVE_ADDR   3       // CMD3
#define SD_CMD_SET_DSR              4       // CMD4
#define SD_CMD_IO_OP_COND           5       // CMD5
#define SD_CMD_SWITCH_FUNCTION      6       // CMD6
#define SD_CMD_SELECT_DESELECT_CARD 7       // CMD7
#define SD_CMD_SEND_IF_COND         8       // CMD8  it is for SPEC 2.0

#ifdef _MMC_SPEC_42_
#define MMC_CMD_SEND_EXT_CSD        8       // CMD8
#endif

#define SD_CMD_SEND_CSD             9       // CMD9
#define SD_CMD_SEND_CID             10      // CMD10
#define SD_CMD_STOP_TRANSMISSION    12      // CMD12
#define SD_CMD_SEND_STATUS          13      // CMD13

#ifdef _MMC_SPEC_42_ 
#define MMC_CMD_READ_BUSTEST        14      // CMD14 
#endif

#define SD_CMD_GO_INACTIVE_STATE    15       // CMD15
#define SD_CMD_SET_BLOCKLEN         16       // CMD16
#define SD_CMD_READ_SINGLE_BLOCK    17       // CMD17
#define SD_CMD_READ_MULTIPLE_BLOCK  18       // CMD18

#ifdef _MMC_SPEC_42_  
#define MMC_CMD_WRITE_BUSTEST       19       // CMD19
#define MMC_CMD_SET_BLOCK_LENGTH    23       // CMD23
#endif

#define SD_CMD_SET_BLOCK_COUNT      23       // CMD23 
#define SD_CMD_WRITE_BLOCK          24       // CMD24
#define SD_CMD_WRITE_MULTIPLE_BLOCK 25       // CMD25
#define SD_CMD_PROGRAM_CSD          27       // CMD27
#define SD_CMD_SET_WRITE_PROT       28       // CMD28
#define SD_CMD_CLR_WRITE_PROT       29       // CMD29
#define SD_CMD_SEND_WRITE_PROT      30       // CMD30
#define SD_CMD_ERASE_WR_BLK_START   32       // CMD32
#define SD_CMD_ERASE_WR_BLK_END     33       // CMD33
#define SD_CMD_ERASE                38       // CMD38
#define SD_CMD_LOCK_UNLOCK          42       // CMD42
#define SD_CMD_IO_RW_DIRECT         52       // CMD52
#define SD_CMD_IO_RW_EXTENDED       53       // CMD53
#define SD_CMD_APP_CMD              55       // CMD55
#define SD_CMD_GEN_CMD              56       // CMD56

// command packet byte indexes
#define SD_COMMAND_BYTE_INDEX           5   // command is byte 5
#define SD_COMMAND_ARG_BYTE0_INDEX      1   // argument byte 0 is in byte 1
#define SD_COMMAND_ARG_BYTE1_INDEX      2   // argument byte 1 is in byte 2
#define SD_COMMAND_ARG_BYTE2_INDEX      3   // argument byte 2 is in byte 3
#define SD_COMMAND_ARG_BYTE3_INDEX      4   // argument byte 3 is in byte 4

// application Specific commands
#define SD_ACMD_SET_BUS_WIDTH               6
#define SD_ACMD_SD_STATUS                   13
#define SD_ACMD_SEND_NUM_WR_BLOCKS          22
#define SD_ACMD_SET_WR_BLOCK_ERASE_COUNT    23
#define SD_ACMD_SD_SEND_OP_COND             41
#define SD_ACMD_SET_CLR_CARD_DETECT         42
#define SD_ACMD_SEND_SCR                    51

// arg definition for ACMD SET_BUS_WIDTH
#define SD_ACMD_ARG_SET_BUS_4BIT            0x00000002

#ifdef _MMC_SPEC_42_ 
#define MMC_ACMD_ARG_SET_HIGHSPEED      0x03b90100  // (3<<24)|(185<<16)|(1<<8)
#define MMC_ACMD_ARG_SET_BUS_8BIT       0x03b70200  // (3<<24)|(183<<16)|(2<<8)
#define MMC_ACMD_ARG_SET_BUS_4BIT       0x03b70100  // (3<<24)|(183<<16)|(1<<8)
#define MMC_ACMD_ARG_SET_BUS_1BIT       0x03b70000  // (3<<24)|(183<<16)|(0<<8)
#define SD_ACMD_ARG_GET_TRANS_SPEED     ((0x1<<31)|(0xFFFF<<8)|(1<<0))
#endif#endif

// SDIO commands
#define SD_IO_RW_DIRECT                 SD_CMD_IO_RW_DIRECT
#define SD_IO_RW_EXTENDED               SD_CMD_IO_RW_EXTENDED

// CMD53 Bits
#define SD_CMD53_RW_MASK                0x80000000
#define SD_CMD53_READ_OP                0
#define SD_CMD53_WRITE_OP               SD_CMD53_RW_MASK
#define SD_CMD53_FUNCTION_NUMBER        0x70000000
#define SD_CMD53_BLOCK_MODE             0x08000000
#define SD_CMD53_OPCODE                 0x04000000
#define SD_CMD53_REGISTER_ADDRESS       0x03fffe00
#define SD_CMD53_REGISTER_ADDRESS_POS   9
#define SD_CMD53_BLOCK_COUNT            (( 1 << SD_CMD53_REGISTER_ADDRESS_POS ) - 1 )

// card status bits
#define SD_STATUS_OUT_OF_RANGE          0x80000000
#define SD_STATUS_ADDRESS_ERROR         0x40000000
#define SD_STATUS_BLOCK_LEN_ERROR       0x20000000
#define SD_STATUS_ERASE_SEQ_ERROR       0x10000000
#define SD_STATUS_ERASE_PARAM           0x08000000
#define SD_STATUS_WP_VIOLATION          0x04000000
#define SD_STATUS_CARD_IS_LOCKED        0x02000000
#define SD_STATUS_LOCK_UNLOCK_FAILED    0x01000000
#define SD_STATUS_COM_CRC_ERROR         0x00800000
#define SD_STATUS_ILLEGAL_COMMAND       0x00400000
#define SD_STATUS_CARD_ECC_FAILED       0x00200000
#define SD_STATUS_CC_ERROR              0x00100000
#define SD_STATUS_ERROR                 0x00080000
#define SD_STATUS_CID_CSD_OVERWRITE     0x00010000
#define SD_STATUS_WP_ERASE_SKIP         0x00008000
#define SD_STATUS_CARD_ECC_DISABLED     0x00004000
#define SD_STATUS_ERASE_RESET           0x00002000

#define SD_STATUS_CURRENT_STATE_MASK    0x00001E00
#define SD_STATUS_CURRENT_STATE_SHIFT   9
#define SD_STATUS_CURRENT_STATE(sd_status) \
    (((sd_status)&SD_STATUS_CURRENT_STATE_MASK)>>SD_STATUS_CURRENT_STATE_SHIFT)

// states pulled out from the status word
#define SD_STATUS_CURRENT_STATE_IDLE    0
#define SD_STATUS_CURRENT_STATE_READY   1
#define SD_STATUS_CURRENT_STATE_IDENT   2
#define SD_STATUS_CURRENT_STATE_STDBY   3
#define SD_STATUS_CURRENT_STATE_TRAN    4
#define SD_STATUS_CURRENT_STATE_DATA    5
#define SD_STATUS_CURRENT_STATE_RCV     6
#define SD_STATUS_CURRENT_STATE_PRG     7
#define SD_STATUS_CURRENT_STATE_DIS     8

#define SD_STATUS_READY_FOR_DATA    0x00000100
#define SD_STATUS_APP_CMD           0x00000020
#define SD_STATUS_AKE_SEQ_ERROR     0x00000008

#define SD_STATUS_ERROR_MASK        0xFFF90008
#define SD_CARD_STATUS_SUCCESS(s)   (0 == ((s) & SD_STATUS_ERROR_MASK))



// defines for the SCR register
#define SCR_VERSION_1_0             0
#define SD_SCR_REGISTER_SIZE        8  // 64 bits
#define SD_SPEC_VERSION_1_0         0
#define SD_SECURITY_NONE            0
#define SD_SECURITY_PROTOCOL_1      1
#define SD_SECURITY_PROTOCOL_2      2
#define SD_BUS_WIDTH_1_BIT          0x1
#define SD_BUS_WIDTH_4_BIT          0x4

// defines for CSD register
#define SD_CSD_VERSION_1_0              0
#define SD_FILE_FORMAT_HARD_DISK_LIKE   0
#define SD_FILE_FORMAT_FLOPPY_LIKE      1
#define SD_FILE_FORMAT_UNIVERSAL        2
#define SD_FILE_FORMAT_OTHER            3

// define for the OCR register
#define SD_OCR_REGISTER_SIZE            4 // 32 bits
#define SD_IO_OCR_REGISTER_SIZE         3 // 24 bits
#define SD_VDD_WINDOW_1_6_TO_1_7        0x00000010      // 1.6 V to 1.7 Volts
#define SD_VDD_WINDOW_1_7_TO_1_8        0x00000020      // 1.7 V to 1.8 Volts
#define SD_VDD_WINDOW_1_8_TO_1_9        0x00000040      // 1.8 V to 1.9 Volts
#define SD_VDD_WINDOW_1_9_TO_2_0        0x00000080      // 1.9 V to 2.0 Volts
#define SD_VDD_WINDOW_2_0_TO_2_1        0x00000100      // 2.0 V to 2.1 Volts
#define SD_VDD_WINDOW_2_1_TO_2_2        0x00000200      // 2.1 V to 2.2 Volts
#define SD_VDD_WINDOW_2_2_TO_2_3        0x00000400      // 2.2 V to 2.3 Volts
#define SD_VDD_WINDOW_2_3_TO_2_4        0x00000800      // 2.3 V to 2.4 Volts
#define SD_VDD_WINDOW_2_4_TO_2_5        0x00001000      // 2.4 V to 2.5 Volts
#define SD_VDD_WINDOW_2_5_TO_2_6        0x00002000      // 2.5 V to 2.6 Volts
#define SD_VDD_WINDOW_2_6_TO_2_7        0x00004000      // 2.6 V to 2.7 Volts
#define SD_VDD_WINDOW_2_7_TO_2_8        0x00008000      // 2.7 V to 2.8 Volts
#define SD_VDD_WINDOW_2_8_TO_2_9        0x00010000      // 2.8 V to 2.9 Volts
#define SD_VDD_WINDOW_2_9_TO_3_0        0x00020000      // 2.9 V to 3.0 Volts
#define SD_VDD_WINDOW_3_0_TO_3_1        0x00040000      // 3.0 V to 3.1 Volts
#define SD_VDD_WINDOW_3_1_TO_3_2        0x00080000      // 3.1 V to 3.2 Volts
#define SD_VDD_WINDOW_3_2_TO_3_3        0x00100000      // 3.2 V to 3.3 Volts
#define SD_VDD_WINDOW_3_3_TO_3_4        0x00200000      // 3.3 V to 3.4 Volts
#define SD_VDD_WINDOW_3_4_TO_3_5        0x00400000      // 3.4 V to 3.5 Volts
#define SD_VDD_WINDOW_3_5_TO_3_6        0x00800000      // 3.5 V to 3.6 Volts
#define SD_CARD_POWER_UP_STATUS         0x80000000      // powerup finished indicator

// define for SWITCH_FUNCTION CMD6.
#define SD_SWITCH_FUNCTION_DATA_SIZE    (512/8)

// defines for SD IO Function Basic Information registers
#define SD_IO_NON_STANDARD_DEVICE_CODE  0

// defines for CIS tuples       
#define SD_CISTPL_NULL                  0x00
#define SD_CISTPL_CHECKSUM              0x10
#define SD_CISTPL_VERS_1                0x15
#define SD_CISTPL_ALTSTR                0x16
#define SD_CISTPL_MANFID                0x20
#define SD_CISTPL_FUNCID                0x21
#define SD_CISTPL_FUNCE                 0x22
#define SD_CISTPL_SDIO_STD              0x91
#define SD_CISTPL_SDIO_EXT              0x92
#define SD_CISTPL_END                   0xFF
#define SD_TUPLE_LINK_END               0xFF

#define SD_CISTPLE_MAX_BODY_SIZE        256
#define SD_CISTPL_FUNCID_BODY_SIZE      2
#define SD_CISTPL_MANFID_BODY_SIZE      4


#define SD_CISTPL_FUNCE_COMMON_TYPE     0x00
#define SD_CISTPL_FUNCE_FUNCTION_TYPE   0x01

#include <pshpack1.h>
typedef struct _SD_CISTPL_FUNCE_FUNCTION {
    BYTE  bType;
    union {
        struct {
            BYTE FN_WUS : 1;
        };
        BYTE  bFunctionInfo;
    };
    BYTE  bStdIORev;
    DWORD dwCardPSN;
    DWORD dwCSASize;
    BYTE  bCSAProperty;
    WORD  wMaxBlkSize;
    DWORD dwOCR;
    BYTE  bOpMinPwr;
    BYTE  bOpAvgPwr;
    BYTE  bOpMaxPwr;
    BYTE  bSbMinPwr;
    BYTE  bSbAvgPwr;
    BYTE  bSbMaxPwr;
    WORD  wMinBw;
    WORD  wOptBw;
}SD_CISTPL_FUNCE_FUNCTION, *PSD_CISTPL_FUNCE_FUNCTION;
#include <poppack.h>


// SD card status
typedef DWORD SD_CARD_STATUS;

// defines for Card IDentification (CID) register.
#define SD_CID_REGISTER_SIZE    16  // 128 bits
#define SD_CID_PSN_OFFSET       3
#define SD_CID_PRV_OFFSET       7
#define SD_CID_PNM_OFFSET       8
#define SD_CID_OID_OFFSET       13
#define SD_CID_MID_OFFSET       15
#define SD_CID_MDT_OFFSET       1
#define SD_CID_MONTH_MASK       0x0F
#define SD_CID_YEAR0_MASK       0xF0
#define SD_CID_YEAR_SHIFT       4
// some of the CID definitions are different for MMC cards...
#define MMC_CID_MDT_OFFSET      1
#define MMC_CID_PSN_OFFSET      2
#define MMC_CID_PRV_OFFSET      6
#define MMC_CID_PNM_OFFSET      7
#define MMC_CID_MONTH_MASK      0xF0
#define MMC_CID_YEAR_MASK       0x0F
#define MMC_CID_MONTH_SHIFT     4

// macros for Card Specific Data (CSD) register.
#define SD_CSD_REGISTER_SIZE                16      // 128 bits

// bit slice definitions
#define SD_CSD_VERSION_BIT_SLICE            126
#define SD_CSD_VERSION_SLICE_SIZE           2

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
不卡的av电影在线观看| 在线电影一区二区三区| 91精品国产综合久久精品app| 欧美大片在线观看| 久久国产乱子精品免费女| 日韩一区二区三区三四区视频在线观看 | 国产欧美精品一区| 白白色亚洲国产精品| 亚洲免费视频成人| 欧美日韩免费观看一区二区三区| 一区二区在线观看av| 欧美精品一二三| 欧美猛男男办公室激情| 91精品国产综合久久久久| 日韩欧美一级在线播放| 日韩免费高清电影| 久久精品亚洲国产奇米99 | 亚洲欧洲精品一区二区三区不卡| 91麻豆.com| 激情综合网最新| 亚洲人精品一区| 亚洲免费观看高清在线观看| 亚洲午夜久久久久久久久电影网| 欧美精品一区二区三区在线播放| 不卡欧美aaaaa| 欧美三区在线观看| 91精品国产91热久久久做人人| 精品久久久久久久久久久久久久久久久 | 欧美精品v国产精品v日韩精品| 91精品免费观看| 国产人成亚洲第一网站在线播放 | 欧美中文字幕一二三区视频| 久久精工是国产品牌吗| 亚洲午夜免费电影| 国产成人午夜视频| 午夜私人影院久久久久| 亚洲免费观看高清完整版在线| 视频一区中文字幕国产| 亚洲一区二区三区中文字幕| 亚洲免费视频成人| 免费看精品久久片| 日韩电影免费在线看| 国产精品亲子伦对白| 久久久久9999亚洲精品| 久久久久国色av免费看影院| 亚洲欧美韩国综合色| 久久99日本精品| 欧美系列日韩一区| 欧美色手机在线观看| 欧美韩国日本不卡| 国产精品丝袜91| 美女免费视频一区二区| 久久av资源站| 欧美无砖砖区免费| 中文字幕一区在线观看视频| 蜜臀av性久久久久蜜臀aⅴ四虎 | 国产伦精品一区二区三区免费 | 亚洲欧洲韩国日本视频| 免费观看在线色综合| 在线观看亚洲一区| 亚洲日本成人在线观看| 亚洲免费观看视频| av不卡一区二区三区| 久久蜜臀中文字幕| 国产中文字幕一区| voyeur盗摄精品| 2020国产精品久久精品美国| 国产精品视频yy9299一区| 久久精品国产澳门| 日韩午夜精品视频| 日韩—二三区免费观看av| 欧美视频完全免费看| 伊人一区二区三区| 日本精品视频一区二区| 91精品国产乱码| 午夜视频在线观看一区二区三区| 欧美亚洲图片小说| 日韩中文字幕麻豆| 91精品国产欧美一区二区成人| 亚洲影院久久精品| 制服丝袜亚洲播放| 免费在线看成人av| 日韩女同互慰一区二区| 国内外精品视频| 国产亚洲精品中文字幕| 成人av网站在线观看免费| 亚洲国产精品激情在线观看| 99精品偷自拍| 精品国产污网站| 国产乱人伦精品一区二区在线观看| 一本高清dvd不卡在线观看| 欧美一级高清片| 老司机精品视频一区二区三区| 精品久久国产字幕高潮| 国产乱子轮精品视频| 国产精品麻豆久久久| 91久久精品日日躁夜夜躁欧美| 亚洲国产日韩a在线播放性色| 欧美日韩日日夜夜| 日韩激情视频在线观看| 久久亚洲欧美国产精品乐播| 国产69精品久久99不卡| 91精品国产高清一区二区三区蜜臀| 免费成人结看片| 国产精品美女久久久久av爽李琼| 色婷婷一区二区| 另类综合日韩欧美亚洲| 国产精品乱人伦| 欧美视频一区二区| 国产精品99久久久久久久女警| 亚洲视频一二区| 欧美成人高清电影在线| www.66久久| 狠狠色2019综合网| 亚洲欧美日韩久久| 精品人在线二区三区| 9人人澡人人爽人人精品| 日本伊人色综合网| 亚洲欧洲综合另类在线| 久久综合久久鬼色中文字| 在线精品视频免费观看| 国产精品一二三区在线| 香蕉成人伊视频在线观看| 欧美日韩三级视频| 北条麻妃一区二区三区| 免费久久精品视频| 亚洲一二三区不卡| 国产精品女同互慰在线看| 欧美一区二区精品在线| 色av一区二区| 国产一区二区在线影院| 丝袜亚洲另类丝袜在线| 亚洲欧洲国产日韩| 欧美国产一区二区在线观看| 91精品福利在线一区二区三区 | 成人a免费在线看| 美洲天堂一区二卡三卡四卡视频 | 日本欧美一区二区三区| 亚洲色图视频网| 国产欧美日韩亚州综合 | 91免费观看在线| 国产一区二区三区黄视频 | 国产精品视频在线看| 26uuu亚洲| 日韩欧美国产小视频| 欧美日韩和欧美的一区二区| 日本高清成人免费播放| eeuss影院一区二区三区| 懂色av中文字幕一区二区三区| 麻豆精品一区二区| 蜜芽一区二区三区| 日韩电影免费在线| 免费不卡在线视频| 麻豆91精品91久久久的内涵| 日韩国产精品大片| 日韩av中文字幕一区二区三区| 五月天中文字幕一区二区| 午夜精品福利久久久| 午夜av一区二区| 热久久免费视频| 另类综合日韩欧美亚洲| 国产伦精品一区二区三区免费迷| 国产福利一区二区三区视频| 国产91精品精华液一区二区三区| 国产成人亚洲综合a∨猫咪| 成人免费av网站| 老色鬼精品视频在线观看播放| 日韩高清一级片| 韩国理伦片一区二区三区在线播放| 韩国欧美国产1区| 成人黄色av电影| 在线观看国产91| 51精品秘密在线观看| 日韩小视频在线观看专区| 久久久www免费人成精品| 中文字幕不卡一区| 一区二区三区日本| 中文字幕高清不卡| 亚洲免费看黄网站| 日韩精品电影在线| 成人性视频免费网站| 欧美亚洲综合久久| 欧美成人三级电影在线| 中文字幕乱码亚洲精品一区| 亚洲精品高清在线观看| 麻豆精品国产91久久久久久| 成人免费视频caoporn| 欧美三级中文字幕在线观看| 欧美xxxxxxxxx| 亚洲欧美日本在线| 久久99精品国产.久久久久久| 成人av网址在线| 日韩欧美国产综合在线一区二区三区| 国产精品美女一区二区| 午夜亚洲福利老司机| 白白色亚洲国产精品| 精品免费99久久| 一区二区欧美精品| 国产aⅴ精品一区二区三区色成熟| 欧美日韩一区二区三区高清|