uimgr.lst

来自「mg128+Ov7620实现图象采集」· LST 代码 · 共 1,354 行 · 第 1/4 页

LST
1,354
字号
 791 033a F901      		movw r30,r18
 792 033c E90F      		add r30,r25
 793 033e F11D      		adc r31,__zero_reg__
 794 0340 8D91      		ld r24,X+
 795 0342 8083      		st Z,r24
 797               	.LM107:
 798 0344 892F      		mov r24,r25
 799 0346 8F5F      		subi r24,lo8(-(1))
 800 0348 8F73      		andi r24,lo8(63)
 802               	.LM108:
 803 034a 8093 0000 		sts UIMgr_txFifoHead,r24
 804 034e 6150      		subi r22,1
 805 0350 90F7      		brcc .L71
 806               	.L73:
 445:UIMgr.c       **** 	}
 446:UIMgr.c       **** 	ENABLE_INTS();
 808               	.LM109:
 809               	/* #APP */
 810 0352 7894      		sei
 811               	/* #NOAPP */
 812               	.L67:
 813 0354 0895      		ret
 814               	/* epilogue: frame size=0 */
 815 0356 0895      		ret
 816               	/* epilogue end (size=1) */
 817               	/* function UIMgr_writeBufferToTxFifo size 29 (28) */
 822               	.Lscope9:
 826               	.global	UIMgr_txBuffer
 828               	UIMgr_txBuffer:
 447:UIMgr.c       **** }
 448:UIMgr.c       **** 
 449:UIMgr.c       **** /***********************************************************
 450:UIMgr.c       **** 	Function Name: UIMgr_txBuffer
 451:UIMgr.c       **** 	Function Description: This function is responsible for
 452:UIMgr.c       **** 	sending 'length' bytes out using the UartInterface 
 453:UIMgr.c       **** 	module.
 454:UIMgr.c       **** 	Inputs:  pData -  a pointer to the data to send
 455:UIMgr.c       **** 	         length - the number of bytes to send
 456:UIMgr.c       **** 	Outputs: none
 457:UIMgr.c       **** ***********************************************************/	
 458:UIMgr.c       **** void UIMgr_txBuffer(unsigned char *pData, unsigned char length)
 459:UIMgr.c       **** {
 830               	.LM110:
 831               	/* prologue: frame size=0 */
 832 0358 0F93      		push r16
 833 035a 1F93      		push r17
 834 035c CF93      		push r28
 835               	/* prologue end (size=3) */
 836 035e 8C01      		movw r16,r24
 837 0360 C62F      		mov r28,r22
 460:UIMgr.c       **** 	while(length-- != 0)
 461:UIMgr.c       **** 	{
 462:UIMgr.c       **** 		UartInt_txByte(*pData++); 
 839               	.LM111:
 840 0362 C150      		subi r28,lo8(-(-1))
 841 0364 CF3F      		cpi r28,lo8(-1)
 842 0366 39F0      		breq .L79
 843               	.L77:
 845               	.LM112:
 846 0368 F801      		movw r30,r16
 847 036a 8191      		ld r24,Z+
 848 036c 8F01      		movw r16,r30
 849 036e 0E94 0000 		call UartInt_txByte
 850 0372 C150      		subi r28,1
 851 0374 C8F7      		brcc .L77
 852               	.L79:
 853               	/* epilogue: frame size=0 */
 854 0376 CF91      		pop r28
 855 0378 1F91      		pop r17
 856 037a 0F91      		pop r16
 857 037c 0895      		ret
 858               	/* epilogue end (size=4) */
 859               	/* function UIMgr_txBuffer size 20 (13) */
 861               	.Lscope10:
 863               	.global	UIMgr_flushTxBuffer
 865               	UIMgr_flushTxBuffer:
 463:UIMgr.c       **** 	}
 464:UIMgr.c       **** }
 465:UIMgr.c       **** 
 466:UIMgr.c       **** /***********************************************************
 467:UIMgr.c       **** 	Function Name: UIMgr_flushTxBuffer
 468:UIMgr.c       **** 	Function Description: This function is responsible for
 469:UIMgr.c       **** 	sending all data currently in the serial tx buffer
 470:UIMgr.c       **** 	to the user.
 471:UIMgr.c       **** 	Inputs:  none
 472:UIMgr.c       **** 	Outputs: none
 473:UIMgr.c       **** ***********************************************************/	
 474:UIMgr.c       **** void UIMgr_flushTxBuffer(void)
 475:UIMgr.c       **** {
 867               	.LM113:
 868               	/* prologue: frame size=0 */
 869               	/* prologue end (size=0) */
 476:UIMgr.c       **** 	while(IS_DATA_IN_TX_FIFO() == TRUE)
 477:UIMgr.c       **** 	{
 478:UIMgr.c       **** 		UartInt_txByte(UIMgr_readTxFifo() );
 871               	.LM114:
 872 037e 9091 0000 		lds r25,UIMgr_txFifoHead
 873 0382 8091 0000 		lds r24,UIMgr_txFifoTail
 874 0386 9817      		cp r25,r24
 875 0388 51F0      		breq .L85
 876               	.L83:
 878               	.LM115:
 879 038a 0E94 0000 		call UIMgr_readTxFifo
 880 038e 0E94 0000 		call UartInt_txByte
 881 0392 9091 0000 		lds r25,UIMgr_txFifoHead
 882 0396 8091 0000 		lds r24,UIMgr_txFifoTail
 883 039a 9817      		cp r25,r24
 884 039c B1F7      		brne .L83
 885               	.L85:
 886 039e 0895      		ret
 887               	/* epilogue: frame size=0 */
 888               	/* epilogue: noreturn */
 889               	/* epilogue end (size=0) */
 890               	/* function UIMgr_flushTxBuffer size 17 (17) */
 892               	.Lscope11:
 895               	UIMgr_readRxFifo:
 479:UIMgr.c       **** 	}
 480:UIMgr.c       **** }
 481:UIMgr.c       **** 
 482:UIMgr.c       **** /***********************************************************
 483:UIMgr.c       **** 	Function Name: UIMgr_readRxFifo
 484:UIMgr.c       **** 	Function Description: This function is responsible for
 485:UIMgr.c       **** 	reading a single byte of data from the rx fifo, and
 486:UIMgr.c       **** 	updating the appropriate pointers.
 487:UIMgr.c       **** 	Inputs:  none 
 488:UIMgr.c       **** 	Outputs: unsigned char-the data read
 489:UIMgr.c       **** ***********************************************************/	
 490:UIMgr.c       **** static unsigned char UIMgr_readRxFifo(void)
 491:UIMgr.c       **** {
 897               	.LM116:
 898               	/* prologue: frame size=0 */
 899               	/* prologue end (size=0) */
 492:UIMgr.c       **** 	unsigned char dataByte, tmpTail;
 493:UIMgr.c       **** 	
 494:UIMgr.c       **** 	/* just return the current tail from the rx fifo */
 495:UIMgr.c       **** 	DISABLE_INTS();
 901               	.LM117:
 902               	/* #APP */
 903 03a0 F894      		cli
 496:UIMgr.c       **** 	dataByte = UIMgr_rxFifo[UIMgr_rxFifoTail];	
 905               	.LM118:
 906               	/* #NOAPP */
 907 03a2 2091 0000 		lds r18,UIMgr_rxFifoTail
 908 03a6 80E0      		ldi r24,lo8(UIMgr_rxFifo)
 909 03a8 90E0      		ldi r25,hi8(UIMgr_rxFifo)
 910 03aa FC01      		movw r30,r24
 911 03ac E20F      		add r30,r18
 912 03ae F11D      		adc r31,__zero_reg__
 913 03b0 9081      		ld r25,Z
 497:UIMgr.c       **** 	tmpTail = (UIMgr_rxFifoTail+1) & (UI_MGR_RX_FIFO_MASK);
 915               	.LM119:
 916 03b2 822F      		mov r24,r18
 917 03b4 8F5F      		subi r24,lo8(-(1))
 918 03b6 8F71      		andi r24,lo8(31)
 498:UIMgr.c       **** 	UIMgr_rxFifoTail = tmpTail;
 920               	.LM120:
 921 03b8 8093 0000 		sts UIMgr_rxFifoTail,r24
 499:UIMgr.c       **** 	ENABLE_INTS();
 923               	.LM121:
 924               	/* #APP */
 925 03bc 7894      		sei
 500:UIMgr.c       **** 	
 501:UIMgr.c       **** 	return(dataByte);
 502:UIMgr.c       **** }
 927               	.LM122:
 928               	/* #NOAPP */
 929 03be 892F      		mov r24,r25
 930 03c0 9927      		clr r25
 931               	/* epilogue: frame size=0 */
 932 03c2 0895      		ret
 933               	/* epilogue end (size=1) */
 934               	/* function UIMgr_readRxFifo size 20 (19) */
 940               	.Lscope12:
 943               	UIMgr_readTxFifo:
 503:UIMgr.c       **** 
 504:UIMgr.c       **** /***********************************************************
 505:UIMgr.c       **** 	Function Name: UIMgr_readTxFifo
 506:UIMgr.c       **** 	Function Description: This function is responsible for
 507:UIMgr.c       **** 	reading a single byte of data from the tx fifo, and
 508:UIMgr.c       **** 	updating the appropriate pointers.
 509:UIMgr.c       **** 	Inputs:  none 
 510:UIMgr.c       **** 	Outputs: unsigned char-the data read
 511:UIMgr.c       **** ***********************************************************/	
 512:UIMgr.c       **** static unsigned char UIMgr_readTxFifo(void)
 513:UIMgr.c       **** {
 945               	.LM123:
 946               	/* prologue: frame size=0 */
 947               	/* prologue end (size=0) */
 514:UIMgr.c       **** 	unsigned char dataByte, tmpTail;
 515:UIMgr.c       **** 	
 516:UIMgr.c       **** 	/* just return the current tail from the tx fifo */
 517:UIMgr.c       **** 	DISABLE_INTS();
 949               	.LM124:
 950               	/* #APP */
 951 03c4 F894      		cli
 518:UIMgr.c       **** 	dataByte = UIMgr_txFifo[UIMgr_txFifoTail];	
 953               	.LM125:
 954               	/* #NOAPP */
 955 03c6 2091 0000 		lds r18,UIMgr_txFifoTail
 956 03ca 80E0      		ldi r24,lo8(UIMgr_txFifo)
 957 03cc 90E0      		ldi r25,hi8(UIMgr_txFifo)
 958 03ce FC01      		movw r30,r24
 959 03d0 E20F      		add r30,r18
 960 03d2 F11D      		adc r31,__zero_reg__
 961 03d4 9081      		ld r25,Z
 519:UIMgr.c       **** 	tmpTail = (UIMgr_txFifoTail+1) & (UI_MGR_TX_FIFO_MASK);
 963               	.LM126:
 964 03d6 822F      		mov r24,r18
 965 03d8 8F5F      		subi r24,lo8(-(1))
 966 03da 8F73      		andi r24,lo8(63)
 520:UIMgr.c       **** 	UIMgr_txFifoTail = tmpTail;
 968               	.LM127:
 969 03dc 8093 0000 		sts UIMgr_txFifoTail,r24
 521:UIMgr.c       **** 	ENABLE_INTS();
 971               	.LM128:
 972               	/* #APP */
 973 03e0 7894      		sei
 522:UIMgr.c       **** 	
 523:UIMgr.c       **** 	return(dataByte);
 524:UIMgr.c       **** }
 975               	.LM129:
 976               	/* #NOAPP */
 977 03e2 892F      		mov r24,r25
 978 03e4 9927      		clr r25
 979               	/* epilogue: frame size=0 */
 980 03e6 0895      		ret
 981               	/* epilogue end (size=1) */
 982               	/* function UIMgr_readTxFifo size 20 (19) */
 988               	.Lscope13:
 991               	.global	UIMgr_writeTxFifo
 993               	UIMgr_writeTxFifo:
 525:UIMgr.c       **** 
 526:UIMgr.c       **** /***********************************************************
 527:UIMgr.c       **** 	Function Name: UIMgr_writeTxFifo
 528:UIMgr.c       **** 	Function Description: This function is responsible for
 529:UIMgr.c       **** 	writing a single byte to the TxFifo and
 530:UIMgr.c       **** 	updating the appropriate pointers.
 531:UIMgr.c       **** 	Inputs:  data - the byte to write to the Fifo 
 532:UIMgr.c       **** 	Outputs: none
 533:UIMgr.c       **** ***********************************************************/	
 534:UIMgr.c       **** void UIMgr_writeTxFifo(unsigned char data)
 535:UIMgr.c       **** {
 995               	.LM130:
 996               	/* prologue: frame size=0 */
 997               	/* prologue end (size=0) */
 998 03e8 382F      		mov r19,r24
 536:UIMgr.c       **** 	unsigned char tmpHead;
 537:UIMgr.c       **** 
 538:UIMgr.c       **** 	DISABLE_INTS();
 1000               	.LM131:
 1001               	/* #APP */
 1002 03ea F894      		cli
 539:UIMgr.c       **** 	UIMgr_txFifo[UIMgr_txFifoHead] = data;
 1004               	.LM132:
 1005               	/* #NOAPP */
 1006 03ec 2091 0000 		lds r18,UIMgr_txFifoHead
 1007 03f0 80E0      		ldi r24,lo8(UIMgr_txFifo)
 1008 03f2 90E0      		ldi r25,hi8(UIMgr_txFifo)
 1009 03f4 FC01      		movw r30,r24
 1010 03f6 E20F      		add r30,r18
 1011 03f8 F11D      		adc r31,__zero_reg__
 1012 03fa 3083      		st Z,r19
 540:UIMgr.c       **** 
 541:UIMgr.c       ****     /* now move the head up */
 542:UIMgr.c       ****     tmpHead = (UIMgr_txFifoHead + 1) & (UI_MGR_TX_FIFO_MASK);
 1014               	.LM133:
 1015 03fc 822F      		mov r24,r18
 1016 03fe 8F5F      		subi r24,lo8(-(1))
 1017 0400 8F73      		andi r24,lo8(63)
 543:UIMgr.c       ****     UIMgr_txFifoHead = tmpHead;
 1019               	.LM134:
 1020 0402 8093 0000 		sts UIMgr_txFifoHead,r24
 544:UIMgr.c       **** 	ENABLE_INTS();
 1022               	.LM135:
 1023               	/* #APP */
 1024 0406 7894      		sei
 1025               	/* #NOAPP */
 1026               	/* epilogue: frame size=0 */
 1027 0408 0895      		ret
 1028               	/* epilogue end (size=1) */
 1029               	/* function UIMgr_writeTxFifo size 19 (18) */
 1034               	.Lscope14:
 1035               		.comm UIMgr_rxFifo,32,1
 1036               		.lcomm asciiTokenBuffer,4
 1037               		.lcomm tokenBuffer,64
 1038               		.comm UIMgr_txFifo,64,1
 1052               		.text
 1054               	Letext:
 1055               	/* File "UIMgr.c": code  528 = 0x0210 ( 502), prologues   6, epilogues  20 */
DEFINED SYMBOLS
                            *ABS*:00000000 UIMgr.c
                            *ABS*:0000003f __SREG__
                            *ABS*:0000003e __SP_H__
                            *ABS*:0000003d __SP_L__
                            *ABS*:00000000 __tmp_reg__
                            *ABS*:00000001 __zero_reg__
                             .bss:00000004 charCount
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:72     .bss:00000005 charIndex
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:73     .bss:00000006 tokenCount
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:78     .data:00000000 receivedCmd
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:82     .data:00000001 AVRcamVersion
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:89     .bss:00000000 UIMgr_rxFifoHead
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:95     .bss:00000001 UIMgr_rxFifoTail
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:101    .bss:00000002 UIMgr_txFifoHead
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:107    .bss:00000003 UIMgr_txFifoTail
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:113    .text:00000000 UIMgr_init
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:74     .bss:00000007 asciiTokenBuffer
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:1036   .bss:0000000b tokenBuffer
                            *COM*:00000040 UIMgr_txFifo
                            *COM*:00000020 UIMgr_rxFifo
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:158    .text:00000036 UIMgr_dispatchEvent
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:222    .text:0000006c UIMgr_processReceivedData
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:865    .text:0000037e UIMgr_flushTxBuffer
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:196    .text:00000054 UIMgr_transmitPendingData
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:943    .text:000003c4 UIMgr_readTxFifo
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:895    .text:000003a0 UIMgr_readRxFifo
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:601    .text:0000025e UIMgr_convertTokenToCmd
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:533    .text:0000020c UIMgr_convertTokenToValue
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:733    .text:0000030a UIMgr_sendNck
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:704    .text:000002f0 UIMgr_sendAck
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:427    .text:00000184 UIMgr_executeCmd
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:993    .text:000003e8 UIMgr_writeTxFifo
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:765    .text:00000324 UIMgr_writeBufferToTxFifo
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:828    .text:00000358 UIMgr_txBuffer
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:1054   .text:0000040a Letext

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
UartInt_txByte
Utility_delay
Exec_writeEventFifo
CamInt_resetCam
CamConfig_setCamReg
CamConfig_sendFifoCmds
atoi

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?