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

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

?? codec.s54

?? c5x中關于codec的實驗
?? S54
字號:
;******************************************************************************
;               		SJTU DSP Tech. Center
;        Copyright (c) 2002 SJTU DSP Tech. Center. All Rights Reserved.
;  History:
;		Date		Authors			Changes
;		2003/08/30	Fu Xuan			Created.
;******************************************************************************
	.mmregs
	
;functions
	.global		_c_int00
	.global		_leds_on
	.global		_leds_off
	.global		_init_mcbsp
	.global		_init_codec
	.global		_init_dma
	.global		_enable_codec
	.global		_processing
;variables	
	.global		_input_pingpong_flag
	.global		_output_pingpong_flag
	.global		_dmac0_int_flag
	.global		_dmac4_int_flag
	.global		_in_data_ping
	.global		_in_data_pong
	.global		_out_data_ping
	.global		_out_data_pong

data_size		.set 	1024	

frame_size_1	.set 	2
arg_2			.set 	frame_size_1+1
arg_3			.set 	arg_2+1
arg_4			.set 	arg_3+1

frame_size_2	.set 	0
arg_out			.set 	frame_size_2+1
arg_N			.set 	arg_out+1

FC_SET			.set 	0x0008
FC_CLR			.set 	0x0000
	
	.include	"dsp_cnst.h54"
	
	.text
;=================================================================	
_leds_on:
	portr	CNTL1, *(AL)
	or		#0x0007, A				;USERLED0=USERLED1=USERLED2=1
	portw	*(AL), CNTL1			;LED0、LED1 and LED2 shine
	ret
	
;=================================================================	
_leds_off:
	portr	CNTL1, *(AL)
	and		#0xFFF8, A				;USERLED0=USERLED1=USERLED2=0
	portw	*(AL), CNTL1			;LED1、LED2 and LED3 shut
	ret
		
;=================================================================	
_init_mcbsp:						;所有寄存器都可自由使用
	stm		#MCBSP1_CNST, AR2
	stm		#SPSA1, AR3
	stm		#(15-1), BRC
	rptb	MCBSP1_loop-1
	ld		*AR2+, A
	stl		A, *AR3+
	ld		*AR2+, A
	stl		A, *AR3-
MCBSP1_loop:
	ret
	
;=================================================================	
_init_codec:
	pshm	ST0
	pshm	ST1
	
	;select codec as McBSP1 signal resource
	stm		#0, AR2
	portw	*(AR2), CNTL2			;CNTL2=0x0000
	
	ssbx	INTM					;disable interrupts
	
	stm		#FC_SET, AR2
	stm		#FC_CLR, AR3
	
	stm		#SPCR2, SPSA1			;SPCR21
	stm		#0x0101, SPSD1			;XRST=1, enable McBSP1 transmit, soft mode

;*************************************************************************
;				Data Format in Secondary Communication
;   D15 D14 D13 |D12 D11 D10 D9 D8| D7 D6 D5 D4 D3 D2 D1 D0
;            |  |     register    |   register
;           R/W |     address     |     data
;*************************************************************************
	ld      #0, B
	
	call 	wait_rdy				;wait until McBSP1 transmit complete
	stlm	B, DXR11				;write zero
	nop
		
	portw   *(AR2), CNTL2			;set FC=1, 2nd communication request
	nop
	
	;reset codec
	call 	wait_rdy
	stm     #0x0181, DXR11			; REG1, Reset codec (D7), 16 bits DA
	
	call    wait_rdy
	stlm	B, DXR11				;write nop register
	nop
	
	portw 	*(AR3), CNTL2			;clear FC to 0
	
	stm		#4000, AR5
wait_reset:							;wait for codec to reset, clear out initial data
	nop
	banz	wait_reset, *AR5-

	call 	wait_rdy
	stlm	B, DXR11				;write nop register
	nop
		
	portw 	*(AR2), CNTL2
	nop

	;set control register 1	
	call 	wait_rdy
	stlm	A, DXR11				;arg_1在A中
	
	;set control register 2
	call 	wait_rdy
	mvdk	*SP(arg_2), AL
	stlm	A, DXR11

	;set control register 3	
	call 	wait_rdy
	mvdk	*SP(arg_3), AL
	stlm	A, DXR11
	
	;set control register 4
	call 	wait_rdy
	mvdk	*SP(arg_4), AL
	stlm	A, DXR11
	
	call 	wait_rdy
	stlm	B, DXR11				;write nop register
	nop

	portw	*(AR3), CNTL2			;clear FC to 0

	nop
	nop
	nop

	stm		#SPSA1, AR4				;McBSP1子地址寄存器
	st		#1, *AR4+				;選中控制寄存器SPCR21
	andm	#0xfffe, *AR4-			;/XRST=0發送部分復位
	
	popm	ST1
	popm	ST0
	
	ret
	
