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

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

?? dma2.c

?? 非常有用的DMA傳輸
?? C
字號:
/*****************************************
  NAME: dma.c
  DESC: DMA memory2memory test
  HISTORY:
  2001.03.31:purnnamu: draft ver 0.0
 *****************************************/

#include <string.h>
#include "def.h"
#include "option.h"
#include "2410addr.h"
#include "2410lib.h"
#include "2410slib.h" 

static void Dma0Done(void) __attribute__ ((interrupt ("IRQ")));
static void Dma1Done(void) __attribute__ ((interrupt ("IRQ")));
static void Dma2Done(void) __attribute__ ((interrupt ("IRQ")));
static void Dma3Done(void) __attribute__ ((interrupt ("IRQ")));

void DMA0123_M2M(int ch,int srcAddr,int dstAddr,int tc,int dsz,int burst);

typedef struct tagDMA
{
    volatile U32 DISRC;	    //0x0
    volatile U32 DISRCC;    //0x4
    volatile U32 DIDST;	    //0x8
    volatile U32 DIDSTC;    //0xc
    volatile U32 DCON;	    //0x10
    volatile U32 DSTAT;	    //0x14
    volatile U32 DCSRC;	    //0x18
    volatile U32 DCDST;	    //0x1c
    volatile U32 DMASKTRIG; //0x20
}DMA;


static volatile int dmaDone;

void Test_DMAWorst(void)
{
    int i;

    Uart_Printf("[DMA0123 MEM2MEM Worst Test]\n");
    dmaDone=0;

    for(i=_NONCACHE_STARTADDRESS;i<_NONCACHE_STARTADDRESS+0x800000;i+=4)
    {
    	*((U32 *)i)=i^0x55aa5aa5;
    }

    //Start DMA ch0,1,2,3 simultaneously.
    DMA0123_M2M(0,_NONCACHE_STARTADDRESS,_NONCACHE_STARTADDRESS+0x800000,0xfffff,0,0); //byte,single
}




void DMA0123_M2M(int ch,int srcAddr,int dstAddr,int tc,int dsz,int burst)
{
    int i,time;
    volatile U32 memSum0=0,memSum1=0;
    DMA *pDMA;
    int length;
    
    length=tc*(burst ? 4:1)*((dsz==0)+(dsz==1)*2+(dsz==2)*4);

    switch(ch)
    {
    case 0:
    	pISR_DMA0=(int)Dma0Done;
    	rINTMSK&=~(BIT_DMA0);  
    	pDMA=(void *)0x4b000000;
    	break;
    case 1:
    	pISR_DMA1=(int)Dma1Done;
    	rINTMSK&=~(BIT_DMA1);  
    	pDMA=(void *)0x4b000040;
    	break;
    case 2:
	pISR_DMA2=(int)Dma2Done;
    	rINTMSK&=~(BIT_DMA2);  
    	pDMA=(void *)0x4b000080;
	break;
    case 3:
        pISR_DMA3=(int)Dma3Done;
       	rINTMSK&=~(BIT_DMA3);  
       	pDMA=(void *)0x4b0000c0;
        break;
    }
                                                                                                                            
    pDMA->DISRC=srcAddr;
    pDMA->DISRCC=(0<<1)|(0<<0); // inc,AHB
    pDMA->DIDST=dstAddr;
    pDMA->DIDSTC=(0<<1)|(0<<0); // inc,AHB
    pDMA->DCON=tc|(1<<31)|(1<<30)|(1<<29)|(burst<<28)|(1<<27)|\
    	        (0<<23)|(1<<22)|(dsz<<20)|(tc);
    		//HS,AHB,TC interrupt,whole, SW request mode,relaod off
    //pDMA->DMASKTRIG=(1<<1)|1; //DMA on, SW_TRIG

    Uart_Printf(".");

    switch(ch)
    {
    case 0:
        //DMA Ch 1
	DMA0123_M2M(1,_NONCACHE_STARTADDRESS+0x200000,_NONCACHE_STARTADDRESS+0xa00000,0xfffff,1,0); //halfword,single
	break;
    case 1:
    	//DMA Ch 2
    	DMA0123_M2M(2,_NONCACHE_STARTADDRESS+0x400000,_NONCACHE_STARTADDRESS+0xc00000,0x80000,2,0); //word,single
        break;
    case 2:
        //DMA Ch 3
        DMA0123_M2M(3,_NONCACHE_STARTADDRESS+0x600000,_NONCACHE_STARTADDRESS+0xe00000,0x20000,2,1); //word,burst
        break;
    case 3:
    	rDMASKTRIG0=(1<<1)|1;
    	rDMASKTRIG1=(1<<1)|1;
    	rDMASKTRIG2=(1<<1)|1;
    	rDMASKTRIG3=(1<<1)|1;
    	break;	
    }
    
    while(dmaDone!=0xf);
  
    rINTMSK=BIT_ALLMSK;

    for(i=srcAddr;i<(srcAddr+length);i+=4)
    {
    	memSum0+=i^0x55aa5aa5;
    }
    for(i=dstAddr;i<dstAddr+length;i+=4)
    {
    	memSum1+=*((U32 *)i)=i^0x55aa5aa5;
    }

    Uart_Printf("\nDMA%d %8xh->%8xh,size=%xh(tc=%xh),dsz=%d,burst=%d\n",ch,
    		srcAddr,dstAddr,length,tc,dsz,burst);
    Uart_Printf("memSum0=%x,memSum1=%x\n",memSum0,memSum1);
    if(memSum0==memSum1)
    	Uart_Printf("DMA test result--------------------------------------O.K.\n");
    else 
    	Uart_Printf("DMA test result--------------------------------------ERROR!!!\n");

}


