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

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

?? sport.c

?? DSP編程
?? C
?? 第 1 頁 / 共 2 頁
字號:
	*(unsigned volatile int *)(SPI_TRANS_PARAMS_RELOAD + LNK)= ((0xffff& SPI_TRANS_PARAMS_RELOAD));	
	
	
//	*(unsigned volatile int *)CIERL |= 0x200;		//Enable EDMA Done INT 
	//Transfer complete code (TCCM+ :TCC) is 00 1001

}


/*-------------------------------------------------------------------------*/
/* evt_edma_init() - used to initiate channel  EDMA         
read from a FIFO to a ram                                                    */
/*-------------------------------------------------------------------------*/
void evt_edmar_init(int src, int dst, int size, int ch)
{ 
	
	//Config the EDMA Channel 	EDMA Transfer Parameters
//	*(unsigned volatile int *)(EVENT_PARAMS_ADDR(ch) + OPT)= 0x40390002;
		//PRI ESIZE 2DS SUM 2DD DUM TCINT TCC  Reserved        LINK FS
		//010  00    0  00   0   01  1    1000 00000000000000  1    0
	*(unsigned volatile int *)(EVENT_PARAMS_ADDR(ch) + OPT)= ((0<<PRI) + (0<<ESIZE)+
									(0<<SUM) + (1<<DUM) + (0<<TCINT) + (ch<<TCC)+
									(1<<LINK) + (0<<FS));
		
	*(unsigned volatile int *)(EVENT_PARAMS_ADDR(ch) + SRC)= src;
	*(unsigned volatile int *)(EVENT_PARAMS_ADDR(ch) + CNT)= size;
	*(unsigned volatile int *)(EVENT_PARAMS_ADDR(ch) + DST)= dst;
	*(unsigned volatile int *)(EVENT_PARAMS_ADDR(ch) + IDX)= 0x00000000;
	*(unsigned volatile int *)(EVENT_PARAMS_ADDR(ch) + LNK)= ((0xffff& SPI_REC_PARAMS_RELOAD));

	*(unsigned volatile int *)(SPI_REC_PARAMS_RELOAD + OPT)= ((0<<PRI) + (0<<ESIZE)+
									(0<<SUM) + (1<<DUM) + (0<<TCINT) + (ch<<TCC)+
									(1<<LINK) + (0<<FS));
	
	*(unsigned volatile int *)(SPI_REC_PARAMS_RELOAD + SRC)= src;
	*(unsigned volatile int *)(SPI_REC_PARAMS_RELOAD + CNT)= size;
	*(unsigned volatile int *)(SPI_REC_PARAMS_RELOAD + DST)= dst;
	*(unsigned volatile int *)(SPI_REC_PARAMS_RELOAD + IDX)= 0x00000000;
	*(unsigned volatile int *)(SPI_REC_PARAMS_RELOAD+ LNK)= ((0xffff& SPI_REC_PARAMS_RELOAD));	

}

#if 0
int SPORT_edmax_init(int src, unsigned int MsBSP_ch, int size)
{ 
	unsigned char DMA_ch;
	volatile EDMA_REG  *EDMA_reg ;
	
	if((MsBSP_ch >= McBSP_CHANNEL_NUM))
		return 0;

	DMA_ch = McBSPx_EDMA_Ch[MsBSP_ch];
 	EDMA_reg = (volatile EDMA_REG  *)EVENT_PARAMS_ADDR(DMA_ch);
	*(unsigned volatile int *)ECRL |= (1<<DMA_ch);		//Clear all pending events

	EDMA_reg->opt = ((2<<PRI) + (0<<ESIZE) + 
					(0<<DS) + (1<<SUM) + 
					(0<<DD) + (0<<DUM) +
				 (1<<TCINT) + ((DMA_ch%16)<<TCC) + ((MsBSP_ch>>1)<<TCCM) +
				 (1<<LINK) + (0<<FS) );
	EDMA_reg->src = src;
	EDMA_reg->cnt = size;
	EDMA_reg->dst = SP_MEM_ADDR(MsBSP_ch);
	EDMA_reg->idx = 0x00000000;
	EDMA_reg->lnk = ((0xffff& NULL_PARAMS_ADDR));
	
	*(unsigned volatile int *)CIERL |= (1<<DMA_ch);		//Enable EDMA Done INT 
	*(unsigned volatile int *)EERL |= (1<<DMA_ch);	//only enable EVENT ch
	return 1;
}

