Rev 410 | Blame | Compare with Previous | Last modification | View Log | Download
GAS LISTING /tmp/cczUgJ5X.s page 11 .file "CamConfig.c"2 __SREG__ = 0x3f3 __SP_H__ = 0x3e4 __SP_L__ = 0x3d5 __tmp_reg__ = 06 __zero_reg__ = 17 .global __do_copy_data8 .global __do_clear_bss9 .stabs "/home/kaklik/projects/programy/C/avr/AVRcam/",100,0,2,.Ltext010 .stabs "CamConfig.c",100,0,2,.Ltext011 .text12 .Ltext0:13 .stabs "gcc2_compiled.",60,0,0,014 .stabs "int:t(0,1)=r(0,1);-32768;32767;",128,0,0,015 .stabs "char:t(0,2)=@s8;r(0,2);0;255;",128,0,0,016 .stabs "long int:t(0,3)=@s32;r(0,3);020000000000;017777777777;",128,0,0,017 .stabs "unsigned int:t(0,4)=r(0,4);0;0177777;",128,0,0,018 .stabs "long unsigned int:t(0,5)=@s32;r(0,5);0;037777777777;",128,0,0,019 .stabs "long long int:t(0,6)=@s64;r(0,6);01000000000000000000000;0777777777777777777777;",128,0,0,20 .stabs "long long unsigned int:t(0,7)=@s64;r(0,7);0;01777777777777777777777;",128,0,0,021 .stabs "short int:t(0,8)=r(0,8);-32768;32767;",128,0,0,022 .stabs "short unsigned int:t(0,9)=r(0,9);0;0177777;",128,0,0,023 .stabs "signed char:t(0,10)=@s8;r(0,10);-128;127;",128,0,0,024 .stabs "unsigned char:t(0,11)=@s8;r(0,11);0;255;",128,0,0,025 .stabs "float:t(0,12)=r(0,1);4;0;",128,0,0,026 .stabs "double:t(0,13)=r(0,1);4;0;",128,0,0,027 .stabs "long double:t(0,14)=r(0,1);4;0;",128,0,0,028 .stabs "void:t(0,15)=(0,15)",128,0,0,029 .stabs "/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/io.h",130,0,0,030 .stabs "/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/sfr_defs.h",130,0,0,031 .stabs "/usr/lib/gcc/avr/4.2.1/../../../../avr/include/inttypes.h",130,0,0,032 .stabs "/usr/lib/gcc/avr/4.2.1/../../../../avr/include/stdint.h",130,0,0,033 .stabs "int8_t:t(4,1)=(0,10)",128,0,116,034 .stabs "uint8_t:t(4,2)=(0,11)",128,0,117,035 .stabs "int16_t:t(4,3)=(0,1)",128,0,118,036 .stabs "uint16_t:t(4,4)=(0,4)",128,0,119,037 .stabs "int32_t:t(4,5)=(0,3)",128,0,120,038 .stabs "uint32_t:t(4,6)=(0,5)",128,0,121,039 .stabs "int64_t:t(4,7)=(0,6)",128,0,122,040 .stabs "uint64_t:t(4,8)=(0,7)",128,0,123,041 .stabs "intptr_t:t(4,9)=(4,3)",128,0,135,042 .stabs "uintptr_t:t(4,10)=(4,4)",128,0,140,043 .stabs "int_least8_t:t(4,11)=(4,1)",128,0,152,044 .stabs "uint_least8_t:t(4,12)=(4,2)",128,0,157,045 .stabs "int_least16_t:t(4,13)=(4,3)",128,0,162,046 .stabs "uint_least16_t:t(4,14)=(4,4)",128,0,167,047 .stabs "int_least32_t:t(4,15)=(4,5)",128,0,172,048 .stabs "uint_least32_t:t(4,16)=(4,6)",128,0,177,049 .stabs "int_least64_t:t(4,17)=(4,7)",128,0,182,050 .stabs "uint_least64_t:t(4,18)=(4,8)",128,0,187,051 .stabs "int_fast8_t:t(4,19)=(4,1)",128,0,200,052 .stabs "uint_fast8_t:t(4,20)=(4,2)",128,0,205,053 .stabs "int_fast16_t:t(4,21)=(4,3)",128,0,210,054 .stabs "uint_fast16_t:t(4,22)=(4,4)",128,0,215,055 .stabs "int_fast32_t:t(4,23)=(4,5)",128,0,220,056 .stabs "uint_fast32_t:t(4,24)=(4,6)",128,0,225,057 .stabs "int_fast64_t:t(4,25)=(4,7)",128,0,230,0GAS LISTING /tmp/cczUgJ5X.s page 258 .stabs "uint_fast64_t:t(4,26)=(4,8)",128,0,235,059 .stabs "intmax_t:t(4,27)=(4,7)",128,0,249,060 .stabs "uintmax_t:t(4,28)=(4,8)",128,0,254,061 .stabn 162,0,0,062 .stabs "int_farptr_t:t(3,1)=(4,5)",128,0,76,063 .stabs "uint_farptr_t:t(3,2)=(4,6)",128,0,80,064 .stabn 162,0,0,065 .stabn 162,0,0,066 .stabn 162,0,0,067 .stabs "CamConfig.h",130,0,0,068 .stabs "I2CInterface.h",130,0,0,069 .stabs "CommonDefs.h",130,0,0,070 .stabs "bool_t:t(7,1)=(0,11)",128,0,56,071 .stabn 162,0,0,072 .stabs "i2cCmd_t:t(6,1)=(6,2)=s2configReg:(0,11),0,8;data:(0,11),8,8;;",128,0,53,073 .stabn 162,0,0,074 .stabn 162,0,0,075 .stabs "CamConfig_writeTxFifo:F(7,1)",36,0,155,CamConfig_writeTxFifo76 .stabs "cmd:P(6,1)",64,0,154,2477 .global CamConfig_writeTxFifo78 .type CamConfig_writeTxFifo, @function79 CamConfig_writeTxFifo:80 .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 the34:CamConfig.c **** I2CInterface module to perform this configuration.GAS LISTING /tmp/cczUgJ5X.s page 335: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 */91:CamConfig.c ****GAS LISTING /tmp/cczUgJ5X.s page 492: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 for148:CamConfig.c **** adding a new command to the tx fifo. It adjusts allGAS LISTING /tmp/cczUgJ5X.s page 5149: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 **** {81 .stabn 68,0,155,.LM0-.LFBB182 .LM0:83 .LFBB1: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-.LFBB187 .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-.LFBB198 .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-.LFBB1102 .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 01F4 brne .L2108 .stabn 68,0,163,.LM4-.LFBB1109 .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/cczUgJ5X.s page 6114 .stabn 68,0,172,.LM5-.LFBB1115 .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,.LFBB1-.LFBB1124 .stabn 224,0,0,.Lscope1-.LFBB1125 .Lscope1:126 .stabs "",36,0,0,.Lscope1-.LFBB1127 .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-.LFBB2136 .LM6:137 .LFBB2:138 /* prologue: frame size=0 */139 /* prologue end (size=0) */140 .stabn 68,0,110,.LM7-.LFBB2141 .LM7:142 0030 282F mov r18,r24143 .stabn 68,0,111,.LM8-.LFBB2144 .LM8:145 0032 362F mov r19,r22146 .stabn 68,0,113,.LM9-.LFBB2147 .LM9:148 0034 C901 movw r24,r18149 0036 00D0 rcall CamConfig_writeTxFifo150 /* epilogue: frame size=0 */151 0038 0895 ret152 /* epilogue end (size=1) */153 /* function CamConfig_setCamReg size 5 (4) */154 .size CamConfig_setCamReg, .-CamConfig_setCamReg155 .stabs "cmd:r(6,1)",64,0,108,18156 .stabn 192,0,0,.LFBB2-.LFBB2157 .stabn 224,0,0,.Lscope2-.LFBB2158 .Lscope2:159 .stabs "",36,0,0,.Lscope2-.LFBB2160 .stabd 78,0,0161 .stabs "CamConfig_sendFifoCmds:F(0,15)",36,0,132,CamConfig_sendFifoCmds162 .global CamConfig_sendFifoCmds163 .type CamConfig_sendFifoCmds, @function164 CamConfig_sendFifoCmds:165 .stabd 46,0,0166 .stabn 68,0,132,.LM10-.LFBB3167 .LM10:168 .LFBB3:169 /* prologue: frame size=2 */170 003a EF92 push r14GAS LISTING /tmp/cczUgJ5X.s page 7171 003c FF92 push r15172 003e 0F93 push r16173 0040 1F93 push r17174 0042 CF93 push r28175 0044 DF93 push r29176 0046 CDB7 in r28,__SP_L__177 0048 DEB7 in r29,__SP_H__178 004a 2297 sbiw r28,2179 004c 0FB6 in __tmp_reg__,__SREG__180 004e F894 cli181 0050 DEBF out __SP_H__,r29182 0052 0FBE out __SREG__,__tmp_reg__183 0054 CDBF out __SP_L__,r28184 /* prologue end (size=14) */185 .LBB4:186 .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];187 .stabn 68,0,187,.LM11-.LFBB3188 .LM11:189 0056 0F2E mov __tmp_reg__,r31190 0058 F0E0 ldi r31,lo8(CamConfig_txFifo)191 005a EF2E mov r14,r31192 005c F0E0 ldi r31,hi8(CamConfig_txFifo)193 005e FF2E mov r15,r31194 0060 F02D mov r31,__tmp_reg__195 .LBE5:196 .LBE4:197 .stabn 68,0,138,.LM12-.LFBB3198 .LM12:199 0062 8E01 movw r16,r28200 0064 0F5F subi r16,lo8(-(1))201 0066 1F4F sbci r17,hi8(-(1))202 0068 00C0 rjmp .L7203 .L8:204 .LBB7:205 .LBB6:206 .stabn 68,0,187,.LM13-.LFBB3207 .LM13:208 006a E32F mov r30,r19209 006c FF27 clr r31210 006e EE0F lsl r30211 0070 FF1F rol r31212 0072 EE0D add r30,r14GAS LISTING /tmp/cczUgJ5X.s page 8213 0074 FF1D adc r31,r15214 0076 9181 ldd r25,Z+1215 0078 2081 ld r18,Z188:CamConfig.c **** tmpTail = (CamConfig_txFifoTail+1) & (CAM_CONFIG_TX_FIFO_MASK);189:CamConfig.c **** CamConfig_txFifoTail = tmpTail;216 .stabn 68,0,189,.LM14-.LFBB3217 .LM14:218 007a 832F mov r24,r19219 007c 8F5F subi r24,lo8(-(1))220 007e 8770 andi r24,lo8(7)221 0080 8093 0000 sts CamConfig_txFifoTail,r24222 .stabn 68,0,137,.LM15-.LFBB3223 .LM15:224 0084 9A83 std Y+2,r25225 0086 2983 std Y+1,r18226 .LBE6:227 .LBE7:228 .stabn 68,0,138,.LM16-.LFBB3229 .LM16:230 0088 42E0 ldi r20,lo8(2)231 008a B801 movw r22,r16232 008c 80E6 ldi r24,lo8(96)233 008e 00D0 rcall I2CInt_writeData234 .stabn 68,0,139,.LM17-.LFBB3235 .LM17:236 0090 84E6 ldi r24,lo8(100)237 0092 90E0 ldi r25,hi8(100)238 0094 00D0 rcall Utility_delay239 .L9:240 .stabn 68,0,141,.LM18-.LFBB3241 .LM18:242 0096 00D0 rcall I2CInt_isI2cBusy243 0098 8130 cpi r24,lo8(1)244 009a 01F0 breq .L9245 .L7:246 .stabn 68,0,135,.LM19-.LFBB3247 .LM19:248 009c 3091 0000 lds r19,CamConfig_txFifoTail249 00a0 8091 0000 lds r24,CamConfig_txFifoHead250 00a4 8317 cp r24,r19251 00a6 01F4 brne .L8252 /* epilogue: frame size=2 */253 00a8 2296 adiw r28,2254 00aa 0FB6 in __tmp_reg__,__SREG__255 00ac F894 cli256 00ae DEBF out __SP_H__,r29257 00b0 0FBE out __SREG__,__tmp_reg__258 00b2 CDBF out __SP_L__,r28259 00b4 DF91 pop r29260 00b6 CF91 pop r28261 00b8 1F91 pop r17262 00ba 0F91 pop r16263 00bc FF90 pop r15264 00be EF90 pop r14265 00c0 0895 ret266 /* epilogue end (size=13) */267 /* function CamConfig_sendFifoCmds size 68 (41) */GAS LISTING /tmp/cczUgJ5X.s page 9268 .size CamConfig_sendFifoCmds, .-CamConfig_sendFifoCmds269 .stabs "cmd:(6,1)",128,0,133,1270 .stabn 192,0,0,.LFBB3-.LFBB3271 .stabn 224,0,0,.Lscope3-.LFBB3272 .Lscope3:273 .stabs "",36,0,0,.Lscope3-.LFBB3274 .stabd 78,0,0275 .stabs "CamConfig_init:F(0,15)",36,0,85,CamConfig_init276 .global CamConfig_init277 .type CamConfig_init, @function278 CamConfig_init:279 .stabd 46,0,0280 .stabn 68,0,85,.LM20-.LFBB4281 .LM20:282 .LFBB4:283 /* prologue: frame size=0 */284 /* prologue end (size=0) */285 .stabn 68,0,86,.LM21-.LFBB4286 .LM21:287 00c2 60E2 ldi r22,lo8(32)288 00c4 84E1 ldi r24,lo8(20)289 00c6 00D0 rcall CamConfig_setCamReg290 .stabn 68,0,87,.LM22-.LFBB4291 .LM22:292 00c8 60E4 ldi r22,lo8(64)293 00ca 89E3 ldi r24,lo8(57)294 00cc 00D0 rcall CamConfig_setCamReg295 .stabn 68,0,88,.LM23-.LFBB4296 .LM23:297 00ce 68E2 ldi r22,lo8(40)298 00d0 82E1 ldi r24,lo8(18)299 00d2 00D0 rcall CamConfig_setCamReg300 .stabn 68,0,89,.LM24-.LFBB4301 .LM24:302 00d4 65E0 ldi r22,lo8(5)303 00d6 88E2 ldi r24,lo8(40)304 00d8 00D0 rcall CamConfig_setCamReg305 .stabn 68,0,90,.LM25-.LFBB4306 .LM25:307 00da 61E0 ldi r22,lo8(1)308 00dc 83E1 ldi r24,lo8(19)309 00de 00D0 rcall CamConfig_setCamReg310 .stabn 68,0,93,.LM26-.LFBB4311 .LM26:312 00e0 00D0 rcall CamConfig_sendFifoCmds313 /* epilogue: frame size=0 */314 00e2 0895 ret315 /* epilogue end (size=1) */316 /* function CamConfig_init size 17 (16) */317 .size CamConfig_init, .-CamConfig_init318 .Lscope4:319 .stabs "",36,0,0,.Lscope4-.LFBB4320 .stabd 78,0,0321 .global CamConfig_txFifoHead322 .global CamConfig_txFifoHead323 .section .bss324 .type CamConfig_txFifoHead, @objectGAS LISTING /tmp/cczUgJ5X.s page 10325 .size CamConfig_txFifoHead, 1326 CamConfig_txFifoHead:327 0000 00 .skip 1,0328 .global CamConfig_txFifoTail329 .global CamConfig_txFifoTail330 .type CamConfig_txFifoTail, @object331 .size CamConfig_txFifoTail, 1332 CamConfig_txFifoTail:333 0001 00 .skip 1,0334 .comm CamConfig_txFifo,16,1335 .stabs "CamConfig_txFifo:G(0,16)=ar(0,17)=r(0,17);0;0177777;;0;7;(6,1)",32,0,73,0336 .stabs "CamConfig_txFifoHead:G(0,11)",32,0,74,0337 .stabs "CamConfig_txFifoTail:G(0,11)",32,0,75,0338 .text339 .stabs "",100,0,0,.Letext0340 .Letext0:341 /* File "CamConfig.c": code 114 = 0x0072 ( 84), prologues 14, epilogues 16 */GAS LISTING /tmp/cczUgJ5X.s page 11DEFINED SYMBOLS*ABS*:00000000 CamConfig.c/tmp/cczUgJ5X.s:2 *ABS*:0000003f __SREG__/tmp/cczUgJ5X.s:3 *ABS*:0000003e __SP_H__/tmp/cczUgJ5X.s:4 *ABS*:0000003d __SP_L__/tmp/cczUgJ5X.s:5 *ABS*:00000000 __tmp_reg__/tmp/cczUgJ5X.s:6 *ABS*:00000001 __zero_reg__/tmp/cczUgJ5X.s:79 .text:00000000 CamConfig_writeTxFifo/tmp/cczUgJ5X.s:326 .bss:00000000 CamConfig_txFifoHead*COM*:00000010 CamConfig_txFifo/tmp/cczUgJ5X.s:332 .bss:00000001 CamConfig_txFifoTail/tmp/cczUgJ5X.s:133 .text:00000030 CamConfig_setCamReg/tmp/cczUgJ5X.s:164 .text:0000003a CamConfig_sendFifoCmds/tmp/cczUgJ5X.s:278 .text:000000c2 CamConfig_initUNDEFINED SYMBOLS__do_copy_data__do_clear_bssI2CInt_writeDataUtility_delayI2CInt_isI2cBusy