;******************************************************************************
;** Function:	wait_rdy
;** Description:	wait for codec send int and clear FC
;******************************************************************************
wait_rdy:
	stm		#SPCR2, SPSA1
	bitf	*(SPSD1), #0x0002
	bc		wait_rdy, NTC
	
	ret
	
;=================================================================	
_init_dma:
	;set DMA0, DMA4 high priority, 中斷復用INTOSEL=10b(DMA1,2,3), close all other DMA
	stm		#0x1180, DMPREC
	stm		#DMA_CNST, AR3
	stm		#0, DMSA
	stm		#DMSDI, AR2				;帶地址自動增加得子區訪問寄存器
;	rpt		#40-1
;	mvdd	*AR3+, *AR2
	stm		#20-1, BRC
	rptb	END_INIT_DMA-1
	mvdd	*AR3+, *AR2
	mvdd	*AR3+, *AR2
END_INIT_DMA:
	ret

;=================================================================	
_enable_codec:
	;LED0 shines to show that all initializations have finished
	portr	CNTL1, *(AL)
	or		#0x0001, A				;USERLED0=1
	portw	*(AL), CNTL1
	
	;ready for data receive
	stm		#0x1040, IMR			;set IMR to enable DMA0, DMA4 Interrupt
	stm		#0xffff, IFR			;set IFR to clear pending interrupt

	;enable interrupts
	stm		#0x00E0, PMST			;IPTR=#0x0080
	rsbx	INTM
	
	;enable channel 0 and 4 of DMA
	ldm		DMPREC, A				;set DE[0]=1, DE[4]=1 to enable channel 0, 4
	or		#0x0011, A
	stlm	A, DMPREC

	;enable McBSP1 (set RRST=XRST=1)
	stm		#SPSA1, AR2				;McBSP1子地址寄存器
	st		#0, *AR2+				;選中控制寄存器SPCR11
	orm		#0x0001, *AR2-			;/RRST=1接收部分使能
	st		#1, *AR2+				;選中控制寄存器SPCR21
	orm		#0x0001, *AR2-			;/XRST=1發送部分使能
	
	ret
	
;******************************************************************************
;** Function:	_processing
;** Description:
;**		Processing the data received from AD and send the result to DA
;******************************************************************************
_processing:
	;put your information processing program here
	;at this time, we just send the raw data back to DA without any processing
	stlm	A, AR2					;arg_in->AR2
	mvdk	*SP(arg_out), AR3

	stm		#512-1, BRC
	rptb	END_PROCESSING-1
	mvdd	*AR2+, *AR3+
	mvdd	*AR2+, *AR3+
	
END_PROCESSING:
	ret

;******************************************************************************	
	.sect	"Init_table"
MCBSP1_CNST:		;應用和設計P133
	.word	0		;sub address==SPCR11
	.word	0x4000	;SPCR11
					;DLB=0, RJUST=10, CLKSTP=00, DXENA=0, ABIS=0, RINTM=00(RINT由RRDY驅動)
					;RSYNCERR=0, /RRST=0
	.word	1		;sub address==SPCR21
	.word	0x0100	;SPCR21
					;FREE=0, SOFT=1, /FRST=0, /GRST=0, XINTM=00, XSYNCERR=0
					;/XRST=0

	.word	2		;sub address==RCR11
	.word	0x0040	;RCR11
					;RFRLEN1=000 0000 (1 word per frame), RWDLEN1=010 (16 bits per word)
	.word	3		;sub address==RCR21
	.word	0x0000	;RCR21
					;RPHASE=0, RCOMPAND=00, RFIG=0, RDATDLY=00
	.word	4		;sub address==XCR11
	.word	0x0040	;XCR11
					;XFRLEN1=000 0000 (1 word per frame), XWDLEN1=010 (16 bits per word)
	.word	5		;sub address==XCR21
	.word	0x0000	;XCR21
					;XPHASE=0, XCOMPAND=00, XFIG=0, XDATDLY=00

	.word	6		;sub address==SRGR11
	.word	0x0000	;SRGR11
	.word	7		;sub address==SRGR21
	.word	0x0000	;SRGR21
	.word	8		;sub address==MCR10
	.word	0		;MCR11
					;RMCM=0
	.word	9		;sub address==MCR21
	.word	0		;MCR21
					;XMCM=00

	.word	10		;sub address==RCERA1
	.word	0		;RCERA1
	.word	11		;sub address==RCERB1
	.word	0		;RCERB1
	.word	12		;sub address==XCERA1
	.word	0		;XCERA1
	.word	13		;sub address==XCERB1
	.word	0		;XCERB1

	.word	14		;sub address==PCR1
	.word	0x000C	;XIOEN=RIOEN=0(串行口引腳工作), FSXM=FSRM=0(輸入腳,外部驅動), CLKXM=CLKRM=0(輸入腳,外部驅動)
					;FSXP=FSRP=1(脈沖低有效), CLKXP=CLKRP=0(上升沿采樣)