/*-------------------------------------------------------------------------*/
/* evt_edma_init() - used to initiate channel  EDMA         
read size 32bit from a FIFO to a ram                                                    */
/*-------------------------------------------------------------------------*/
int SPORT_edmar_init(int dst, unsigned int MsBSP_ch, int size)
{ 
	unsigned char DMA_ch;
	volatile EDMA_REG  *EDMA_reg ;
	
	if((MsBSP_ch >= McBSP_CHANNEL_NUM))
		return 0;

	DMA_ch = McBSPr_EDMA_Ch[MsBSP_ch];
	
   	EDMA_reg = (volatile EDMA_REG  *)EVENT_PARAMS_ADDR(DMA_ch);
	*(unsigned volatile int *)ECRL |= (1<<DMA_ch);		//Clear all pending events
	
	//Config the EDMA Channel 	EDMA Transfer Parameters
	EDMA_reg->opt = ((2<<PRI) + (0<<ESIZE) + 
					(0<<DS) + (0<<SUM) + 
					(0<<DD) + (1<<DUM) +
				 (1<<TCINT) + ((DMA_ch%16)<<TCC) + ((MsBSP_ch>>1)<<TCCM) +
				(1<<LINK) + (0<<FS) );
	EDMA_reg->src = SP_MEM_ADDR(MsBSP_ch);
	EDMA_reg->cnt = size;
	EDMA_reg->dst = dst;
	EDMA_reg->idx = 0x00000000;
	EDMA_reg->lnk = ((0xffff& NULL_PARAMS_ADDR));
	
	*(unsigned volatile int *)CIERL |= (1<<DMA_ch);		//Enable EDMA Done INT 
	*(unsigned volatile int *)EERL |= (1<<DMA_ch);	//only enable EVENT ch
	return 1;
}
#endif

/*-------------------------------------------------------------------------*/
/* evt_edma_init() - used to initiate channel  EDMA         
read size 32bit from a FIFO to a ram              */
/*modefied by shiyan at 11/6/2003*/ 
/*-------------------------------------------------------------------------*/
int SPORT_edmar_init(int dst, unsigned int MsBSP_ch, int size)
{ 
	unsigned char DMA_ch;
	volatile EDMA_REG  *EDMA_reg ;
	
	if((MsBSP_ch >= McBSP_CHANNEL_NUM))
		return 0;

	DMA_ch = McBSPr_EDMA_Ch[MsBSP_ch];
	
   	EDMA_reg = (volatile EDMA_REG  *)EVENT_PARAMS_ADDR(DMA_ch);
	*(unsigned volatile int *)ECRL |= (1<<DMA_ch);		//Clear all pending events
	
	//Config the EDMA Channel 	EDMA Transfer Parameters
	EDMA_reg->opt = ((2<<PRI) + (0<<ESIZE) + 
					(0<<DS) + (0<<SUM) + 
					(0<<DD) + (1<<DUM) +
				 (1<<TCINT) + ((DMA_ch%16)<<TCC) + ((MsBSP_ch>>1)<<TCCM) +
				(0<<LINK) + (0<<FS) );
	EDMA_reg->src = SP_MEM_ADDR(MsBSP_ch);
	EDMA_reg->cnt = size;
	EDMA_reg->dst = dst;
	EDMA_reg->idx = 0x00000000;
	EDMA_reg->lnk = 0;
	
//	EDMA_reg->lnk = ((0xffff& NULL_PARAMS_ADDR));
	
	*(unsigned volatile int *)CIERL |= (1<<DMA_ch);		//Enable EDMA Done INT 
	*(unsigned volatile int *)EERL |= (1<<DMA_ch);	//only enable EVENT ch
	return 1;
}


