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

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

?? main.c

?? 東南大學開發ARM7芯片SD卡測試程序
?? C
?? 第 1 頁 / 共 3 頁
字號:
/*************************************************************************************
 *	Copyright (c) 2007 by PROCHIP Limited.
 *	PROPRIETARY RIGHTS of PROCHIP Limited are involved in the subject matter of this 
 *	material.  All manufacturing, reproduction, use, and sales rights 
 *	pertaining to this subject matter are governed by the license agreement.
 *	The recipient of this software implicitly accepts the terms of the license.
 *
 *	File Name:  main.c
 *
 *	File Description: 主函數, 實現具體功能.
 *
 *    Version         Date            Author           
 *------------------------------------------------------------------------------------    
 *    0.0.1           2008.1.9                  
 *   		      	
 *************************************************************************************/

#include	<stdio.h>
#include	"ub4020evb.h"
#include	"intc.h"

#define MEM_BLOCK_BEGIN		0x30200000
#define MEM_BLOCK_END		0x30220000
#define BLOCK_SIZE		    1280
#define END(i)			    (MEM_BLOCK_END+i*(1<<16))

/*************************************************************
* FUNCTION                                                              
*                                                                       
*       CompareMem                                              
*                                                                       
* DESCRIPTION                                                           
*                                                                       
*       比較2塊數據塊的內容是否一致。
*                                                                       
* AUTHOR                                                                
*                                                                       
*       wuer              
*                                                                       
* INPUTS                                                                
*                                                                       
*      	U32 src,  第一塊數據塊的首地址
*		U32 dest, 第二塊數據塊的首地址
*		U32 len, 比較的數據塊大小        
*                                                                       
* OUTPUTS                                                               
*                                                                       
*      無  (出錯打印信息)              
*                                                                       
***************************************************************/
void CompareMem(U32 src, U32 dest,U32 len)
{
	U32 i;
	U32	a,b;
	
	for(i=0;i<len;i++)
	{
		a = *(RP8)src;
		b = *(RP8)dest;
    	
    	if(a != b)
    	{
    		printf("Data different at 0x%lx\n",dest);
    	}
    	
    	src ++;
    	dest ++;	
	}
	
	printf("Data ok\n");
}


/*************************************************************
* FUNCTION                                                              
*                                                                       
*       int SendCmdWaitRespIni(U16 Cmd,U32 Arg,U16 trans_mode,U16 blk_len,U16 nob,U16 int_mask)                                              
*                                                                       
* DESCRIPTION                                                           
*                                                                       
*       向SD控制器發送命令,等待SD控制器確認收到命令
*                                                                       
* AUTHOR                                                                
*                                                                       
*       yao                   
*                                                                       
* INPUTS                                                                
*                                                                       
*	    Cmd:			命令編號;
*	    Arg:			命令參數;
*	    TransMode       SD傳輸模式;
*		BlkLen:		    數據塊長度;
*		Nob:			數據塊數目;
*		IntMask:		中斷允許標志;                 
*                                                                       
* OUTPUTS                                                               
*                                                                       
*      *(RP)SDC_RESPONSE0   SD命令響應                  
*                                                                       
*************************************************/
int SendCmdWaitRespIni(U16 Cmd,U32 Arg,U16 TransMode,U16 BlkLen,U16 Nob,U16 IntMask)
{
    U32 i;
    
    *(RP)SDC_CLOCK_CONTROL=0Xff00;             //配置SD時鐘
    for (i=0;i<10;i++);
	*(RP)SDC_CLOCK_CONTROL=0Xff04;             //打開SD時鐘	
    for (i=0;i<10;i++);
    
	*(RP)SDC_INTERRUPT_STATUS_MASK=IntMask;
	for (i=0;i<10;i++);
	*(RP)SDC_TRANSFER_MODE=TransMode;
	for (i=0;i<10;i++);
    *(RP)SDC_BLOCK_SIZE=BlkLen;
    for (i=0;i<10;i++);
    *(RP)SDC_BLOCK_COUNT=Nob;
    for (i=0;i<10;i++);
    *(RP)SDC_ARGUMENT=Arg;
    for (i=0;i<10;i++);
    *(RP)SDC_COMMAND=Cmd;
    for (i=0;i<10;i++);
    
    i = *(RP)SDC_INTERRUPT_STATUS & 0x1000;
	
	for (i=0;i<10;i++);
	
	while(i != 0x1000)
	{
	i = *(RP)SDC_INTERRUPT_STATUS & 0x1000;
	}
        for( i=0; i<160; i++);

	return *(RP)SDC_RESPONSE0;
}