DMA_CNST:			;應用和設計P151
	;DMA0 For McBSP1 receive
	.word	DRR11	;DMSRC0 通道0源地址McBSP1 Receiver Register
	.word	_in_data_ping			;DMDST0 通道0目的地址
	.word	data_size-1			;DMCTR0 元素數目-1
	.word	0x5000	;DMSFC0 
					;DSYN=0101(同步事件為McBSP1接收事件), DBLW=0(單字模式), Frame Count=1-1
	.word	0xE045	;DMMCR0
					;AUTOINIT=1(自動初始化), DINM=1, IMOD=1(幀結束中斷), 
					;CTMOD=0(多幀模式), SIND=000(不修改源地址), DMS=01(數據空間),
					;DIND=001(目的地址加1), DMD=01(數據空間)

	.word	0		;DMSRC1
	.word	0		;DMDST1
	.word	0		;DMCTR1
	.word	0		;DMSFC1
	.word	0		;DMMCR1

	.word	0		;DMSRC2
	.word	0		;DMDST2
	.word	0		;DMCTR2
	.word	0		;DMSFC2
	.word	0		;DMMCR2

	.word	0		;DMSRC3
	.word	0		;DMDST3
	.word	0		;DMCTR3
	.word	0		;DMSFC3
	.word	0		;DMMCR3

	.word	_out_data_ping			;DMSRC4 通道1源地址OUTPUT_PINGPONG_0
	.word	DXR11					;DMDST4 通道1目的地址McBSP1的發送寄存器
	.word	data_size-1		;DMCTR4 元素數目-1
	.word	0x6000	;DMSFC4
					;DSYN=0110(同步事件為McBSP1發送事件), DBLW=0(單字模式), Frame Count=1-1
	.word	0x5141	;DMMCR4
					;AUTOINIT=0(不自動初始化), DINM=1, IMOD=0(緩沖區滿中斷), 
					;CTMOD=1(ABU模式), SIND=001(源地址+1), DMS=01(數據空間),
					;DIND=000(不修改目的地址), DMD=01(數據空間)

	.word	0		;DMSRC5
	.word	0		;DMDST5
	.word	0		;DMCTR5
	.word	0		;DMSFC5
	.word	0		;DMMCR5

	.word	0		;DMSRCP, no extended addressing
	.word	0		;DMDSTP, no extended addressing

	.word	0		;DMIDX0
	.word	0		;DMIDX1

	.word	0		;DMFRI0
	.word	0		;DMFRI1

	.word	DRR11	;DMGSA(重載源地址)
	.word	_in_data_ping		;DMGDA(重載目的地址)
	.word	data_size-1		;DMGCR(重載元素數目-1)
	.word	0		;DMGFR(重載幀數目-1)
	
;**************************vectors*********************************************
   	.sect   "vectors"
int_reset:
	b 		_c_int00
	nop
	nop
	
   .space	84*16

int_damc0:
	bd		DMAC0_ISR	;read data from DRR11 to INPUT_PINGPONG0/1
	pshm	ST0
	pshm	ST1

	.space	20*16
	
int_dmac4:
	bd   	DMAC4_ISR	;send data from OUTPUT_PINGPONG0/1 to DXR11
	pshm	ST0
	pshm	ST1
		
    .space  12*16

;*********************** Interrupt Service Routine ****************************
	.text

;******************************************************************************
;** Function:	DMAC0_ISR
;** Description:
;**		DMAC0 ISR for McBSP1 receive
;******************************************************************************
DMAC0_ISR:
	bitf	*(_input_pingpong_flag), #1
	stm		#DMGDA, DMSA				;選中目的地址重載寄存器DMGDA
	bc		IN_PINGPONG1_SET, TC

	;if input_pingpong_flag is 0, stroe #INPUT_PINGPONG_0 in DMSDN(不帶地址自動增加得子區訪問寄存器)
	bd		IN_PROCESS_EXIT
	stm		#_in_data_ping, DMSDN	;修改目的地址寄存器DMGDA到INPUT_PINGPONG_0
	
	;if input_pingpong_flag is 1, stroe #INPUT_PINGPONG_1 in DMSDN(不帶地址自動增加得子區訪問寄存器)