int SPORT_edmax_init(int src, unsigned int MsBSP_ch, int size)
{ 
	unsigned char DMA_ch;
	volatile EDMA_REG  *EDMA_reg ;
	
	if((MsBSP_ch >= McBSP_CHANNEL_NUM))
		return 0;

	DMA_ch = McBSPx_EDMA_Ch[MsBSP_ch];
 	EDMA_reg = (volatile EDMA_REG  *)EVENT_PARAMS_ADDR(DMA_ch);
	*(unsigned volatile int *)ECRL |= (1<<DMA_ch);		//Clear all pending events

	EDMA_reg->opt = ((2<<PRI) + (0<<ESIZE) + 
					(0<<DS) + (1<<SUM) + 
					(0<<DD) + (0<<DUM) +
				 (0<<TCINT) + ((DMA_ch%16)<<TCC) + ((MsBSP_ch>>1)<<TCCM) +
				 (1<<LINK) + (0<<FS) );

	EDMA_reg->src = src;
	EDMA_reg->cnt = size;
	EDMA_reg->dst = SP_MEM_ADDR(MsBSP_ch);
	EDMA_reg->idx = 0x00000000;
	EDMA_reg->lnk = ((0xffff& NULL_PARAMS_ADDR));
	
//	*(unsigned volatile int *)CIERL |= (1<<DMA_ch);		//Enable EDMA Done INT 
//	doesn't need EDMA done interrupt.
	*(unsigned volatile int *)EERL |= (1<<DMA_ch);	//only enable EVENT ch
	return 1;
}


#ifdef _PINGPONG_VER
int SPORT_edmar_pingpong_init(int dst,int dst_ping, int dst_pong, unsigned int MsBSP_ch, int size)
{ 
	unsigned char DMA_ch;
	volatile EDMA_REG  *EDMA_reg ;
	
	if((MsBSP_ch >= McBSP_CHANNEL_NUM))
		return 0;

	SPORT_edmar_ping_pong(dst_ping, dst_pong, MsBSP_ch, size);

	DMA_ch = McBSPr_EDMA_Ch[MsBSP_ch];
	
   	EDMA_reg = (volatile EDMA_REG  *)EVENT_PARAMS_ADDR(DMA_ch);
	*(unsigned volatile int *)ECRL |= (1<<DMA_ch);		//Clear all pending events
	
	//Config the EDMA Channel 	EDMA Transfer Parameters
	EDMA_reg->opt = ((2<<PRI) + (0<<ESIZE) + 
					(0<<DS) + (0<<SUM) + 
					(0<<DD) + (1<<DUM) +
				 (1<<TCINT) + ((DMA_ch%16)<<TCC) + ((MsBSP_ch>>1)<<TCCM) +
				(1<<LINK) + (0<<FS) );
	EDMA_reg->src = SP_MEM_ADDR(MsBSP_ch);
	EDMA_reg->cnt = size;
	EDMA_reg->dst = dst;
	EDMA_reg->idx = 0x00000000;
	EDMA_reg->lnk = (0xffff & EVENT_PARAMS_ADDR(SPORT_EDMA_R_PING[MsBSP_ch]));
	//SPORT_edmar_ping_pong(dst_ping, dst_pong, MsBSP_ch, size);
//	EDMA_reg->lnk = ((0xffff& NULL_PARAMS_ADDR));
	
	*(unsigned volatile int *)CIERL |= (1<<DMA_ch);		//Enable EDMA Done INT 
	*(unsigned volatile int *)EERL |= (1<<DMA_ch);	//only enable EVENT ch
	return 1;
}

