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

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

?? main.c

?? 東南大學開發ARM7芯片SD卡測試程序
?? C
?? 第 1 頁 / 共 3 頁
字號:
    SendCmdWaitIdle(0xca,0x0,0xfff); //ACMD6          配置傳輸模式為單線模式
    					
    SendCmdWaitResp(0x24e,0,0X0,0x0200,0x4,0Xfff);   //CMD18  多塊讀命令  1bit mode
    
    SendCmdWaitIdle(0x18a,0x0,0xfff); //stop CMD12    多塊傳輸需要發送stop命令以停止傳輸
    
    complete = *(RP)SDC_INTERRUPT_STATUS;
    while((complete |0xfffffffd) != 0xfffffffd)
    {
      printf("CRC ERROR");
      complete = *(RP)SDC_INTERRUPT_STATUS;
    } 
    CompareMem(MEM_BLOCK_BEGIN,END(4),0x200);
    for (i=0;i<5000;i++);
}

/*************************************************************
* FUNCTION                                                              
*                                                                       
*       void SdMultiW1r4(U32 rca)                                              
*                                                                       
* DESCRIPTION                                                           
*       多塊一位寫四位讀
*                                                                       
* AUTHOR                                                                
*                                                                       
*       yao                   
*                                                                       
* INPUTS 
*                                                               
*       rca    SD卡的rca地址號                
*                                                                       
* OUTPUTS                                                               
*                                                                       
*       無                  
*                                                                       
*************************************************/
void SdMultiW1r4(U32 rca)
{
	U32 i,complete;
    erase();//擦除
    //***********************配置DMA1進行一位寫*************************
    *(RP)DMAC_C2SRCADDR = MEM_BLOCK_BEGIN;
	*(RP)DMAC_C2DESTADDR = SDC_WRITE_BUFER_ACCESS;
	*(RP)DMAC_C2CONTROL = 0x80149b;  //0x1e149b                                                  				
	*(RP)DMAC_C2CONFIGURATION = 0x380b;								       				 	    
  
    SendCmdWaitIdle(0x6ea,rca,0xfff);//CMD55
    SendCmdWaitIdle(0xca,0x0,0xfff); //ACMD6
      
    SendCmdWaitResp(0x32e,0,0X2,0x0200,0x4,0Xfff);   // CMD25 1bit mode
  
    complete = *(RP)SDC_INTERRUPT_STATUS;
    while ((complete & 0x00000040) != 0x00000040)
    {
      complete = *(RP)SDC_INTERRUPT_STATUS;
    } 
   
    while((complete |0xfffffffe) != 0xfffffffe)
    {
      printf("CRC ERROR");
      complete = *(RP)SDC_INTERRUPT_STATUS;
    } 
    
    for (i=0;i<5000;i++);
    
    SendCmdWaitIdle(0x18a,0x0,0xfff); //stop CMD12
    
 
    *(RP)DMAC_C2SRCADDR  = SDC_READ_BUFER_ACCESS;
	*(RP)DMAC_C2DESTADDR = END(5); 
	*(RP)DMAC_C2CONTROL  = 0x80249b;//0x2024ad;//                                                  				
	*(RP)DMAC_C2CONFIGURATION = 0x38d;	
	
	SendCmdWaitIdle(0x6ea,rca,0xfff);//CMD55
    SendCmdWaitIdle(0xca, 0x2,0xfff); //ACMD6
	
    //***********************配置DMA1進行四位讀*************************	
    					
    SendCmdWaitResp(0x24e,0,0X1,0x0200,0x4,0Xfff);  // CMD18 4bit mode
    complete = *(RP)SDC_INTERRUPT_STATUS;;
    while ((complete & 0x00000040) != 0x00000040)
    {
      complete = *(RP)SDC_INTERRUPT_STATUS;
    }
    complete = *(RP)SDC_INTERRUPT_STATUS;
    while((complete |0xfffffffd) != 0xfffffffd)
    {
      printf("CRC ERROR");
      complete = *(RP)SDC_INTERRUPT_STATUS;
    } 
    
    SendCmdWaitIdle(0x18a,0x0,0xfff); //stop CMD12
    CompareMem(MEM_BLOCK_BEGIN,END(5),0x200);
    for (i=0;i<5000;i++);
}