/*************************************************************
* FUNCTION                                                              
*                                                                       
*       int SendCmdWaitResp(U16 Cmd,U32 Arg,U16 TransMode,U16 BlkLen,U16 Nob,U16 IntMask)                                              
*                                                                       
* DESCRIPTION                                                           
*                                                                       
*       向SD控制器發送命令并傳送數據,等待SD控制器確認收到命令
*                                                                       
* AUTHOR                                                                
*                                                                       
*       yao                   
*                                                                       
* INPUTS                                                                
*                                                                       
*	    Cmd:			命令編號;
*	    Arg:			命令參數;
*	    TransMode       SD傳輸模式;
*		BlkLen:		    數據塊長度;
*		Nob:			數據塊數目;
*		IntMask:		中斷允許標志;                 
*                                                                       
* OUTPUTS                                                               
*                                                                       
*      *(RP)SDC_RESPONSE0   SD命令響應                  
*                                                                       
*************************************************/
int SendCmdWaitResp(U16 Cmd,U32 Arg,U16 TransMode,U16 BlkLen,U16 Nob,U16 IntMask)
{
   U32 i;
    
   *(RP)SDC_CLOCK_CONTROL=0Xff00;             //配置SD時鐘
   for (i=0;i<1000;i++);
   *(RP)SDC_CLOCK_CONTROL=0Xff04;             //打開SD時鐘										// CLK_20M = APB時鐘;CLK_DIV = CLK_20M/64
   for (i=0;i<10000;i++);
    
    
    *(RP)SDC_INTERRUPT_STATUS_MASK=IntMask;
    *(RP)SDC_TRANSFER_MODE=TransMode;
    *(RP)SDC_BLOCK_SIZE=BlkLen;   
    *(RP)SDC_BLOCK_COUNT=Nob;
    *(RP)SDC_ARGUMENT=Arg;
    *(RP)SDC_COMMAND=Cmd;
    
    for (i=0;i<10;i++);    
        
    
    i = *(RP)SDC_INTERRUPT_STATUS & 0x1040;
	
	while(i != 0x1040)
	{
	   i = *(RP)SDC_INTERRUPT_STATUS & 0x1040;
	}
    for( i=0; i<1000; i++);
    
	return *(RP)SDC_RESPONSE0;
}

/*************************************************************
* FUNCTION                                                              
*                                                                       
*       int SendCmdWaitIdle(U16 Cmd,U32 Arg,U16 IntMask )                                              
*                                                                       
* DESCRIPTION                                                           
*                                                                       
*       向SD控制器發送命令,等待SD控制器確認收到命令
*                                                                       
* AUTHOR                                                                
*                                                                       
*       yao                   
*                                                                       
* INPUTS                                                                
*                                                                       
*	    Cmd:			命令編號;
*	    Arg:			命令參數;  
*		IntMask:		中斷允許標志;                 
*                                                                       
* OUTPUTS                                                               
*                                                                       
*      *(RP)SDC_RESPONSE0   SD命令響應                  
*                                                                       
*************************************************/
int SendCmdWaitIdle(U16 Cmd,U32 Arg,U16 IntMask )
{
	int i;

    *(RP)SDC_CLOCK_CONTROL=0Xff00;             //配置SD時鐘         配置分頻比
    for (i=0;i<10;i++);
	*(RP)SDC_CLOCK_CONTROL=0X0004;             //打開SD時鐘			 配置分頻比	
       
    for (i=0;i<1000;i++);
    
	*(RP)SDC_COMMAND=Cmd;
        for (i=0;i<10;i++);
	*(RP)SDC_INTERRUPT_STATUS_MASK=IntMask;
        for (i=0;i<10;i++);
	*(RP)SDC_ARGUMENT=Arg;
        for (i=0;i<10;i++);
	
    i = *(RP)SDC_INTERRUPT_STATUS & 0x1000;
	
	while(i != 0x1000)
	{
		i = *(RP)SDC_INTERRUPT_STATUS & 0x1000;
	}
	for (i=0;i<1300;i++);    	                	             
	return *(RP)SDC_RESPONSE0;
	return 1;  
}

/*************************************************************
* FUNCTION                                                              
*                                                                       
*       void wait()                                              
*                                                                       
* DESCRIPTION                                                           
*                                                                       
*       等待
*                                                                       
* AUTHOR                                                                
*                                                                       
*       yao                   
*                                                                       
* INPUTS                                                                
*       無                
*                                                                       
* OUTPUTS                                                               
*                                                                       
*       無                  
*                                                                       
*************************************************/
void wait()
{
	 U32 resp;
	 SendCmdWaitRespIni(0x1aa,0X0,0X0,0x0,0x0,0X0);//CMD13
	 resp = *(RP)SDC_INTERRUPT_STATUS & 0x1000;
	 while (resp != 0x1000)
	 {
	   SendCmdWaitRespIni(0x1aa,0X0,0X0,0x0,0x0,0X0);//CMD13
	   resp = *(RP)SDC_INTERRUPT_STATUS & 0x1000;
	 }
}

