Rev 182 | Rev 410 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download
GAS LISTING /tmp/ccgNUTZJ.s page 1
1 .file "Main.c"
2 .arch atmega8
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
10 .stabs "/home/kaklik/projects/programy/Atmel_C/AVRcam/",100,0,2,.Ltext0
11 .stabs "Main.c",100,0,2,.Ltext0
12 .text
13 .Ltext0:
14 .stabs "gcc2_compiled.",60,0,0,0
15 .stabs "int:t(0,1)=r(0,1);-32768;32767;",128,0,0,0
16 .stabs "char:t(0,2)=@s8;r(0,2);0;255;",128,0,0,0
17 .stabs "long int:t(0,3)=@s32;r(0,3);020000000000;017777777777;",128,0,0,0
18 .stabs "unsigned int:t(0,4)=r(0,4);0;0177777;",128,0,0,0
19 .stabs "long unsigned int:t(0,5)=@s32;r(0,5);0;037777777777;",128,0,0,0
20 .stabs "long long int:t(0,6)=@s64;r(0,6);01000000000000000000000;0777777777777777777777;",128,0,0,
21 .stabs "long long unsigned int:t(0,7)=@s64;r(0,7);0;01777777777777777777777;",128,0,0,0
22 .stabs "short int:t(0,8)=r(0,8);-32768;32767;",128,0,0,0
23 .stabs "short unsigned int:t(0,9)=r(0,9);0;0177777;",128,0,0,0
24 .stabs "signed char:t(0,10)=@s8;r(0,10);-128;127;",128,0,0,0
25 .stabs "unsigned char:t(0,11)=@s8;r(0,11);0;255;",128,0,0,0
26 .stabs "float:t(0,12)=r(0,1);4;0;",128,0,0,0
27 .stabs "double:t(0,13)=r(0,1);4;0;",128,0,0,0
28 .stabs "long double:t(0,14)=r(0,1);4;0;",128,0,0,0
29 .stabs "void:t(0,15)=(0,15)",128,0,0,0
30 .stabs "/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/io.h",130,0,0,0
31 .stabs "/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/sfr_defs.h",130,0,0,0
32 .stabs "/usr/lib/gcc/avr/4.1.0/../../../../avr/include/inttypes.h",130,0,0,0
33 .stabs "/usr/lib/gcc/avr/4.1.0/../../../../avr/include/stdint.h",130,0,0,0
34 .stabs "int8_t:t(4,1)=(0,10)",128,0,116,0
35 .stabs "uint8_t:t(4,2)=(0,11)",128,0,117,0
36 .stabs "int16_t:t(4,3)=(0,1)",128,0,118,0
37 .stabs "uint16_t:t(4,4)=(0,4)",128,0,119,0
38 .stabs "int32_t:t(4,5)=(0,3)",128,0,120,0
39 .stabs "uint32_t:t(4,6)=(0,5)",128,0,121,0
40 .stabs "int64_t:t(4,7)=(0,6)",128,0,122,0
41 .stabs "uint64_t:t(4,8)=(0,7)",128,0,123,0
42 .stabs "intptr_t:t(4,9)=(4,3)",128,0,135,0
43 .stabs "uintptr_t:t(4,10)=(4,4)",128,0,140,0
44 .stabs "int_least8_t:t(4,11)=(4,1)",128,0,152,0
45 .stabs "uint_least8_t:t(4,12)=(4,2)",128,0,157,0
46 .stabs "int_least16_t:t(4,13)=(4,3)",128,0,162,0
47 .stabs "uint_least16_t:t(4,14)=(4,4)",128,0,167,0
48 .stabs "int_least32_t:t(4,15)=(4,5)",128,0,172,0
49 .stabs "uint_least32_t:t(4,16)=(4,6)",128,0,177,0
50 .stabs "int_least64_t:t(4,17)=(4,7)",128,0,182,0
51 .stabs "uint_least64_t:t(4,18)=(4,8)",128,0,187,0
52 .stabs "int_fast8_t:t(4,19)=(4,1)",128,0,200,0
53 .stabs "uint_fast8_t:t(4,20)=(4,2)",128,0,205,0
54 .stabs "int_fast16_t:t(4,21)=(4,3)",128,0,210,0
55 .stabs "uint_fast16_t:t(4,22)=(4,4)",128,0,215,0
56 .stabs "int_fast32_t:t(4,23)=(4,5)",128,0,220,0
57 .stabs "uint_fast32_t:t(4,24)=(4,6)",128,0,225,0
GAS LISTING /tmp/ccgNUTZJ.s page 2
58 .stabs "int_fast64_t:t(4,25)=(4,7)",128,0,230,0
59 .stabs "uint_fast64_t:t(4,26)=(4,8)",128,0,235,0
60 .stabs "intmax_t:t(4,27)=(4,7)",128,0,249,0
61 .stabs "uintmax_t:t(4,28)=(4,8)",128,0,254,0
62 .stabn 162,0,0,0
63 .stabs "int_farptr_t:t(3,1)=(4,5)",128,0,76,0
64 .stabs "uint_farptr_t:t(3,2)=(4,6)",128,0,80,0
65 .stabn 162,0,0,0
66 .stabn 162,0,0,0
67 .stabn 162,0,0,0
68 .stabs "/usr/lib/gcc/avr/4.1.0/../../../../avr/include/stdlib.h",130,0,0,0
69 .stabs "/usr/lib/gcc/avr/4.1.0/include/stddef.h",130,0,0,0
70 .stabs "size_t:t(6,1)=(0,4)",128,0,214,0
71 .stabs "wchar_t:t(6,2)=(0,1)",128,0,326,0
72 .stabn 162,0,0,0
73 .stabs "div_t:t(5,1)=(5,2)=s4quot:(0,1),0,16;rem:(0,1),16,16;;",128,0,69,0
74 .stabs "ldiv_t:t(5,3)=(5,4)=s8quot:(0,3),0,32;rem:(0,3),32,32;;",128,0,75,0
75 .stabs "__compar_fn_t:t(5,5)=(5,6)=*(5,7)=f(0,1)",128,0,78,0
76 .stabn 162,0,0,0
77 .stabs "I2CInterface.h",130,0,0,0
78 .stabs "CommonDefs.h",130,0,0,0
79 .stabs "bool_t:t(8,1)=(0,11)",128,0,56,0
80 .stabn 162,0,0,0
81 .stabs "i2cCmd_t:t(7,1)=(7,2)=s2configReg:(0,11),0,8;data:(0,11),8,8;;",128,0,53,0
82 .stabn 162,0,0,0
83 .stabs "main:F(0,1)",36,0,70,main
84 .global main
85 .type main, @function
86 main:
87 .stabd 46,0,0
1:Main.c **** /*
2:Main.c **** Copyright (C) 2004 John Orlando
3:Main.c ****
4:Main.c **** AVRcam: a small real-time image processing engine.
5:Main.c ****
6:Main.c **** This program is free software; you can redistribute it and/or
7:Main.c **** modify it under the terms of the GNU General Public
8:Main.c **** License as published by the Free Software Foundation; either
9:Main.c **** version 2 of the License, or (at your option) any later version.
10:Main.c ****
11:Main.c **** This program is distributed in the hope that it will be useful,
12:Main.c **** but WITHOUT ANY WARRANTY; without even the implied warranty of
13:Main.c **** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14:Main.c **** General Public License for more details.
15:Main.c ****
16:Main.c **** You should have received a copy of the GNU General Public
17:Main.c **** License along with this program; if not, write to the Free Software
18:Main.c **** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19:Main.c ****
20:Main.c **** For more information on the AVRcam, please contact:
21:Main.c ****
22:Main.c **** john@jrobot.net
23:Main.c ****
24:Main.c **** or go to www.jrobot.net for more details regarding the system.
25:Main.c **** */
26:Main.c **** /***********************************************************
27:Main.c **** Module Name: Main.c
GAS LISTING /tmp/ccgNUTZJ.s page 3
28:Main.c **** Module Date: 04/10/2004
29:Main.c **** Module Auth: John Orlando
30:Main.c ****
31:Main.c **** Description: This module is responsible for providing
32:Main.c **** the entry point to the code through the "main" function.
33:Main.c ****
34:Main.c **** Revision History:
35:Main.c **** Date Rel Ver. Notes
36:Main.c **** 4/10/2004 0.1 Module created
37:Main.c **** 6/30/2004 1.0 Initial release for Circuit Cellar
38:Main.c **** contest.
39:Main.c **** ***********************************************************/
40:Main.c ****
41:Main.c **** /* Includes */
42:Main.c **** #include <avr/io.h>
43:Main.c **** #include <stdlib.h>
44:Main.c **** #include <string.h>
45:Main.c **** #include "UIMgr.h"
46:Main.c **** #include "UartInterface.h"
47:Main.c **** #include "I2CInterface.h"
48:Main.c **** #include "CamInterface.h"
49:Main.c **** #include "DebugInterface.h"
50:Main.c **** #include "FrameMgr.h"
51:Main.c **** #include "CommonDefs.h"
52:Main.c **** #include "CamConfig.h"
53:Main.c **** #include "Executive.h"
54:Main.c **** #include "Utility.h"
55:Main.c ****
56:Main.c **** /* Local Structures and Typedefs */
57:Main.c ****
58:Main.c **** /* Extern Variables */
59:Main.c ****
60:Main.c **** /* Definitions */
61:Main.c ****
62:Main.c **** /***********************************************************
63:Main.c **** Function Name: main
64:Main.c **** Function Description: This function provides the entry
65:Main.c **** point into AVRcam application.
66:Main.c **** Inputs: none
67:Main.c **** Outputs: int
68:Main.c **** ***********************************************************/
69:Main.c **** int main(void)
70:Main.c **** {
88 .stabn 68,0,70,.LM0-main
89 .LM0:
90 /* prologue: frame size=0 */
91 0000 C0E0 ldi r28,lo8(__stack - 0)
92 0002 D0E0 ldi r29,hi8(__stack - 0)
93 0004 DEBF out __SP_H__,r29
94 0006 CDBF out __SP_L__,r28
95 /* prologue end (size=4) */
71:Main.c **** /* initialize all of the interface modules */
72:Main.c **** DebugInt_init();
96 .stabn 68,0,72,.LM1-main
97 .LM1:
98 0008 00D0 rcall DebugInt_init
73:Main.c **** UartInt_init();
GAS LISTING /tmp/ccgNUTZJ.s page 4
99 .stabn 68,0,73,.LM2-main
100 .LM2:
101 000a 00D0 rcall UartInt_init
74:Main.c **** I2CInt_init();
102 .stabn 68,0,74,.LM3-main
103 .LM3:
104 000c 00D0 rcall I2CInt_init
75:Main.c **** CamInt_init();
105 .stabn 68,0,75,.LM4-main
106 .LM4:
107 000e 00D0 rcall CamInt_init
76:Main.c ****
77:Main.c **** /* initialize the remaining modules that will process
78:Main.c **** data...interrupts need to be on for these */
79:Main.c **** ENABLE_INTS();
108 .stabn 68,0,79,.LM5-main
109 .LM5:
110 /* #APP */
111 0010 7894 sei
80:Main.c **** CamConfig_init();
112 .stabn 68,0,80,.LM6-main
113 .LM6:
114 /* #NOAPP */
115 0012 00D0 rcall CamConfig_init
81:Main.c **** UIMgr_init();
116 .stabn 68,0,81,.LM7-main
117 .LM7:
118 0014 00D0 rcall UIMgr_init
82:Main.c **** FrameMgr_init();
119 .stabn 68,0,82,.LM8-main
120 .LM8:
121 0016 00D0 rcall FrameMgr_init
83:Main.c ****
84:Main.c **** /* provide a short delay for the camera to stabilize before
85:Main.c **** we let the executive start up */
86:Main.c **** Utility_delay(1000);
122 .stabn 68,0,86,.LM9-main
123 .LM9:
124 0018 88EE ldi r24,lo8(1000)
125 001a 93E0 ldi r25,hi8(1000)
126 001c 00D0 rcall Utility_delay
87:Main.c ****
88:Main.c **** /* the rest of the application will be under the
89:Main.c **** control of the Executive. */
90:Main.c **** Exec_run();
127 .stabn 68,0,90,.LM10-main
128 .LM10:
129 001e 00D0 rcall Exec_run
91:Main.c ****
92:Main.c **** /* this should never be reached */
93:Main.c **** return(0);
94:Main.c **** }
130 .stabn 68,0,94,.LM11-main
131 .LM11:
132 0020 80E0 ldi r24,lo8(0)
133 0022 90E0 ldi r25,hi8(0)
134 /* epilogue: frame size=0 */
GAS LISTING /tmp/ccgNUTZJ.s page 5
135 0024 00C0 rjmp exit
136 /* epilogue end (size=1) */
137 /* function main size 20 (15) */
138 .size main, .-main
139 .Lscope0:
140 .stabs "",36,0,0,.Lscope0-main
141 .stabd 78,0,0
142 .stabs "",100,0,0,.Letext0
143 .Letext0:
144 /* File "Main.c": code 20 = 0x0014 ( 15), prologues 4, epilogues 1 */
GAS LISTING /tmp/ccgNUTZJ.s page 6
DEFINED SYMBOLS
*ABS*:00000000 Main.c
/tmp/ccgNUTZJ.s:3 *ABS*:0000003f __SREG__
/tmp/ccgNUTZJ.s:4 *ABS*:0000003e __SP_H__
/tmp/ccgNUTZJ.s:5 *ABS*:0000003d __SP_L__
/tmp/ccgNUTZJ.s:6 *ABS*:00000000 __tmp_reg__
/tmp/ccgNUTZJ.s:7 *ABS*:00000001 __zero_reg__
/tmp/ccgNUTZJ.s:86 .text:00000000 main
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__stack
DebugInt_init
UartInt_init
I2CInt_init
CamInt_init
CamConfig_init
UIMgr_init
FrameMgr_init
Utility_delay
Exec_run
exit