IN_PINGPONG1_SET:
	stm		#_in_data_pong, DMSDN	;修改目的地址寄存器DMGDA到INPUT_PINGPONG_1

IN_PROCESS_EXIT:
	xorm	#1, *(_input_pingpong_flag)	;alter input_pingpong_flag when each interrupt come
	st		#1, *(_dmac0_int_flag)		;set dmac0_int_flag when each interrupt come

	popm	ST1
	popm	ST0
	
	rete

;******************************************************************************
;** Function:	DMAC4_ISR
;** Description:
;**		DMAC4 ISR for McBSP1 send
;******************************************************************************
DMAC4_ISR:
	pshm	AL
	pshm	AH
	pshm	AG
	
	bitf	*(_output_pingpong_flag), #1
	stm		#DMSRC4, DMSA				;選中DMA4源地址寄存器DMSRC4
	bc		OUT_PINGPONG1_SET, TC

	;if output_pingpong_flag is 0, store #OUTPUT_PINGPONG_0 in DMSDN(不帶地址自動增加得子區訪問寄存器)
	bd		OUT_PROCESS_EXIT
	stm		#_out_data_ping, DMSDN	;DMSDN->DMSRC4
	
	;if output_pingpong_flag is 1, store #OUTPUT_PINGPONG_1 in DMSDN(不帶地址自動增加得子區訪問寄存器)
OUT_PINGPONG1_SET:
	stm		#_out_data_pong, DMSDN	;DMSDN->DMSRC4