/*************************************************************
* FUNCTION                                                              
*                                                                       
*       void erase()                                              
*                                                                       
* DESCRIPTION                                                           
*                                                                       
*       擦除
*                                                                       
* AUTHOR                                                                
*                                                                       
*       yao                   
*                                                                       
* INPUTS
*                                                                
*       無                
*                                                                       
* OUTPUTS                                                               
*                                                                       
*       無                  
*                                                                       
*************************************************/
void erase()
{
	   U32 i;
	   for (i = 0;i<100;i++);
	   SendCmdWaitRespIni(0x40a,0X0,0X0,0x0,0x0,0X0);//CMD35   配置起始地址
	   for (i = 0;i<100;i++);
	   SendCmdWaitRespIni(0x42a,0X4000,0X0,0x0,0x0,0X0);//CMD36 配置結束地址
	   for (i = 0;i<100;i++); 
	   SendCmdWaitRespIni(0x4cb,0X0,0X0,0x0,0x0,0X0);//CMD38    執行擦除操作
	   for (i = 0;i<1000;i++);
}

/*************************************************************
* FUNCTION                                                              
*                                                                       
*       U32 InitialSd()                                              
*                                                                       
* DESCRIPTION                                                           
*                                                                       
*       初始化SD卡
*                                                                       
* AUTHOR                                                                
*                                                                       
*       yao                   
*                                                                       
* INPUTS 
*                                                               
*       無                
*                                                                       
* OUTPUTS                                                               
*                                                                       
*       rca    SD卡的rca地址號                  
*                                                                       
*************************************************/
U32 InitialSd()
{
	U32 i,rca;
	*(RP)SDC_SOFTWARE_RESET=0x0;
	for (i=0;i<200;i++);
	*(RP)SDC_SOFTWARE_RESET=0x1; 
    for (i=0;i<200;i++);
 
    SendCmdWaitIdle(0x08,0x0,0xfff);   //CMD0
       
    for (i=0;i<8000;i++);   
    
    do
    {
    SendCmdWaitIdle(0x6ea,0x0,0xfff);//CMD55
    for (i=0;i<3;i++);  

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩视频永久免费| 波多野结衣中文一区| 欧美亚洲愉拍一区二区| 亚洲丝袜自拍清纯另类| 91日韩精品一区| 亚洲国产视频网站| 日韩一区二区视频| 国产精品中文欧美| 一区在线中文字幕| 欧美视频完全免费看| 日本亚洲免费观看| 国产亚洲综合av| 91片在线免费观看| 蜜臀av在线播放一区二区三区| 日韩丝袜情趣美女图片| 国产成人av电影| 一区二区成人在线观看| 日韩欧美一区二区在线视频| 国产成人在线电影| 亚洲电影中文字幕在线观看| 欧美一卡二卡在线观看| 成人一区二区三区| 午夜在线成人av| 久久精品一区二区三区四区| 在线视频中文字幕一区二区| 美女在线观看视频一区二区| 国产精品不卡视频| 欧美一级高清大全免费观看| av网站免费线看精品| 日韩电影一二三区| 亚洲精品免费看| 国产午夜精品久久久久久久| 欧美日韩亚洲另类| 成人av中文字幕| 日本不卡123| 亚洲精品视频在线看| 2023国产精品自拍| 在线播放/欧美激情| av在线播放一区二区三区| 免费在线一区观看| 亚洲电影一区二区三区| 国产精品毛片a∨一区二区三区| 91精品国产黑色紧身裤美女| 91免费国产在线观看| 国产精品99久久久久久似苏梦涵| 亚洲国产精品一区二区久久恐怖片| 中文字幕人成不卡一区| 欧美成人aa大片| 欧美视频在线一区二区三区| 99久久综合国产精品| 精品一区二区三区的国产在线播放| 一区二区三区日韩欧美精品| 久久婷婷综合激情| 日韩一区二区三区观看| 欧美日韩色一区| 91国内精品野花午夜精品 | 久久久久久久久岛国免费| 欧美日韩成人综合在线一区二区| eeuss鲁片一区二区三区 | 免费高清视频精品| 亚洲chinese男男1069| ...中文天堂在线一区| 久久婷婷成人综合色| 日韩欧美一级特黄在线播放| 欧美欧美欧美欧美首页| 欧美色图在线观看| 日本高清不卡在线观看| 色香蕉久久蜜桃| 99国产精品久久久久久久久久| 国产在线麻豆精品观看| 韩国三级电影一区二区| 美女视频一区二区| 久久国产夜色精品鲁鲁99| 麻豆精品久久久| 久久国产尿小便嘘嘘尿| 久久97超碰色| 国产精品99久久久久久宅男| 福利电影一区二区| aaa亚洲精品| 色悠久久久久综合欧美99| 99r精品视频| 欧美亚洲一区二区在线观看| 欧美精品国产精品| 日韩一区二区免费视频| 久久只精品国产| 欧美激情一区三区| **性色生活片久久毛片| 一片黄亚洲嫩模| 视频一区二区三区在线| 麻豆精品在线看| 国产夫妻精品视频| 91小视频在线| 91精品国产高清一区二区三区蜜臀 | 国产精品国产精品国产专区不片| 中文字幕亚洲电影| 性做久久久久久久免费看| 九色综合狠狠综合久久| 国产jizzjizz一区二区| 色婷婷精品大在线视频| 8x8x8国产精品| 国产日韩欧美一区二区三区乱码 | 欧美日韩专区在线| 日韩欧美在线影院| 国产精品午夜久久| 亚洲自拍与偷拍| 久久精品国产秦先生| 成+人+亚洲+综合天堂| 91福利资源站| 2023国产精品自拍| 亚洲一区欧美一区| 欧美影院精品一区| 日韩精品在线一区| 最新不卡av在线| 毛片av一区二区| 99精品国产99久久久久久白柏| 337p亚洲精品色噜噜噜| 国产精品系列在线| 蜜臀av性久久久久蜜臀aⅴ流畅| 成人一道本在线| 日韩免费在线观看| 亚洲精品乱码久久久久久| 国产一区二区三区四区在线观看| 91老司机福利 在线| 精品动漫一区二区三区在线观看| 亚洲精品国产成人久久av盗摄 | 天堂成人国产精品一区| 成人午夜私人影院| 日韩欧美中文字幕制服| 一区二区三区91| 成熟亚洲日本毛茸茸凸凹| 在线播放日韩导航| 亚洲人吸女人奶水| 高清av一区二区| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 极品美女销魂一区二区三区免费| 色综合久久88色综合天天| 国产女同互慰高潮91漫画| 日本不卡一区二区三区| 色8久久人人97超碰香蕉987| 久久久国际精品| 水野朝阳av一区二区三区| av成人免费在线| 国产婷婷色一区二区三区| 日本不卡在线视频| 精品视频全国免费看| 一区在线观看免费| 白白色 亚洲乱淫| 国产欧美日韩久久| 国产真实乱子伦精品视频| 日韩欧美国产综合| 日本va欧美va精品发布| 欧美丰满高潮xxxx喷水动漫| 亚洲精品免费电影| 在线亚洲欧美专区二区| 亚洲欧美视频一区| 不卡的av电影在线观看| 精品第一国产综合精品aⅴ| 热久久久久久久| 欧美mv和日韩mv的网站| 麻豆国产欧美日韩综合精品二区| 欧美日韩激情一区| 婷婷综合五月天| 欧美电影在哪看比较好| 亚洲成a人在线观看| 欧美日韩视频第一区| 丝袜亚洲精品中文字幕一区| 91精品黄色片免费大全| 美女一区二区在线观看| 欧美成人猛片aaaaaaa| a美女胸又www黄视频久久| 国产精品传媒入口麻豆| 色呦呦一区二区三区| 午夜精品久久久久久久蜜桃app| 欧美日韩亚洲综合一区| 免费在线欧美视频| 久久精品亚洲乱码伦伦中文| 国产成人精品三级| 最新中文字幕一区二区三区| 91福利资源站| 麻豆91免费观看| 欧美国产激情一区二区三区蜜月| 国产.欧美.日韩| 亚洲激情图片qvod| 欧美乱妇23p| 国内精品伊人久久久久影院对白| 国产欧美精品区一区二区三区| 99久久er热在这里只有精品15 | 一级女性全黄久久生活片免费| 欧美三级中文字| 美女性感视频久久| 国产精品久久久久久久久久免费看 | 26uuu亚洲婷婷狠狠天堂| 白白色 亚洲乱淫| 亚洲成人1区2区| 久久久亚洲欧洲日产国码αv| 成人av网址在线| 日韩在线观看一区二区| 久久久久久免费网| 欧美三级电影在线看| 国产一区二区不卡老阿姨|