/*************************************************************
* FUNCTION                                                              
*                                                                       
*       void SdMultiW4r1(U32 rca)                                              
*                                                                       
* DESCRIPTION                                                           
*                                                                       
*       多塊四位寫一位讀
*                                                                       
* AUTHOR                                                                
*                                                                       
*       yao                   
*                                                                       
* INPUTS 
*                                                               
*       rca    SD卡的rca地址號                
*                                                                       
* OUTPUTS                                                               
*                                                                       
*       無                  
*                                                                       
*************************************************/
void SdMultiW4r1(U32 rca)
{
	U32 i,complete;
    erase();//擦除
    //***********************配置DMA1進行一位寫*************************
    *(RP)DMAC_C2SRCADDR = MEM_BLOCK_BEGIN;
	*(RP)DMAC_C2DESTADDR = SDC_WRITE_BUFER_ACCESS;
	*(RP)DMAC_C2CONTROL = 0x80149b;  //0x1e149b                                                  				
	*(RP)DMAC_C2CONFIGURATION = 0x380b;								       				 	    
  
    SendCmdWaitIdle(0x6ea,rca,0xfff);//CMD55
    SendCmdWaitIdle(0xca,0x2,0xfff); //ACMD6
      
    SendCmdWaitResp(0x32e,0X0,0X3,0x0200,0x4,0Xfff);   // CMD25 4bit mode
  
    complete = *(RP)SDC_INTERRUPT_STATUS;
    while ((complete & 0x00000040) != 0x00000040)
    {
      complete = *(RP)SDC_INTERRUPT_STATUS;
    } 
   
    while((complete |0xfffffffe) != 0xfffffffe)
    {
      printf("CRC ERROR");
      complete = *(RP)SDC_INTERRUPT_STATUS;
    } 
    for (i=0;i<5000;i++);
    
    SendCmdWaitIdle(0x18a,0x0,0xfff); //stop CMD12
    
 
    *(RP)DMAC_C2SRCADDR  = SDC_READ_BUFER_ACCESS;
	*(RP)DMAC_C2DESTADDR = END(6); 
	*(RP)DMAC_C2CONTROL  = 0x80249b;//0x2024ad;//                                                  				
	*(RP)DMAC_C2CONFIGURATION = 0x38d;	
	
	
	SendCmdWaitIdle(0x6ea,rca,0xfff);//CMD55
    SendCmdWaitIdle(0xca,0x0,0xfff); //ACMD6
	
    //***********************配置DMA1進行一位讀*************************						
    SendCmdWaitResp(0x24e,0X0,0X0,0x0200,0x4,0Xfff);   //CMD18 1bit mode
    
    complete = *(RP)SDC_INTERRUPT_STATUS;;
    while ((complete & 0x00000040) != 0x00000040)
    {
      complete = *(RP)SDC_INTERRUPT_STATUS;
    }
   
    while((complete |0xfffffffd) != 0xfffffffd)
    {
      printf("CRC ERROR");
      complete = *(RP)SDC_INTERRUPT_STATUS;
    } 
    
    SendCmdWaitIdle(0x18a,0x0,0xfff); //stop CMD12
    CompareMem(MEM_BLOCK_BEGIN,END(6),0x200); 
    for (i=0;i<5000;i++);
}

