📄 debuginterface.lst
字号:
1 .file "DebugInterface.c"
2 .arch atmega128
3 __SREG__ = 0x3f
4 __SP_H__ = 0x3e
5 __SP_L__ = 0x3d
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
8 .global __do_copy_data
9 .global __do_clear_bss
11 .text
12 .Ltext0:
59 .global DebugInt_init
61 DebugInt_init:
1:DebugInterface.c **** /*
2:DebugInterface.c **** Copyright (C) 2004 John Orlando
3:DebugInterface.c ****
4:DebugInterface.c **** AVRcam: a small real-time image processing engine.
5:DebugInterface.c ****
6:DebugInterface.c **** This program is free software; you can redistribute it and/or
7:DebugInterface.c **** modify it under the terms of the GNU General Public
8:DebugInterface.c **** License as published by the Free Software Foundation; either
9:DebugInterface.c **** version 2 of the License, or (at your option) any later version.
10:DebugInterface.c ****
11:DebugInterface.c **** This program is distributed in the hope that it will be useful,
12:DebugInterface.c **** but WITHOUT ANY WARRANTY; without even the implied warranty of
13:DebugInterface.c **** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14:DebugInterface.c **** General Public License for more details.
15:DebugInterface.c ****
16:DebugInterface.c **** You should have received a copy of the GNU General Public
17:DebugInterface.c **** License along with this program; if not, write to the Free Software
18:DebugInterface.c **** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19:DebugInterface.c ****
20:DebugInterface.c **** For more information on the AVRcam, please contact:
21:DebugInterface.c ****
22:DebugInterface.c **** john@jrobot.net
23:DebugInterface.c ****
24:DebugInterface.c **** or go to www.jrobot.net for more details regarding the system.
25:DebugInterface.c **** */
26:DebugInterface.c **** /***********************************************************
27:DebugInterface.c **** Module Name: DebugInterface.c
28:DebugInterface.c **** Module Date: 04/15/2004
29:DebugInterface.c **** Module Auth: John Orlando
30:DebugInterface.c ****
31:DebugInterface.c **** Description: This module is responsible for providing a
32:DebugInterface.c **** debug interface to the system. Currently, the only
33:DebugInterface.c **** debugging that is available is through the on-board
34:DebugInterface.c **** UART (which is used by the main application as well) in
35:DebugInterface.c **** addition to the LED hooked up at PORTD bit 6.
36:DebugInterface.c ****
37:DebugInterface.c **** Revision History:
38:DebugInterface.c **** Date Rel Ver. Notes
39:DebugInterface.c **** 4/10/2004 0.1 Module created
40:DebugInterface.c **** 6/30/2004 1.0 Initial release for Circuit Cellar
41:DebugInterface.c **** contest.
42:DebugInterface.c **** ***********************************************************/
43:DebugInterface.c ****
44:DebugInterface.c **** /* Includes */
45:DebugInterface.c **** #include "CommonDefs.h"
46:DebugInterface.c **** #include "UartInterface.h"
47:DebugInterface.c **** #include "Utility.h"
48:DebugInterface.c ****
49:DebugInterface.c **** /* Local Variables */
50:DebugInterface.c ****
51:DebugInterface.c **** /* Local Structures and Typedefs */
52:DebugInterface.c ****
53:DebugInterface.c **** /* Extern Variables */
54:DebugInterface.c ****
55:DebugInterface.c **** /* Definitions */
56:DebugInterface.c ****
57:DebugInterface.c **** /***********************************************************
58:DebugInterface.c **** Function Name: DebugInt_init
59:DebugInterface.c **** Function Description: This function is responsible for
60:DebugInterface.c **** initializing the debug module. It sets up the debug LED
61:DebugInterface.c **** as well as any other debugging that will be done. The
62:DebugInterface.c **** LED blinks four times, which indicates to the user
63:DebugInterface.c **** that the system is available for re-programming if
64:DebugInterface.c **** necessary. This works because the data lines on the
65:DebugInterface.c **** OV6620 are still tri-stated at this point, but won't
66:DebugInterface.c **** be for long after this function returns.
67:DebugInterface.c **** Inputs: none
68:DebugInterface.c **** Outputs: none
69:DebugInterface.c **** ***********************************************************/
70:DebugInterface.c **** void DebugInt_init(void)
71:DebugInterface.c **** {
63 .LM1:
64 /* prologue: frame size=0 */
65 0000 1F93 push r17
66 /* prologue end (size=1) */
72:DebugInterface.c **** /* set PortB pin6 for output */
73:DebugInterface.c **** DDRB |= 0x40;
68 .LM2:
69 0002 BE9A sbi 55-0x20,6
74:DebugInterface.c **** /* turn on LED */
75:DebugInterface.c **** PORTB |= 0x40;
71 .LM3:
72 0004 C69A sbi 56-0x20,6
76:DebugInterface.c **** Utility_delay(500);
74 .LM4:
75 0006 84EF ldi r24,lo8(500)
76 0008 91E0 ldi r25,hi8(500)
77 000a 0E94 0000 call Utility_delay
77:DebugInterface.c **** PORTB &= 0xBF;
79 .LM5:
80 000e 1FEB ldi r17,lo8(-65)
81 0010 88B3 in r24,56-0x20
82 0012 8123 and r24,r17
83 0014 88BB out 56-0x20,r24
78:DebugInterface.c **** Utility_delay(500);
85 .LM6:
86 0016 84EF ldi r24,lo8(500)
87 0018 91E0 ldi r25,hi8(500)
88 001a 0E94 0000 call Utility_delay
79:DebugInterface.c **** PORTB |= 0x40;
90 .LM7:
91 001e C69A sbi 56-0x20,6
80:DebugInterface.c **** Utility_delay(500);
93 .LM8:
94 0020 84EF ldi r24,lo8(500)
95 0022 91E0 ldi r25,hi8(500)
96 0024 0E94 0000 call Utility_delay
81:DebugInterface.c **** PORTB &= 0xBF;
98 .LM9:
99 0028 88B3 in r24,56-0x20
100 002a 8123 and r24,r17
101 002c 88BB out 56-0x20,r24
82:DebugInterface.c **** Utility_delay(500);
103 .LM10:
104 002e 84EF ldi r24,lo8(500)
105 0030 91E0 ldi r25,hi8(500)
106 0032 0E94 0000 call Utility_delay
83:DebugInterface.c **** PORTB |= 0x40;
108 .LM11:
109 0036 C69A sbi 56-0x20,6
84:DebugInterface.c **** Utility_delay(500);
111 .LM12:
112 0038 84EF ldi r24,lo8(500)
113 003a 91E0 ldi r25,hi8(500)
114 003c 0E94 0000 call Utility_delay
85:DebugInterface.c **** PORTB &= 0xBF;
116 .LM13:
117 0040 88B3 in r24,56-0x20
118 0042 8123 and r24,r17
119 0044 88BB out 56-0x20,r24
86:DebugInterface.c **** Utility_delay(500);
121 .LM14:
122 0046 84EF ldi r24,lo8(500)
123 0048 91E0 ldi r25,hi8(500)
124 004a 0E94 0000 call Utility_delay
87:DebugInterface.c **** PORTB |= 0x40;
126 .LM15:
127 004e C69A sbi 56-0x20,6
128 /* epilogue: frame size=0 */
129 0050 1F91 pop r17
130 0052 0895 ret
131 /* epilogue end (size=2) */
132 /* function DebugInt_init size 42 (39) */
134 .Lscope0:
135 .text
137 Letext:
138 /* File "DebugInterface.c": code 42 = 0x002a ( 39), prologues 1, epilogues 2 */
DEFINED SYMBOLS
*ABS*:00000000 DebugInterface.c
*ABS*:0000003f __SREG__
*ABS*:0000003e __SP_H__
*ABS*:0000003d __SP_L__
*ABS*:00000000 __tmp_reg__
*ABS*:00000001 __zero_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cccVaaaa.s:61 .text:00000000 DebugInt_init
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cccVaaaa.s:137 .text:00000054 Letext
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
Utility_delay
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -