Rev 182 | Blame | Last modification | View Log | Download
GAS LISTING /tmp/cctTSiV3.s page 11 .file "CamConfig.c"2 .arch atmega83 __SREG__ = 0x3f4 __SP_H__ = 0x3e5 __SP_L__ = 0x3d6 __tmp_reg__ = 07 __zero_reg__ = 18 .global __do_copy_data9 .global __do_clear_bss10 .stabs "/home/kaklik/projects/programy/Atmel_C/AVRcam/",100,0,2,.Ltext011 .stabs "CamConfig.c",100,0,2,.Ltext012 .text13 .Ltext0:14 .stabs "gcc2_compiled.",60,0,0,015 .stabs "int:t(0,1)=r(0,1);-32768;32767;",128,0,0,016 .stabs "char:t(0,2)=@s8;r(0,2);0;255;",128,0,0,017 .stabs "long int:t(0,3)=@s32;r(0,3);020000000000;017777777777;",128,0,0,018 .stabs "unsigned int:t(0,4)=r(0,4);0;0177777;",128,0,0,019 .stabs "long unsigned int:t(0,5)=@s32;r(0,5);0;037777777777;",128,0,0,020 .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,022 .stabs "short int:t(0,8)=r(0,8);-32768;32767;",128,0,0,023 .stabs "short unsigned int:t(0,9)=r(0,9);0;0177777;",128,0,0,024 .stabs "signed char:t(0,10)=@s8;r(0,10);-128;127;",128,0,0,025 .stabs "unsigned char:t(0,11)=@s8;r(0,11);0;255;",128,0,0,026 .stabs "float:t(0,12)=r(0,1);4;0;",128,0,0,027 .stabs "double:t(0,13)=r(0,1);4;0;",128,0,0,028 .stabs "long double:t(0,14)=r(0,1);4;0;",128,0,0,029 .stabs "void:t(0,15)=(0,15)",128,0,0,030 .stabs "/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/io.h",130,0,0,031 .stabs "/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/sfr_defs.h",130,0,0,032 .stabs "/usr/lib/gcc/avr/4.1.0/../../../../avr/include/inttypes.h",130,0,0,033 .stabs "/usr/lib/gcc/avr/4.1.0/../../../../avr/include/stdint.h",130,0,0,034 .stabs "int8_t:t(4,1)=(0,10)",128,0,116,035 .stabs "uint8_t:t(4,2)=(0,11)",128,0,117,036 .stabs "int16_t:t(4,3)=(0,1)",128,0,118,037 .stabs "uint16_t:t(4,4)=(0,4)",128,0,119,038 .stabs "int32_t:t(4,5)=(0,3)",128,0,120,039 .stabs "uint32_t:t(4,6)=(0,5)",128,0,121,040 .stabs "int64_t:t(4,7)=(0,6)",128,0,122,041 .stabs "uint64_t:t(4,8)=(0,7)",128,0,123,042 .stabs "intptr_t:t(4,9)=(4,3)",128,0,135,043 .stabs "uintptr_t:t(4,10)=(4,4)",128,0,140,044 .stabs "int_least8_t:t(4,11)=(4,1)",128,0,152,045 .stabs "uint_least8_t:t(4,12)=(4,2)",128,0,157,046 .stabs "int_least16_t:t(4,13)=(4,3)",128,0,162,047 .stabs "uint_least16_t:t(4,14)=(4,4)",128,0,167,048 .stabs "int_least32_t:t(4,15)=(4,5)",128,0,172,049 .stabs "uint_least32_t:t(4,16)=(4,6)",128,0,177,050 .stabs "int_least64_t:t(4,17)=(4,7)",128,0,182,051 .stabs "uint_least64_t:t(4,18)=(4,8)",128,0,187,052 .stabs "int_fast8_t:t(4,19)=(4,1)",128,0,200,053 .stabs "uint_fast8_t:t(4,20)=(4,2)",128,0,205,054 .stabs "int_fast16_t:t(4,21)=(4,3)",128,0,210,055 .stabs "uint_fast16_t:t(4,22)=(4,4)",128,0,215,056 .stabs "int_fast32_t:t(4,23)=(4,5)",128,0,220,057 .stabs "uint_fast32_t:t(4,24)=(4,6)",128,0,225,0GAS LISTING /tmp/cctTSiV3.s page 258 .stabs "int_fast64_t:t(4,25)=(4,7)",128,0,230,059 .stabs "uint_fast64_t:t(4,26)=(4,8)",128,0,235,060 .stabs "intmax_t:t(4,27)=(4,7)",128,0,249,061 .stabs "uintmax_t:t(4,28)=(4,8)",128,0,254,062 .stabn 162,0,0,063 .stabs "int_farptr_t:t(3,1)=(4,5)",128,0,76,064 .stabs "uint_farptr_t:t(3,2)=(4,6)",128,0,80,065 .stabn 162,0,0,066 .stabn 162,0,0,067 .stabn 162,0,0,068 .stabs "CamConfig.h",130,0,0,069 .stabs "I2CInterface.h",130,0,0,070 .stabs "CommonDefs.h",130,0,0,071 .stabs "bool_t:t(7,1)=(0,11)",128,0,56,072 .stabn 162,0,0,073 .stabs "i2cCmd_t:t(6,1)=(6,2)=s2configReg:(0,11),0,8;data:(0,11),8,8;;",128,0,53,074 .stabn 162,0,0,075 .stabn 162,0,0,076 .stabs "CamConfig_writeTxFifo:F(7,1)",36,0,155,CamConfig_writeTxFifo77 .stabs "cmd:P(6,1)",64,0,154,2478 .global CamConfig_writeTxFifo79 .type CamConfig_writeTxFifo, @function80 CamConfig_writeTxFifo:81 .stabd 46,0,01:CamConfig.c **** /*2:CamConfig.c **** Copyright (C) 2004 John Orlando3:CamConfig.c ****4:CamConfig.c **** AVRcam: a small real-time image processing engine.5:CamConfig.c ****6:CamConfig.c **** This program is free software; you can redistribute it and/or7:CamConfig.c **** modify it under the terms of the GNU General Public8:CamConfig.c **** License as published by the Free Software Foundation; either9:CamConfig.c **** version 2 of the License, or (at your option) any later version.10:CamConfig.c ****11:CamConfig.c **** This program is distributed in the hope that it will be useful,12:CamConfig.c **** but WITHOUT ANY WARRANTY; without even the implied warranty of13:CamConfig.c **** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU14:CamConfig.c **** General Public License for more details.15:CamConfig.c ****16:CamConfig.c **** You should have received a copy of the GNU General Public17:CamConfig.c **** License along with this program; if not, write to the Free Software18:CamConfig.c **** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA19:CamConfig.c ****20:CamConfig.c **** For more information on the AVRcam, please contact:21:CamConfig.c ****22:CamConfig.c **** john@jrobot.net23:CamConfig.c ****24:CamConfig.c **** or go to www.jrobot.net for more details regarding the system.25:CamConfig.c **** */26:CamConfig.c **** /**********************************************************27:CamConfig.c **** Module Name: CamConfig.c28:CamConfig.c **** Module Date: 04/10/200429:CamConfig.c **** Module Auth: John Orlando30:CamConfig.c ****31:CamConfig.c **** Description: This module is responsible for the32:CamConfig.c **** high-level configuration activities of the OV662033:CamConfig.c **** camera module. This module interfaces with theGAS LISTING /tmp/cctTSiV3.s page 334:CamConfig.c **** I2CInterface module to perform this configuration.35:CamConfig.c ****36:CamConfig.c **** Revision History:37:CamConfig.c **** Date Rel Ver. Notes38:CamConfig.c **** 4/10/2004 0.1 Module created39:CamConfig.c **** 6/30/2004 1.0 Initial release for Circuit Cellar40:CamConfig.c **** contest.41:CamConfig.c **** 11/15/2004 1.2 Added code to un-tri-state the42:CamConfig.c **** OV6620's pixel data busses at43:CamConfig.c **** startup after four seconds.44:CamConfig.c **** This was added in to45:CamConfig.c **** allow the user to re-program the46:CamConfig.c **** mega8 at startup if needed.47:CamConfig.c **** ***********************************************************/48:CamConfig.c ****49:CamConfig.c **** /* Includes */50:CamConfig.c **** #include <avr/io.h>51:CamConfig.c **** #include "CamConfig.h"52:CamConfig.c **** #include "I2CInterface.h"53:CamConfig.c **** #include "CommonDefs.h"54:CamConfig.c **** #include "Utility.h"55:CamConfig.c ****56:CamConfig.c **** /**********************************************************/57:CamConfig.c **** /* Definitions */58:CamConfig.c **** /* The length of an I2C command is made up of a register address59:CamConfig.c **** plus the actual value of the register */60:CamConfig.c **** #define SIZE_OF_I2C_CMD 261:CamConfig.c **** #define MAX_NUM_CONFIG_CMDS 862:CamConfig.c **** #define CAM_CONFIG_TX_FIFO_SIZE MAX_NUM_CONFIG_CMDS63:CamConfig.c **** #define CAM_CONFIG_TX_FIFO_MASK CAM_CONFIG_TX_FIFO_SIZE-164:CamConfig.c ****65:CamConfig.c **** /* Local Variables */66:CamConfig.c ****67:CamConfig.c **** /* Local Structures and Typedefs */68:CamConfig.c ****69:CamConfig.c **** /* Local Function Prototypes */70:CamConfig.c **** static i2cCmd_t CamConfig_readTxFifo(void);71:CamConfig.c ****72:CamConfig.c **** /* Extern Variables */73:CamConfig.c **** i2cCmd_t CamConfig_txFifo[CAM_CONFIG_TX_FIFO_SIZE];74:CamConfig.c **** unsigned char CamConfig_txFifoHead=0;75:CamConfig.c **** unsigned char CamConfig_txFifoTail=0;76:CamConfig.c ****77:CamConfig.c **** /***********************************************************78:CamConfig.c **** Function Name: CamConfig_init79:CamConfig.c **** Function Description: This function is responsible for80:CamConfig.c **** performing the initial configuration of the camera.81:CamConfig.c **** Inputs: none82:CamConfig.c **** Outputs: none83:CamConfig.c **** ***********************************************************/84:CamConfig.c **** void CamConfig_init(void)85:CamConfig.c **** {86:CamConfig.c **** CamConfig_setCamReg(0x14,0x20); /* reduce frame size */87:CamConfig.c **** CamConfig_setCamReg(0x39,0x40); /* gate PCLK with HREF */88:CamConfig.c **** CamConfig_setCamReg(0x12,0x28); /* set RGB mode, with no AWB */89:CamConfig.c **** CamConfig_setCamReg(0x28,0x05); /* set color sequencer */90:CamConfig.c **** CamConfig_setCamReg(0x13,0x01); /* un-tri-state the Y/UV lines */GAS LISTING /tmp/cctTSiV3.s page 491:CamConfig.c ****92:CamConfig.c **** /* send the first four cmds in the I2C fifo */93:CamConfig.c **** CamConfig_sendFifoCmds();94:CamConfig.c **** }95:CamConfig.c ****96:CamConfig.c ****97:CamConfig.c **** /***********************************************************98:CamConfig.c **** Function Name: CamConfig_setCamReg99:CamConfig.c **** Function Description: This function is responsible for100:CamConfig.c **** creating an I2C cmd structure and placing it into the101:CamConfig.c **** cmd fifo.102:CamConfig.c **** Inputs: reg - the register to modify103:CamConfig.c **** val - the new value of the register104:CamConfig.c **** Outputs: none105:CamConfig.c **** ***********************************************************/106:CamConfig.c **** void CamConfig_setCamReg(unsigned char reg, unsigned char val)107:CamConfig.c **** {108:CamConfig.c **** i2cCmd_t cmd;109:CamConfig.c ****110:CamConfig.c **** cmd.configReg = reg;111:CamConfig.c **** cmd.data = val;112:CamConfig.c **** #ifndef SIMULATION113:CamConfig.c **** CamConfig_writeTxFifo(cmd);114:CamConfig.c **** #endif115:CamConfig.c **** }116:CamConfig.c **** /***********************************************************117:CamConfig.c **** Function Name: CamConfig_sendFifoCmds118:CamConfig.c **** Function Description: This function is responsible for119:CamConfig.c **** sending the entire contents of the config fifo. This120:CamConfig.c **** function won't return until the configuration process121:CamConfig.c **** is complete (or an error is encountered).122:CamConfig.c **** Inputs: none123:CamConfig.c **** Outputs: none124:CamConfig.c **** Note: Since this function is written to use the TWI125:CamConfig.c **** interrupt in the I2CInterface module, there will be126:CamConfig.c **** some busy-waiting here...no big deal, since we end up127:CamConfig.c **** having to trash the frame that we are executing this128:CamConfig.c **** slave write in anyway (since we can't meet the strict129:CamConfig.c **** timing requirements and write i2c at the same time).130:CamConfig.c **** ***********************************************************/131:CamConfig.c **** void CamConfig_sendFifoCmds(void)132:CamConfig.c **** {133:CamConfig.c **** i2cCmd_t cmd;134:CamConfig.c ****135:CamConfig.c **** while (CamConfig_txFifoHead != CamConfig_txFifoTail)136:CamConfig.c **** {137:CamConfig.c **** cmd = CamConfig_readTxFifo();138:CamConfig.c **** I2CInt_writeData(CAM_ADDRESS,&cmd.configReg,SIZE_OF_I2C_CMD);139:CamConfig.c **** Utility_delay(100);140:CamConfig.c **** /* wait for the I2C transaction to complete */141:CamConfig.c **** while(I2CInt_isI2cBusy() == TRUE);142:CamConfig.c **** }143:CamConfig.c **** }144:CamConfig.c ****145:CamConfig.c **** /***********************************************************146:CamConfig.c **** Function Name: CamConfig_writeTxFifo147:CamConfig.c **** Function Description: This function is responsible forGAS LISTING /tmp/cctTSiV3.s page 5148:CamConfig.c **** adding a new command to the tx fifo. It adjusts all149:CamConfig.c **** needed pointers.150:CamConfig.c **** Inputs: cmd - the i2cCmd_t to add to the fifo151:CamConfig.c **** Outputs: bool_t - indicating if writing to the fifo152:CamConfig.c **** causes it to wrap153:CamConfig.c **** ***********************************************************/154:CamConfig.c **** bool_t CamConfig_writeTxFifo(i2cCmd_t cmd)155:CamConfig.c **** {82 .stabn 68,0,155,.LM0-CamConfig_writeTxFifo83 .LM0:84 /* prologue: frame size=0 */85 /* prologue end (size=0) */156:CamConfig.c **** unsigned char tmpHead;157:CamConfig.c **** bool_t retVal = TRUE;158:CamConfig.c ****159:CamConfig.c **** CamConfig_txFifo[CamConfig_txFifoHead] = cmd;86 .stabn 68,0,159,.LM1-CamConfig_writeTxFifo87 .LM1:88 0000 2091 0000 lds r18,CamConfig_txFifoHead89 0004 E22F mov r30,r1890 0006 FF27 clr r3191 0008 EE0F lsl r3092 000a FF1F rol r3193 000c E050 subi r30,lo8(-(CamConfig_txFifo))94 000e F040 sbci r31,hi8(-(CamConfig_txFifo))95 0010 9183 std Z+1,r2596 0012 8083 st Z,r24160:CamConfig.c ****161:CamConfig.c **** /* see if we need to wrap */162:CamConfig.c **** tmpHead = (CamConfig_txFifoHead+1) & (CAM_CONFIG_TX_FIFO_MASK);97 .stabn 68,0,162,.LM2-CamConfig_writeTxFifo98 .LM2:99 0014 2F5F subi r18,lo8(-(1))100 0016 2770 andi r18,lo8(7)163:CamConfig.c **** CamConfig_txFifoHead = tmpHead;101 .stabn 68,0,163,.LM3-CamConfig_writeTxFifo102 .LM3:103 0018 2093 0000 sts CamConfig_txFifoHead,r18104 001c 90E0 ldi r25,lo8(0)105 001e 8091 0000 lds r24,CamConfig_txFifoTail106 0022 2817 cp r18,r24107 0024 09F4 brne .L2108 .stabn 68,0,163,.LM4-CamConfig_writeTxFifo109 .LM4:110 0026 91E0 ldi r25,lo8(1)111 .L2:112 0028 81E0 ldi r24,lo8(1)113 002a 8927 eor r24,r25164:CamConfig.c ****165:CamConfig.c **** /* check to see if we have filled up the queue */166:CamConfig.c **** if (CamConfig_txFifoHead == CamConfig_txFifoTail)167:CamConfig.c **** {168:CamConfig.c **** /* we wrapped the fifo...return false */169:CamConfig.c **** retVal = FALSE;170:CamConfig.c **** }171:CamConfig.c **** return(retVal);172:CamConfig.c **** }GAS LISTING /tmp/cctTSiV3.s page 6114 .stabn 68,0,172,.LM5-CamConfig_writeTxFifo115 .LM5:116 002c 9927 clr r25117 /* epilogue: frame size=0 */118 002e 0895 ret119 /* epilogue end (size=1) */120 /* function CamConfig_writeTxFifo size 24 (23) */121 .size CamConfig_writeTxFifo, .-CamConfig_writeTxFifo122 .stabs "tmpHead:r(0,11)",64,0,156,18123 .stabn 192,0,0,CamConfig_writeTxFifo-CamConfig_writeTxFifo124 .stabn 224,0,0,.Lscope0-CamConfig_writeTxFifo125 .Lscope0:126 .stabs "",36,0,0,.Lscope0-CamConfig_writeTxFifo127 .stabd 78,0,0128 .stabs "CamConfig_setCamReg:F(0,15)",36,0,107,CamConfig_setCamReg129 .stabs "reg:P(0,11)",64,0,106,24130 .stabs "val:P(0,11)",64,0,106,22131 .global CamConfig_setCamReg132 .type CamConfig_setCamReg, @function133 CamConfig_setCamReg:134 .stabd 46,0,0135 .stabn 68,0,107,.LM6-CamConfig_setCamReg136 .LM6:137 /* prologue: frame size=0 */138 /* prologue end (size=0) */139 .stabn 68,0,110,.LM7-CamConfig_setCamReg140 .LM7:141 0030 282F mov r18,r24142 .stabn 68,0,111,.LM8-CamConfig_setCamReg143 .LM8:144 0032 362F mov r19,r22145 .stabn 68,0,113,.LM9-CamConfig_setCamReg146 .LM9:147 0034 C901 movw r24,r18148 0036 E4DF rcall CamConfig_writeTxFifo149 /* epilogue: frame size=0 */150 0038 0895 ret151 /* epilogue end (size=1) */152 /* function CamConfig_setCamReg size 5 (4) */153 .size CamConfig_setCamReg, .-CamConfig_setCamReg154 .stabs "cmd:r(6,1)",64,0,108,18155 .stabn 192,0,0,CamConfig_setCamReg-CamConfig_setCamReg156 .stabn 224,0,0,.Lscope1-CamConfig_setCamReg157 .Lscope1:158 .stabs "",36,0,0,.Lscope1-CamConfig_setCamReg159 .stabd 78,0,0160 .stabs "CamConfig_sendFifoCmds:F(0,15)",36,0,132,CamConfig_sendFifoCmds161 .global CamConfig_sendFifoCmds162 .type CamConfig_sendFifoCmds, @function163 CamConfig_sendFifoCmds:164 .stabd 46,0,0165 .stabn 68,0,132,.LM10-CamConfig_sendFifoCmds166 .LM10:167 /* prologue: frame size=2 */168 003a 0F93 push r16169 003c 1F93 push r17170 003e CF93 push r28GAS LISTING /tmp/cctTSiV3.s page 7171 0040 DF93 push r29172 0042 CDB7 in r28,__SP_L__173 0044 DEB7 in r29,__SP_H__174 0046 2297 sbiw r28,2175 0048 0FB6 in __tmp_reg__,__SREG__176 004a F894 cli177 004c DEBF out __SP_H__,r29178 004e 0FBE out __SREG__,__tmp_reg__179 0050 CDBF out __SP_L__,r28180 /* prologue end (size=12) */181 0052 8E01 movw r16,r28182 0054 0F5F subi r16,lo8(-(1))183 0056 1F4F sbci r17,hi8(-(1))184 0058 19C0 rjmp .L7185 .L8:186 .LBB4:187 .LBB5:173:CamConfig.c ****174:CamConfig.c **** /***********************************************************175:CamConfig.c **** Function Name: CamConfig_readTxFifo176:CamConfig.c **** Function Description: This function is responsible for177:CamConfig.c **** reading a cmd out of the tx fifo.178:CamConfig.c **** Inputs: none179:CamConfig.c **** Outputs: i2cCmd_t - the cmd read from the fifo180:CamConfig.c **** ***********************************************************/181:CamConfig.c **** static i2cCmd_t CamConfig_readTxFifo(void)182:CamConfig.c **** {183:CamConfig.c **** i2cCmd_t cmd;184:CamConfig.c **** unsigned char tmpTail;185:CamConfig.c ****186:CamConfig.c **** /* just return the current tail from the rx fifo */187:CamConfig.c **** cmd = CamConfig_txFifo[CamConfig_txFifoTail];188 .stabn 68,0,187,.LM11-CamConfig_sendFifoCmds189 .LM11:190 005a E32F mov r30,r19191 005c FF27 clr r31192 005e EE0F lsl r30193 0060 FF1F rol r31194 0062 E050 subi r30,lo8(-(CamConfig_txFifo))195 0064 F040 sbci r31,hi8(-(CamConfig_txFifo))196 0066 9181 ldd r25,Z+1197 0068 2081 ld r18,Z188:CamConfig.c **** tmpTail = (CamConfig_txFifoTail+1) & (CAM_CONFIG_TX_FIFO_MASK);189:CamConfig.c **** CamConfig_txFifoTail = tmpTail;198 .stabn 68,0,189,.LM12-CamConfig_sendFifoCmds199 .LM12:200 006a 832F mov r24,r19201 006c 8F5F subi r24,lo8(-(1))202 006e 8770 andi r24,lo8(7)203 0070 8093 0000 sts CamConfig_txFifoTail,r24204 .stabn 68,0,137,.LM13-CamConfig_sendFifoCmds205 .LM13:206 0074 9A83 std Y+2,r25207 0076 2983 std Y+1,r18208 .LBE5:209 .LBE4:210 .stabn 68,0,138,.LM14-CamConfig_sendFifoCmdsGAS LISTING /tmp/cctTSiV3.s page 8211 .LM14:212 0078 42E0 ldi r20,lo8(2)213 007a B801 movw r22,r16214 007c 80E6 ldi r24,lo8(96)215 007e 00D0 rcall I2CInt_writeData216 .stabn 68,0,139,.LM15-CamConfig_sendFifoCmds217 .LM15:218 0080 84E6 ldi r24,lo8(100)219 0082 90E0 ldi r25,hi8(100)220 0084 00D0 rcall Utility_delay221 .L9:222 .stabn 68,0,141,.LM16-CamConfig_sendFifoCmds223 .LM16:224 0086 00D0 rcall I2CInt_isI2cBusy225 0088 8130 cpi r24,lo8(1)226 008a E9F3 breq .L9227 .L7:228 .stabn 68,0,135,.LM17-CamConfig_sendFifoCmds229 .LM17:230 008c 3091 0000 lds r19,CamConfig_txFifoTail231 0090 8091 0000 lds r24,CamConfig_txFifoHead232 0094 8317 cp r24,r19233 0096 09F7 brne .L8234 /* epilogue: frame size=2 */235 0098 2296 adiw r28,2236 009a 0FB6 in __tmp_reg__,__SREG__237 009c F894 cli238 009e DEBF out __SP_H__,r29239 00a0 0FBE out __SREG__,__tmp_reg__240 00a2 CDBF out __SP_L__,r28241 00a4 DF91 pop r29242 00a6 CF91 pop r28243 00a8 1F91 pop r17244 00aa 0F91 pop r16245 00ac 0895 ret246 /* epilogue end (size=11) */247 /* function CamConfig_sendFifoCmds size 58 (35) */248 .size CamConfig_sendFifoCmds, .-CamConfig_sendFifoCmds249 .stabs "cmd:(6,1)",128,0,133,1250 .stabn 192,0,0,CamConfig_sendFifoCmds-CamConfig_sendFifoCmds251 .stabn 224,0,0,.Lscope2-CamConfig_sendFifoCmds252 .Lscope2:253 .stabs "",36,0,0,.Lscope2-CamConfig_sendFifoCmds254 .stabd 78,0,0255 .stabs "CamConfig_init:F(0,15)",36,0,85,CamConfig_init256 .global CamConfig_init257 .type CamConfig_init, @function258 CamConfig_init:259 .stabd 46,0,0260 .stabn 68,0,85,.LM18-CamConfig_init261 .LM18:262 /* prologue: frame size=0 */263 /* prologue end (size=0) */264 .stabn 68,0,86,.LM19-CamConfig_init265 .LM19:266 00ae 60E2 ldi r22,lo8(32)267 00b0 84E1 ldi r24,lo8(20)GAS LISTING /tmp/cctTSiV3.s page 9268 00b2 BEDF rcall CamConfig_setCamReg269 .stabn 68,0,87,.LM20-CamConfig_init270 .LM20:271 00b4 60E4 ldi r22,lo8(64)272 00b6 89E3 ldi r24,lo8(57)273 00b8 BBDF rcall CamConfig_setCamReg274 .stabn 68,0,88,.LM21-CamConfig_init275 .LM21:276 00ba 68E2 ldi r22,lo8(40)277 00bc 82E1 ldi r24,lo8(18)278 00be B8DF rcall CamConfig_setCamReg279 .stabn 68,0,89,.LM22-CamConfig_init280 .LM22:281 00c0 65E0 ldi r22,lo8(5)282 00c2 88E2 ldi r24,lo8(40)283 00c4 B5DF rcall CamConfig_setCamReg284 .stabn 68,0,90,.LM23-CamConfig_init285 .LM23:286 00c6 61E0 ldi r22,lo8(1)287 00c8 83E1 ldi r24,lo8(19)288 00ca B2DF rcall CamConfig_setCamReg289 .stabn 68,0,93,.LM24-CamConfig_init290 .LM24:291 00cc B6DF rcall CamConfig_sendFifoCmds292 /* epilogue: frame size=0 */293 00ce 0895 ret294 /* epilogue end (size=1) */295 /* function CamConfig_init size 17 (16) */296 .size CamConfig_init, .-CamConfig_init297 .Lscope3:298 .stabs "",36,0,0,.Lscope3-CamConfig_init299 .stabd 78,0,0300 .global CamConfig_txFifoHead301 .global CamConfig_txFifoHead302 .section .bss303 .type CamConfig_txFifoHead, @object304 .size CamConfig_txFifoHead, 1305 CamConfig_txFifoHead:306 0000 00 .skip 1,0307 .global CamConfig_txFifoTail308 .global CamConfig_txFifoTail309 .type CamConfig_txFifoTail, @object310 .size CamConfig_txFifoTail, 1311 CamConfig_txFifoTail:312 0001 00 .skip 1,0313 .comm CamConfig_txFifo,16,1314 .stabs "CamConfig_txFifo:G(0,16)=ar(0,17)=r(0,17);0;0177777;;0;7;(6,1)",32,0,73,0315 .stabs "CamConfig_txFifoHead:G(0,11)",32,0,74,0316 .stabs "CamConfig_txFifoTail:G(0,11)",32,0,75,0317 .text318 .stabs "",100,0,0,.Letext0319 .Letext0:320 /* File "CamConfig.c": code 104 = 0x0068 ( 78), prologues 12, epilogues 14 */GAS LISTING /tmp/cctTSiV3.s page 10DEFINED SYMBOLS*ABS*:00000000 CamConfig.c/tmp/cctTSiV3.s:3 *ABS*:0000003f __SREG__/tmp/cctTSiV3.s:4 *ABS*:0000003e __SP_H__/tmp/cctTSiV3.s:5 *ABS*:0000003d __SP_L__/tmp/cctTSiV3.s:6 *ABS*:00000000 __tmp_reg__/tmp/cctTSiV3.s:7 *ABS*:00000001 __zero_reg__/tmp/cctTSiV3.s:80 .text:00000000 CamConfig_writeTxFifo/tmp/cctTSiV3.s:305 .bss:00000000 CamConfig_txFifoHead*COM*:00000010 CamConfig_txFifo/tmp/cctTSiV3.s:311 .bss:00000001 CamConfig_txFifoTail/tmp/cctTSiV3.s:133 .text:00000030 CamConfig_setCamReg/tmp/cctTSiV3.s:163 .text:0000003a CamConfig_sendFifoCmds/tmp/cctTSiV3.s:258 .text:000000ae CamConfig_initUNDEFINED SYMBOLS__do_copy_data__do_clear_bssI2CInt_writeDataUtility_delayI2CInt_isI2cBusy