OUT_PROCESS_EXIT:
	xorm	#1, *(_output_pingpong_flag)	;alter output_pingpong_flag when each interrupt come
	st		#1, *(_dmac4_int_flag)		;set dmac4_int_flag when each interrupt come

	ldm		DMPREC, A					;enable DMA4
	or		#0x0010, A
	stlm	A, DMPREC

	popm	AG
	popm	AH
	popm	AL
	
	popm	ST1
	popm	ST0

	rete

    .end

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美一区二区精品性| 亚洲欧美日韩中文播放 | 国产一区在线不卡| av一区二区三区黑人| 日韩午夜av一区| 亚洲综合清纯丝袜自拍| 国产成人综合网| 这里是久久伊人| 亚洲在线一区二区三区| 国产99久久精品| 欧美xxxx老人做受| 日韩电影一区二区三区| 欧美亚洲另类激情小说| 中文字幕在线观看不卡视频| 久久精品国产色蜜蜜麻豆| 色婷婷av一区二区三区gif| 国产校园另类小说区| 久久99蜜桃精品| 欧美日韩国产乱码电影| 亚洲少妇中出一区| 成人国产精品免费观看动漫| 国产欧美一区二区精品性| 免费在线看一区| 欧美视频中文字幕| 亚洲美女屁股眼交3| 成人av先锋影音| 国产精品乱码一区二区三区软件| 黑人巨大精品欧美黑白配亚洲| 欧美久久一二区| 亚洲不卡一区二区三区| 成人97人人超碰人人99| 中文字幕欧美日韩一区| 国产福利不卡视频| 国产亚洲一区二区在线观看| 国产麻豆欧美日韩一区| 久久免费美女视频| 国产精品亚洲第一| 久久综合中文字幕| 国产一区美女在线| 欧美极品少妇xxxxⅹ高跟鞋| 国产不卡视频一区| 亚洲天堂成人网| 欧美视频一区在线| 婷婷综合另类小说色区| 欧美日韩国产不卡| 人禽交欧美网站| 337p粉嫩大胆噜噜噜噜噜91av| 国产精品一区二区三区99| 国产亚洲精品bt天堂精选| 成人免费高清视频| 最新国产精品久久精品| 97久久久精品综合88久久| 亚洲欧美日韩国产综合在线| 欧洲在线/亚洲| 美腿丝袜亚洲综合| 国产婷婷色一区二区三区四区 | 91美女精品福利| 亚洲一本大道在线| 精品国产伦一区二区三区观看体验| 久久激情五月激情| 自拍偷拍亚洲综合| 欧美高清www午色夜在线视频| 国内久久婷婷综合| 亚洲天堂福利av| 欧美不卡激情三级在线观看| 国产成人免费在线| 亚洲国产综合91精品麻豆| 91精品国产aⅴ一区二区| 国产成人在线免费| 亚洲综合偷拍欧美一区色| 日韩精品一区二| 色婷婷一区二区三区四区| 免费观看成人av| 亚洲视频 欧洲视频| 精品欧美乱码久久久久久1区2区| 99热99精品| 激情综合五月天| 亚洲一区av在线| 中文字幕欧美日韩一区| 欧美一区二区三区视频免费播放| 成人性视频网站| 美美哒免费高清在线观看视频一区二区 | 免费精品视频最新在线| 最新高清无码专区| 久久久久久久久久电影| 欧美日本视频在线| 91在线观看免费视频| 国内不卡的二区三区中文字幕 | 亚洲人成小说网站色在线 | 欧美乱妇23p| 97精品视频在线观看自产线路二| 男人的j进女人的j一区| 亚洲精品菠萝久久久久久久| 久久久一区二区三区捆绑**| 91精品国产色综合久久ai换脸 | 国产精品一区二区在线观看网站 | 欧美精品在线观看播放| 91在线精品一区二区| 国产精品资源在线| 伦理电影国产精品| 婷婷久久综合九色国产成人 | 国产精品久久久久精k8| 欧美成人一区二区| 这里只有精品免费| 欧美日韩在线直播| 欧美午夜片在线观看| 99久久精品国产毛片| 国产成人免费视频网站| 丁香婷婷深情五月亚洲| 国产精品一区一区三区| 国产自产高清不卡| 国产美女在线精品| 精品一区二区三区视频在线观看 | 亚洲妇女屁股眼交7| 亚洲精品ww久久久久久p站| 亚洲人成伊人成综合网小说| 日韩伦理免费电影| 亚洲婷婷在线视频| 亚洲裸体在线观看| 一区二区在线免费观看| 亚洲猫色日本管| 亚洲成年人影院| 麻豆国产精品777777在线| 久久99精品久久久久久久久久久久 | 国产精品美女久久久久久| 中文字幕欧美三区| 亚洲男人的天堂一区二区| 亚洲综合色区另类av| 亚洲一区在线视频观看| 日本欧美韩国一区三区| 韩日精品视频一区| 成人免费av资源| 色香蕉成人二区免费| 欧美日韩精品一区二区三区蜜桃| 欧美一区二区三区男人的天堂| 精品少妇一区二区三区免费观看| 26uuu国产日韩综合| 国产精品国产成人国产三级| 亚洲午夜av在线| 久久99精品一区二区三区三区| 国产成人精品一区二区三区四区| 91亚洲国产成人精品一区二区三 | 欧美绝品在线观看成人午夜影视| 欧美一区二区三区免费视频| 久久只精品国产| 亚洲三级免费观看| 奇米影视一区二区三区| 国内精品久久久久影院一蜜桃| 99精品视频一区| 6080日韩午夜伦伦午夜伦| 久久久久9999亚洲精品| 一区二区不卡在线播放| 久久99国产精品久久99| 99re这里都是精品| 日韩一区二区精品在线观看| 国产三级精品在线| 丝瓜av网站精品一区二区| 国产精品亚洲第一| 在线观看91精品国产入口| 久久综合久久久久88| 一区二区三区成人| 国产乱子伦视频一区二区三区 | 精品久久久久久久人人人人传媒 | 不卡的电影网站| 91麻豆精品国产91久久久| 国产精品三级av| 奇米精品一区二区三区在线观看| 成人高清在线视频| 精品少妇一区二区三区免费观看| 一区二区三区蜜桃| 国产成人av自拍| 欧美一个色资源| 夜夜精品视频一区二区 | 色8久久精品久久久久久蜜| 欧美电影免费提供在线观看| 亚洲精品国久久99热| 久久福利视频一区二区| 国产成人在线影院 | 亚洲综合色噜噜狠狠| 青娱乐精品视频| 亚洲天堂av一区| 精品久久国产老人久久综合| 紧缚奴在线一区二区三区| 性感美女久久精品| heyzo一本久久综合| 久久久精品免费免费| 精品一区二区国语对白| 国产亚洲精品超碰| 粉嫩在线一区二区三区视频| 亚洲一区二区三区在线看| 国产福利不卡视频| 欧美放荡的少妇| 亚洲一区日韩精品中文字幕| 成人午夜电影网站| 久久婷婷久久一区二区三区| 久久97超碰国产精品超碰| 日韩欧美激情在线| 麻豆久久久久久久| 精品日本一线二线三线不卡| 激情欧美日韩一区二区|