/*------------------------------------------------------------------------------*/
/* SPORT_edmar_ping                                                             */
/*------------------------------------------------------------------------------*/
void SPORT_edmar_ping_pong(int dst_ping, int dst_pong, unsigned int MsBSP_ch, int size)
{
    unsigned char DMA_ch, DMA_ch_ping, DMA_ch_pong;
    volatile EDMA_REG *EDMA_reg_ping, *EDMA_reg_pong;
    
    DMA_ch = McBSPr_EDMA_Ch[MsBSP_ch];
    DMA_ch_ping = SPORT_EDMA_R_PING[MsBSP_ch];
    DMA_ch_pong = SPORT_EDMA_R_PONG[MsBSP_ch];
    
    EDMA_reg_ping = (volatile EDMA_REG *)EVENT_PARAMS_ADDR(DMA_ch_ping);
    EDMA_reg_pong = (volatile EDMA_REG *)EVENT_PARAMS_ADDR(DMA_ch_pong);
//    *(unsigned volatile int *)ECRL |= (1<<DMA_ch_ping) + (1<<DMA_ch_pong);     //Clear all pending events
    
    //Config the EDMA Channel 	EDMA Transfer Parameters
    EDMA_reg_ping->opt = ((2<<PRI) + (0<<ESIZE) + 
				          (0<<DS) + (0<<SUM) + 
				          (0<<DD) + (1<<DUM) +
				          (1<<TCINT) + ((DMA_ch%16)<<TCC) + ((MsBSP_ch>>1)<<TCCM) +
			              (1<<LINK) + (0<<FS) );
    EDMA_reg_ping->src = SP_MEM_ADDR(MsBSP_ch);
	EDMA_reg_ping->cnt = size;
	EDMA_reg_ping->dst = dst_ping;
	EDMA_reg_ping->idx = 0x00000000;
	EDMA_reg_ping->lnk = (0xffff & EVENT_PARAMS_ADDR(SPORT_EDMA_R_PONG[MsBSP_ch]));
	
    EDMA_reg_pong->opt = ((2<<PRI) + (0<<ESIZE) + 
				          (0<<DS) + (0<<SUM) + 
				          (0<<DD) + (1<<DUM) +
				          (1<<TCINT) + ((DMA_ch%16)<<TCC) + ((MsBSP_ch>>1)<<TCCM) +
			              (1<<LINK) + (0<<FS) );
    EDMA_reg_pong->src = SP_MEM_ADDR(MsBSP_ch);
	EDMA_reg_pong->cnt = size;
	EDMA_reg_pong->dst = dst_pong;
	EDMA_reg_pong->idx = 0x00000000;
	EDMA_reg_pong->lnk = (0xffff & EVENT_PARAMS_ADDR(SPORT_EDMA_R_PING[MsBSP_ch]));
	
//	*(unsigned volatile int *)CIERL |= (1<<DMA_ch);		//Enable EDMA Done INT 
//	*(unsigned volatile int *)EERL |= (1<<DMA_ch);	//only enable EVENT ch
}
#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本韩国欧美三级| 99麻豆久久久国产精品免费优播| 6080午夜不卡| 另类成人小视频在线| 精品国产sm最大网站免费看| 国产成人啪免费观看软件| 国产精品精品国产色婷婷| 91在线视频播放| 亚洲成人动漫一区| 日韩欧美卡一卡二| 国产激情偷乱视频一区二区三区 | 色香色香欲天天天影视综合网| 1024成人网| 欧美日韩国产免费一区二区| 九色|91porny| 国产精品久久久久影院| 欧美三级资源在线| 久久精品国产亚洲一区二区三区| 国产女人aaa级久久久级| 91免费版pro下载短视频| 日精品一区二区三区| 国产三级精品视频| 欧美日韩精品一区二区| 国产精品亚洲人在线观看| 一区二区三区四区不卡在线 | 午夜精品福利在线| 2024国产精品| 在线视频一区二区免费| 精品一区二区在线视频| 亚洲欧美另类久久久精品| 欧美电影免费观看完整版 | 欧美亚洲综合久久| 国产传媒欧美日韩成人| 亚洲高清三级视频| 国产午夜一区二区三区| 欧美色视频在线| 成人午夜碰碰视频| 美女脱光内衣内裤视频久久影院| 中文字幕一区二区不卡| 日韩视频一区二区三区在线播放 | 国产欧美日韩另类一区| 欧美美女一区二区三区| 不卡电影一区二区三区| 精品一区二区三区欧美| 亚洲高清三级视频| 亚洲欧美经典视频| 欧美国产在线观看| 日韩欧美中文一区二区| 欧洲一区在线观看| 成人污污视频在线观看| 国产在线一区二区| 日本最新不卡在线| 亚洲 欧美综合在线网络| 国产精品每日更新在线播放网址| xvideos.蜜桃一区二区| 欧美一级在线免费| 欧美日韩精品欧美日韩精品一| 91亚洲精品一区二区乱码| 国产精品一级片| 国内成人精品2018免费看| 日韩电影在线一区| 午夜久久久影院| 亚洲午夜久久久久久久久电影网 | 国产不卡一区视频| 久久97超碰国产精品超碰| 日韩主播视频在线| 亚洲午夜三级在线| 亚洲综合色视频| 亚洲精品日韩综合观看成人91| 中文字幕在线观看不卡视频| 国产精品国产精品国产专区不蜜| 久久久久久久久99精品| 久久亚洲精华国产精华液| 亚洲精品一区二区三区四区高清| 精品国产制服丝袜高跟| 欧美不卡一区二区三区| 欧美不卡一区二区三区| 精品少妇一区二区三区日产乱码 | 懂色中文一区二区在线播放| 国产麻豆成人精品| 国产成人自拍在线| 成人网男人的天堂| 色综合久久66| 欧美日韩在线综合| 欧美一区二区在线不卡| 日韩一级在线观看| 日韩欧美国产精品| 久久久精品中文字幕麻豆发布| 国产三级精品三级| 日韩伦理av电影| 亚洲国产精品精华液网站| 日本午夜一区二区| 国产精品影视在线观看| proumb性欧美在线观看| 色国产精品一区在线观看| 欧美蜜桃一区二区三区| 欧美大片国产精品| 中文字幕免费不卡| 亚洲精品视频在线观看网站| 午夜精品久久久久久久| 国产在线一区观看| 91欧美激情一区二区三区成人| 欧美性猛片xxxx免费看久爱| 欧美一卡二卡在线| 国产精品理伦片| 性做久久久久久| 国产精品综合在线视频| 色诱视频网站一区| 日韩一区二区三区电影| 国产精品久久久久影视| 日韩福利电影在线| 国产成人av影院| 欧美日韩精品电影| 欧美经典一区二区三区| 亚洲一区二区精品3399| 蜜乳av一区二区三区| 99免费精品视频| 日韩三级高清在线| 亚洲免费三区一区二区| 精品一区二区三区在线观看| 97成人超碰视| 久久―日本道色综合久久| 一区二区久久久| 国产一区二区美女| 欧美色综合影院| 蜜臀久久99精品久久久画质超高清 | 亚洲精品美国一| 久久国产精品色| 在线观看成人小视频| 欧美国产精品专区| 日本成人超碰在线观看| 99国产精品一区| 国产无人区一区二区三区| 天天综合色天天综合色h| 不卡的av在线播放| 26uuu久久天堂性欧美| 天堂va蜜桃一区二区三区漫画版| 成人av电影免费在线播放| 日韩精品综合一本久道在线视频| 亚洲激情av在线| www.视频一区| 国产亚洲欧美日韩在线一区| 视频一区二区三区中文字幕| 色婷婷av一区二区| 国产精品你懂的| 豆国产96在线|亚洲| 久久影视一区二区| 美腿丝袜在线亚洲一区| 欧美挠脚心视频网站| 亚洲国产一区二区视频| 一本色道久久综合精品竹菊| 国产精品天天摸av网| 国产精品一区专区| 久久久噜噜噜久久中文字幕色伊伊| 日产欧产美韩系列久久99| 欧美一区欧美二区| 日韩精品视频网站| 欧美三级资源在线| 亚洲va韩国va欧美va| 欧美日韩高清影院| 亚洲国产精品天堂| 色狠狠av一区二区三区| 亚洲一区二区欧美| 欧美日韩国产电影| 免费观看久久久4p| 精品国偷自产国产一区| 国产一区在线精品| 国产亚洲一区二区三区四区| 成人性视频免费网站| 国产精品黄色在线观看| 一本色道a无线码一区v| 一区二区久久久久| 欧美巨大另类极品videosbest| 五月婷婷久久综合| 亚洲精品乱码久久久久久日本蜜臀| 国产成a人亚洲精品| 中文字幕一区二区三区精华液 | 国产在线观看一区二区| 久久亚洲捆绑美女| 成人午夜免费av| 一卡二卡欧美日韩| 欧美欧美午夜aⅴ在线观看| 久久99国产精品免费网站| 久久久一区二区| 99热这里都是精品| 香蕉加勒比综合久久| 欧美电影免费观看高清完整版在线观看 | 国产成人精品亚洲777人妖| 国产精品久久99| 欧美日韩视频在线观看一区二区三区| 日韩av电影免费观看高清完整版| 亚洲精品一区二区三区精华液 | 国产精品色在线观看| 91久久免费观看| 久久av中文字幕片| 国产精品免费aⅴ片在线观看| 色天天综合色天天久久| 久久se精品一区精品二区| 中文字幕一区av| 91精品国产aⅴ一区二区|