/*************************************************************
* FUNCTION                                                              
*                                                                       
*       void SdMultiW4r4(U32 rca)                                              
*                                                                       
* DESCRIPTION                                                           
*                                                                       
*       多塊四位寫四位讀
*                                                                       
* AUTHOR                                                                
*                                                                       
*       yao                   
*                                                                       
* INPUTS 
*                                                               
*       rca    SD卡的rca地址號                
*                                                                       
* OUTPUTS                                                               
*                                                                       
*       無                  
*                                                                       
*************************************************/
void SdMultiW4r4(U32 rca)
{
	U32 i,complete;
    erase();//擦除
    //***********************配置DMA1進行一位寫*************************
    *(RP)DMAC_C2SRCADDR = MEM_BLOCK_BEGIN;
	*(RP)DMAC_C2DESTADDR = SDC_WRITE_BUFER_ACCESS;
	*(RP)DMAC_C2CONTROL = 0x80149b;  //0x1e149b                                                  				
	*(RP)DMAC_C2CONFIGURATION = 0x380b;								       				 	    
  
    SendCmdWaitIdle(0x6ea,rca,0xfff);//CMD55
    SendCmdWaitIdle(0xca,0x2,0xfff); //ACMD6
      
    SendCmdWaitResp(0x32e,0X0,0X3,0x0200,0x4,0Xfff);   // CMD25 4bit mode
  
    complete = *(RP)SDC_INTERRUPT_STATUS;
    while ((complete & 0x00000040) != 0x00000040)
    {
      complete = *(RP)SDC_INTERRUPT_STATUS;
    } 
    
    complete = *(RP)SDC_INTERRUPT_STATUS;
    while((complete |0xfffffffe) != 0xfffffffe)
    {
      printf("CRC ERROR");
      complete = *(RP)SDC_INTERRUPT_STATUS;
    } 
    
    for (i=0;i<5000;i++);
    
    SendCmdWaitIdle(0x18a,0x0,0xfff); //stop CMD12
    
    *(RP)DMAC_C2SRCADDR  = SDC_READ_BUFER_ACCESS;
	*(RP)DMAC_C2DESTADDR = END(7); 
	*(RP)DMAC_C2CONTROL  = 0x80249b;//0x2024ad;//                                                  				
	*(RP)DMAC_C2CONFIGURATION = 0x38d;	
	
	SendCmdWaitIdle(0x6ea,rca,0xfff);//CMD55
    SendCmdWaitIdle(0xca, 0x2,0xfff); //ACMD6
	
    //***********************配置DMA1進行四位讀*************************	
    					
    SendCmdWaitResp(0x24e,0,0X1,0x0200,0x4,0Xfff);  // CMD18 4bit mode
    complete = *(RP)SDC_INTERRUPT_STATUS;;
    while ((complete & 0x00000040) != 0x00000040)
    {
      complete = *(RP)SDC_INTERRUPT_STATUS;
    }
    
    while((complete |0xfffffffd) != 0xfffffffd)
    {
      printf("CRC ERROR");
      complete = *(RP)SDC_INTERRUPT_STATUS;
    } 
    
    SendCmdWaitIdle(0x18a,0x0,0xfff); //stop CMD12
    CompareMem(MEM_BLOCK_BEGIN,END(7),0x200); 
    for (i=0;i<5000;i++);
}

/*************************************************************
* FUNCTION                                                              
*                                                                       
*       void  FifoReset()                                             
*                                                                       
* DESCRIPTION                                                           
*                                                                       
*       FIFO初始化
*                                                                       
* AUTHOR                                                                
*                                                                       
*       yao                   
*                                                                       
* INPUTS 
*                                                               
*       無                
*                                                                       
* OUTPUTS                                                               
*                                                                       
*       無                  
*                                                                       
*************************************************/
void  FifoReset()
{
	U32 i,tmp;
    *(RP)SDC_CLOCK_CONTROL=0X0000;             		   //配置SD時鐘
    for (i=0;i<10;i++);
	*(RP)SDC_CLOCK_CONTROL=0X0004;                     //打開SD時鐘
    for (i=0;i<2;i++);
    while((*(RP)SDC_INTERRUPT_STATUS & 0x200)!=0x200)  //復位RXFIFO
    {
    	tmp = *(RP)SDC_READ_BUFER_ACCESS;
    	for (i=0;i<10;i++);
    }
    while((*(RP)SDC_INTERRUPT_STATUS & 0x800)!=0x800)  //復位TXFIFO
    {
    	*(RP)SDC_WRITE_BUFER_ACCESS = tmp;
    	for (i=0;i<10;i++);
    }

}



