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