static void Dma0Done(void)
{
    ClearPending(BIT_DMA0);
    dmaDone+=1;
}

static void Dma1Done(void)
{
    ClearPending(BIT_DMA1);
    dmaDone+=2;
}

static void Dma2Done(void)
{
    ClearPending(BIT_DMA2);
    dmaDone+=4;
}

static void Dma3Done(void)
{
    ClearPending(BIT_DMA3);
    dmaDone+=8;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美日韩在线视频| 一区二区三区在线视频免费 | 欧美一区中文字幕| 成人爽a毛片一区二区免费| 日韩成人一区二区| 亚洲人123区| 日本一区二区三区久久久久久久久不 | 亚洲丝袜自拍清纯另类| 精品入口麻豆88视频| 91网页版在线| 国产v综合v亚洲欧| 毛片一区二区三区| 天堂在线一区二区| 亚洲一二三专区| 亚洲天堂网中文字| 国产精品久99| 26uuu国产日韩综合| 亚洲欧洲av另类| 欧美一级日韩一级| 欧美日本在线播放| 91国内精品野花午夜精品| av一区二区不卡| 成人动漫中文字幕| 国产经典欧美精品| 国产精品一区不卡| 国产成人aaa| 国产美女视频一区| 国产一区二区三区在线观看免费视频 | 久久av老司机精品网站导航| 视频一区国产视频| 午夜精品久久久久久不卡8050| 亚洲男人的天堂在线观看| 中文字幕日韩精品一区| 亚洲天堂2016| 亚洲理论在线观看| 亚洲精选免费视频| 亚洲图片欧美综合| 偷窥国产亚洲免费视频| 日韩av二区在线播放| 人人爽香蕉精品| 久久国产尿小便嘘嘘| 经典一区二区三区| 国产成人精品一区二区三区网站观看| 国产精品2024| 成人免费av在线| 成人美女视频在线观看| 一本久道中文字幕精品亚洲嫩| 日本韩国欧美一区| 欧美另类高清zo欧美| 欧美一区二区网站| 精品国产91亚洲一区二区三区婷婷 | 激情国产一区二区| 丁香五精品蜜臀久久久久99网站| av中文字幕一区| 在线观看国产精品网站| 911精品国产一区二区在线| 欧美一级欧美三级在线观看| 欧美哺乳videos| 国产视频不卡一区| 亚洲精品一二三区| 免费看日韩精品| 风间由美一区二区av101| 94色蜜桃网一区二区三区| 欧美在线免费播放| 精品理论电影在线观看| 国产精品久线在线观看| 亚洲成人手机在线| 黑人巨大精品欧美一区| 本田岬高潮一区二区三区| 欧美视频一区在线| 精品sm在线观看| 亚洲欧美一区二区三区极速播放| 午夜精品久久久久久久久久| 国产精品一区免费在线观看| 一本久久综合亚洲鲁鲁五月天 | 日本成人在线看| 国产成人免费视频网站| 欧美三级日本三级少妇99| 精品久久久久久亚洲综合网| 亚洲欧美经典视频| 韩国一区二区三区| 91久久国产综合久久| 欧美www视频| 亚洲成人午夜影院| 成人成人成人在线视频| 日韩亚洲电影在线| 亚洲三级小视频| 久久97超碰色| 在线观看亚洲精品视频| 欧美韩国日本综合| 日本aⅴ亚洲精品中文乱码| 成人一道本在线| 精品日韩99亚洲| 亚洲成av人片| 91色porny| 国产免费观看久久| 久久综合综合久久综合| 91福利在线导航| 中文字幕精品三区| 激情五月激情综合网| 欧美精选一区二区| 一区二区三区精密机械公司| 国产成人啪午夜精品网站男同| 欧美精选在线播放| 一区二区三区不卡视频在线观看 | 亚洲午夜精品网| 成人18视频日本| 久久久一区二区三区捆绑**| 日韩黄色小视频| 91久久线看在观草草青青| 国产精品久久国产精麻豆99网站| 狠狠色狠狠色综合| 国产精品久久久久桃色tv| 麻豆精品一区二区三区| 欧美日韩一区国产| 一区二区在线免费观看| 99vv1com这只有精品| 国产精品丝袜91| 成人影视亚洲图片在线| 久久九九国产精品| 激情图片小说一区| 日韩免费观看高清完整版| 日韩激情视频网站| 69p69国产精品| 日韩中文字幕av电影| 欧美精品一二三| 五月婷婷另类国产| 欧美肥妇毛茸茸| 亚洲超碰97人人做人人爱| 欧美日韩黄色影视| 午夜精品久久一牛影视| 91麻豆精品国产无毒不卡在线观看 | 风间由美一区二区av101| 国产三级久久久| 丁香六月久久综合狠狠色| 亚洲国产精华液网站w| 成人激情综合网站| 中文字幕综合网| 在线精品视频一区二区三四| 亚洲国产毛片aaaaa无费看| 欧美少妇一区二区| 日精品一区二区| 精品国产麻豆免费人成网站| 久草中文综合在线| 久久久高清一区二区三区| 国产99久久久久| 亚洲柠檬福利资源导航| 在线观看91精品国产入口| 日韩专区一卡二卡| 久久综合网色—综合色88| 国产激情偷乱视频一区二区三区| 中文字幕精品一区| 91福利在线播放| 免费成人在线网站| 国产情人综合久久777777| 91影视在线播放| 亚洲成a人片综合在线| 日韩欧美自拍偷拍| 成人a免费在线看| 亚洲国产中文字幕| 精品免费国产二区三区| 成人免费av资源| 婷婷中文字幕一区三区| 久久午夜电影网| 色婷婷av久久久久久久| 日韩av在线播放中文字幕| xvideos.蜜桃一区二区| 色综合视频一区二区三区高清| 日韩中文字幕av电影| 欧美国产禁国产网站cc| 精品视频资源站| 国产乱人伦偷精品视频不卡 | 国产精选一区二区三区| 亚洲品质自拍视频| 日韩精品一区二区三区中文精品| 成人性生交大合| 无吗不卡中文字幕| 国产精品免费人成网站| 欧美日韩激情一区二区三区| 国产91色综合久久免费分享| 亚洲国产一区视频| 久久久99精品免费观看| 精品视频在线免费看| 国产一区二区三区电影在线观看 | 免费的国产精品| 亚洲欧美日韩系列| 精品福利一区二区三区免费视频| 日韩欧美一区在线观看| 色呦呦一区二区三区| 久久99精品久久久久久动态图| 樱花影视一区二区| 欧美韩国日本不卡| 日韩一二三四区| 欧美三级在线视频| av一本久道久久综合久久鬼色| 美女mm1313爽爽久久久蜜臀| 亚洲免费在线观看视频| 亚洲国产成人在线| 日韩欧美中文一区二区| 欧美日韩中文精品|