int main()
{
    int i;
    U32 head;
    U32 rca;
    
    //**************************初始化一段數據************************************
    head = MEM_BLOCK_BEGIN;      
	for(i=0; i<BLOCK_SIZE; i++)
	{
		*(RP)head = i;
		head = head + 4;
	}
	
    //********************************初始化SD卡**************************************
    //得到SD卡的rca地址號,進行下面操作的時候都要給卡發送地址號
	rca = InitialSd();
     
     
    //********************************初始化FIFO**************************************
    FifoReset();
    

    //********************************讀寫測試開始************************************    
    SdSingleW1r1(rca);			//單塊 一位寫一位讀
  
    SdSingleW1r4(rca);			//單塊 一位寫四位讀
   
    SdSingleW4r1(rca);			//單塊 四位寫一位讀
   
    SdSingleW4r4(rca);			//單塊 四位寫四位讀
  
    SdMultiW1r1(rca); 			//多塊 一位寫一位讀
  
    SdMultiW1r4(rca); 			//多塊 一位寫四位讀
   
    SdMultiW4r1(rca); 			//多塊 四位寫一位讀

    SdMultiW4r4(rca); 			//多塊 四位寫四位讀

    while(1);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
青娱乐精品在线视频| 色爱区综合激月婷婷| 国产高清不卡一区| 成人开心网精品视频| av一区二区三区| 欧美色视频一区| 欧美一级欧美一级在线播放| 精品国产99国产精品| 国产亚洲欧洲997久久综合| 1区2区3区精品视频| 亚洲专区一二三| 激情成人午夜视频| 不卡一区二区在线| 欧美亚洲一区二区在线观看| 欧美一区三区二区| 欧美国产国产综合| 日日夜夜一区二区| 成人综合婷婷国产精品久久蜜臀| 久久99精品久久久久婷婷| 国产精品18久久久久| 日本高清视频一区二区| 欧美tickling挠脚心丨vk| 亚洲色图视频网| 精品一区二区在线免费观看| 91视视频在线观看入口直接观看www| 欧美日韩免费高清一区色橹橹| 久久综合网色—综合色88| 一区二区三区免费看视频| 老汉av免费一区二区三区| 奇米色一区二区| 久久精工是国产品牌吗| 日韩视频一区二区三区| 日韩一区二区在线观看视频播放| 色综合久久久久| 精品视频资源站| 91国产成人在线| 色婷婷av久久久久久久| 国产精品久久久久天堂| 美女mm1313爽爽久久久蜜臀| 狠狠网亚洲精品| 日韩欧美国产电影| 日韩高清不卡一区二区| 欧美亚洲动漫另类| 亚洲欧美日韩精品久久久久| 不卡免费追剧大全电视剧网站| 日韩精品在线看片z| 久久国产精品第一页| 欧美一区二区视频在线观看2022| 亚洲一区二区三区小说| 欧美日韩一区二区电影| 亚洲一区二区影院| 6080午夜不卡| 激情综合网最新| 精品国产乱码久久久久久图片| 免费观看在线色综合| 精品福利视频一区二区三区| 久久se这里有精品| 国产三级一区二区三区| 国产成人精品亚洲日本在线桃色| 国产欧美久久久精品影院| 成人午夜视频在线观看| 亚洲女同女同女同女同女同69| 色女孩综合影院| 免费日韩伦理电影| 国产女人18毛片水真多成人如厕| 成人av第一页| 午夜视频在线观看一区二区三区| 日韩美女视频一区二区在线观看| 国产在线麻豆精品观看| 亚洲同性gay激情无套| 欧美乱妇一区二区三区不卡视频| 精品亚洲免费视频| 国产精品国产a| 日韩欧美国产综合一区| 91猫先生在线| 国产精品影视网| 亚洲一区二区免费视频| 国产精品丝袜久久久久久app| 色婷婷激情一区二区三区| 狠狠久久亚洲欧美| 亚洲va国产va欧美va观看| 久久精品视频一区二区| 欧美精品日韩一本| 91网站最新网址| 国产精品系列在线播放| 水蜜桃久久夜色精品一区的特点 | 日韩av午夜在线观看| 国产精品伦理在线| 久久久www免费人成精品| 欧美一区二区在线视频| 欧美午夜寂寞影院| 99vv1com这只有精品| 亚洲一区免费在线观看| 精品美女一区二区三区| 色94色欧美sute亚洲线路一久| 色欲综合视频天天天| 亚洲午夜一区二区三区| 欧美电影免费观看高清完整版在线| 国产一区 二区 三区一级| 亚洲综合在线电影| 制服丝袜亚洲网站| 日韩午夜激情免费电影| 欧美中文一区二区三区| 国产精品1024久久| 日韩精品一卡二卡三卡四卡无卡| 亚洲精品欧美二区三区中文字幕| 欧美国产精品专区| 国产欧美一区二区精品秋霞影院| 亚洲精品一区二区三区精华液 | 激情综合色播五月| 久久国产三级精品| 国产在线播放一区| 91色在线porny| 欧美亚洲一区二区在线观看| 91精品国产美女浴室洗澡无遮挡| 欧美一区二区二区| 欧美国产一区二区在线观看| 国产精品久久久久久一区二区三区| 亚洲视频精选在线| 天天色综合天天| 国产成人精品免费| 欧洲生活片亚洲生活在线观看| 欧美精品国产精品| 久久综合色综合88| 亚洲免费观看高清完整版在线观看 | 国产精品国产三级国产三级人妇| 一区二区免费在线播放| 蜜臀av性久久久久蜜臀av麻豆| 成人福利电影精品一区二区在线观看| 91视视频在线观看入口直接观看www| 欧美情侣在线播放| 国产精品水嫩水嫩| 久草热8精品视频在线观看| 不卡的电视剧免费网站有什么| 91精品国产综合久久福利| 国产精品网曝门| 久久er精品视频| 欧美人妇做爰xxxⅹ性高电影| 日本一区免费视频| 蜜桃av噜噜一区| 欧美日韩精品是欧美日韩精品| 国产丝袜欧美中文另类| 免费精品视频在线| 欧美日韩免费一区二区三区视频| 18成人在线观看| 成人激情文学综合网| 久久久精品国产99久久精品芒果| 日韩精品亚洲一区二区三区免费| 91在线porny国产在线看| 久久久亚洲综合| 国产一区二区三区蝌蚪| 日韩欧美国产麻豆| 激情小说亚洲一区| 精品久久久久久亚洲综合网 | 国产999精品久久久久久绿帽| 91影视在线播放| 久久精品男人天堂av| 日本不卡高清视频| 日韩西西人体444www| 日本一道高清亚洲日美韩| 欧美一区中文字幕| 久久成人麻豆午夜电影| 欧美成人vr18sexvr| 国产在线视频精品一区| 国产三级精品视频| 91蜜桃网址入口| 日本va欧美va欧美va精品| 精品国产一二三区| 不卡欧美aaaaa| 天天综合天天综合色| 精品国内二区三区| 99久久久免费精品国产一区二区| 一区二区三区丝袜| 日韩免费视频线观看| 成人app在线| 日韩黄色一级片| 国产日韩欧美高清在线| 欧美午夜免费电影| 国产在线播精品第三| 夜夜精品浪潮av一区二区三区| 欧美伦理影视网| 波多野结衣精品在线| 丝袜美腿亚洲一区| 亚洲天堂中文字幕| 欧美精品一区二区三区蜜桃 | 国产不卡在线视频| 亚洲成a人片在线不卡一二三区| 精品久久久网站| 色激情天天射综合网| 国产精品资源在线| 肉肉av福利一精品导航| 亚洲另类在线制服丝袜| 久久精品人人爽人人爽| 欧美一区二区三区免费视频| 成人爱爱电影网址| 国产精品一区二区免费不卡| 日韩精品电影一区亚洲| 亚洲精品va在线观看| 自拍偷拍欧美激情| 国产精品久久久久久久蜜臀|