• slider image 514
  • slider image 516
  • slider image 517
  • slider image 518
  • slider image 519
:::


Browsing this Thread:   1 Anonymous Users






請確認MCHPMSD
#1
新會員
新會員


查看用戶資訊
版主 您好
有關MCHPMSD中之typedefs.h file內 CSD 之定義bit-fields
部分似乎順序顛倒 bit-fields 存放是由low bit 往hi bit 放
但文中是由hi bit 往low bit放
如果MSD.c中void MSDReadCapacityHandler()之
C_Read_Bl_Len=gblCSDReg._byte[5]&0x0f;
gblBLKLen._dword=one<<C_Read_Bl_Len;

// Get the number of blocks using C_size and C_mult
C_size_U=gblCSDReg._byte[6]&0x03; // 2 LSB bits
C_size_H=gblCSDReg._byte[7];
C_size_L=(gblCSDReg._byte[8]&0xC0)>>6; // 2 MSB, right shift by 6places
// to get in LSB
C_size=(C_size_U<<10)|(C_size_H<<2)|(C_size_L);
C_mult_H=gblCSDReg._byte[9]&0x03;
C_mult_L=(gblCSDReg._byte[10]&0x80)>>7;
C_mult=(C_mult_H<<1)|C_mult_L;
Mult = one<<(C_mult+2);
gblNumBLKS._dword=Mult*(C_size+1)-1; // last LBA is noLBAs-1
改由gblCSDReg.C_SIZE_U
gblCSDReg.C_SIZE_H
gblCSDReg.C_SIZE_L
gblCSDReg.C_SIZE_MULT_L
gblCSDReg.C_SIZE_MULT_L
則C_size 會得到錯誤值
或用watch 觀察gblCSDReg.C_SIZE_U
gblCSDReg.C_SIZE_H
gblCSDReg.C_SIZE_L
gblCSDReg.C_SIZE_MULT_L
gblCSDReg.C_SIZE_MULT_L
再經計算會得到錯誤C_size 值
以下為修改部分
struct
{

//0
unsigned SPEC_VERS_4 :4; //CSD-Slice b123 downto b120
unsigned RESERVED_C_2 :2; //CSD-Slice b125 downto b124
unsigned CSD_STRUCTURE_2 :2; //CSD-Slice b127 downto b126

//1
unsigned TAAC_8 :8; //CSD-Slice b119 downto 112

//2
unsigned NSAC_8 :8; //CSD-Slice b111 downto b104

//3
unsigned TRAN_SPEED_8 :8; //CSD-Slice b103 downto b96

//4
unsigned CCC_H_8 :8; //CSD-Slice b95 downto b88

//5
unsigned READ_BL_LEN_4 :4; //CSD-Slice b83 downto b80

unsigned CCC_L_4 :4; //CSD-Slice b87 downto b84

//6
//unsigned C_SIZE_H :4; //CSD-Slice b73 downto b70
unsigned C_SIZE_U_2 :2; //CSD-Slice b73 downto b72

unsigned RESERVED_B_2 :2; //CSD-Slice b75 downto b74
unsigned DSR_IMP_1 :1; //CSD-Slice b76
unsigned READ_BLK_MISALIGN_1 :1; //CSD-Slice b77
unsigned WRITE_BLK_MISALIGN_1 :1; //CSD-Slice b78
unsigned READ_BL_PARTIAL_1 :1; //CSD-Slice b79

//7
//unsigned C_SIZE_L :8; //CSD-Slice b69 downto b62
unsigned C_SIZE_H_8 :8; //CSD-Slice b71 downto b64

//8
unsigned VDD_R_CURR_MAX_3 :3; //CSD-Slice b58 downto b56
unsigned VDD_R_CURR_MI_3N :3; //CSD-Slice b61 downto b59

unsigned C_SIZE_L_2 :2; //CSD-Slice b63 downto b62

//9
//unsigned C_SIZE_MULT :3; //CSD-Slice b49 downto b47
unsigned C_SIZE_MULT_H_2 :2; //CSD-Slice b49 downto b48

unsigned VDD_W_CURR_MAX_3 :3; //CSD-Slice b52 downto b50
unsigned VDD_W_CUR_MIN_3 :3; //CSD-Slice b55 downto b53

//10
//unsigned SECTOR_SIZE :7; //CSD-Slice b45 downto b39
unsigned SECTOR_SIZE_H_6 :6; //CSD-Slice b45 downto b40

unsigned ERASE_BLK_EN_1 :1; //CSD-Slice b46

unsigned C_SIZE_MULT_L_1 :1; //CSD-Slice b47

//11
unsigned WP_GRP_SIZE_7 :7; //CSD-Slice b38 downto b32

unsigned SECTOR_SIZE_L_1 :1; //CSD-Slice b39

//12
//unsigned WRITE_BL_LEN :4; //CSD-Slice b25 downto b22
unsigned WRITE_BL_LEN_H_2 :2; //CSD-Slice b25 downto b24

unsigned R2W_FACTOR_3 :3; //CSD-Slice b28 downto b26
unsigned DEFAULT_ECC_2 :2; //CSD-Slice b30 downto b29
unsigned WP_GRP_ENABLE_1 :1; //CSD-Slice b31

//13
unsigned RESERVED_A_5 :5; //CSD-Slice b20 downto b16
unsigned WRITE_BL_PARTIAL_1 :1; //CSD-Slice b21

unsigned WRITE_BL_LEN_L_2 :2; //CSD-Slice b23 downto b22

//14
unsigned ECC_2 :2; //CSD-Slice b9 downto b8
unsigned FILE_FORMAT_2 :2; //CSD-Slice b11 downto b10
unsigned TMP_WRITE_PROTECT_1 :1; //CSD-Slice b12
unsigned PERM_WRITE_PROTECT_1 :1; //CSD-Slice b13
unsigned COPY_1 :1; //CSD-Slice b14
unsigned FILE_FORMAT_GRP_1 :1; //CSD-Slice b15

//15
unsigned NOT_USED_1 :1; //CSD-Slice b0
unsigned CRC_7 :7; //CSD-Slice b7 downto b1
};
} CSD;
對不起 太長了
請指教 謝謝

發表於: 2006/12/30 18:18
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]


:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------