summaryrefslogtreecommitdiffstats
path: root/firmware
diff options
context:
space:
mode:
authorJenna Fox <a@creativepony.com>2012-09-24 15:44:33 +1000
committerJenna Fox <a@creativepony.com>2012-09-24 15:44:33 +1000
commita17f9c1081302e894d8d6d9db36a87f7a0d8ec7e (patch)
tree86929391635c4216f080372258d6cc5a0746a39a /firmware
parent1539320a76f6be5f14a426461b1999b5ce401001 (diff)
downloadmicronucleus-a17f9c1081302e894d8d6d9db36a87f7a0d8ec7e.tar.gz
micronucleus-a17f9c1081302e894d8d6d9db36a87f7a0d8ec7e.tar.bz2
micronucleus-a17f9c1081302e894d8d6d9db36a87f7a0d8ec7e.zip
Bug where first page wouldn't erase properly seems to be fixed. I think the bootloader works now? Neat!
Diffstat (limited to 'firmware')
-rw-r--r--firmware/libs-device/osccal.c.lst152
-rw-r--r--firmware/libs-device/osccal.obin956 -> 976 bytes
-rwxr-xr-xfirmware/main.binbin8965 -> 8924 bytes
-rw-r--r--firmware/main.c.lst1764
-rw-r--r--firmware/main.hex170
-rw-r--r--firmware/main.map106
-rw-r--r--firmware/main.obin6004 -> 5712 bytes
-rw-r--r--firmware/usbdrv/oddebug.c.lst18
8 files changed, 1086 insertions, 1124 deletions
diff --git a/firmware/libs-device/osccal.c.lst b/firmware/libs-device/osccal.c.lst
index 91fc0a2..a440be8 100644
--- a/firmware/libs-device/osccal.c.lst
+++ b/firmware/libs-device/osccal.c.lst
@@ -1,11 +1,11 @@
-GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccKidBAm.s page 1
+GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccmQUWbf.s page 1
1 .file "osccal.c"
2 __SREG__ = 0x3f
3 __SP_H__ = 0x3e
4 __SP_L__ = 0x3d
- 5 __CCP__ = 0x34
+ 5 __CCP__ = 0x34
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
8 .text
@@ -19,84 +19,88 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccKidBAm.s page
16 0008 DF93 push r29
17 /* prologue: function */
18 /* frame size = 0 */
- 19 /* stack size = 5 */
- 20 .L__stack_usage = 5
- 21 000a C8E0 ldi r28,lo8(8)
- 22 000c D0E0 ldi r29,hi8(8)
- 23 000e 10E0 ldi r17,lo8(0)
- 24 0010 00E8 ldi r16,lo8(-128)
- 25 .L3:
- 26 0012 F12E mov r15,r17
- 27 0014 F00E add r15,r16
- 28 0016 F1BE out 81-32,r15
- 29 0018 00D0 rcall usbMeasureFrameLength
- 30 001a 29E0 ldi r18,hi8(2356)
- 31 001c 8433 cpi r24,lo8(2356)
- 32 001e 9207 cpc r25,r18
- 33 0020 04F4 brge .L2
- 34 0022 1F2D mov r17,r15
- 35 .L2:
- 36 0024 0695 lsr r16
- 37 0026 2197 sbiw r28,1
- 38 0028 01F4 brne .L3
- 39 002a 212F mov r18,r17
- 40 002c 2150 subi r18,lo8(-(-1))
- 41 002e 21BF out 81-32,r18
- 42 0030 EC01 movw r28,r24
- 43 0032 012F mov r16,r17
- 44 0034 00C0 rjmp .L4
- 45 .L7:
- 46 0036 00D0 rcall usbMeasureFrameLength
- 47 0038 8453 subi r24,lo8(-(-2356))
- 48 003a 9940 sbci r25,hi8(-(-2356))
- 49 003c 97FF sbrs r25,7
- 50 003e 00C0 rjmp .L5
- 51 0040 9095 com r25
- 52 0042 8195 neg r24
- 53 0044 9F4F sbci r25,lo8(-1)
- 54 .L5:
- 55 0046 8C17 cp r24,r28
- 56 0048 9D07 cpc r25,r29
- 57 004a 04F4 brge .L6
- GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccKidBAm.s page 2
+ 19 000a 80E8 ldi r24,lo8(-128)
+ 20 000c F82E mov r15,r24
+ 21 000e 00E0 ldi r16,lo8(0)
+ 22 0010 C0E0 ldi r28,lo8(0)
+ 23 0012 D0E0 ldi r29,hi8(0)
+ 24 .L4:
+ 25 0014 102F mov r17,r16
+ 26 0016 1F0D add r17,r15
+ 27 0018 11BF out 81-32,r17
+ 28 001a 00D0 rcall usbMeasureFrameLength
+ 29 001c 29E0 ldi r18,hi8(2356)
+ 30 001e 8433 cpi r24,lo8(2356)
+ 31 0020 9207 cpc r25,r18
+ 32 0022 04F0 brlt .L2
+ 33 0024 102F mov r17,r16
+ 34 .L2:
+ 35 0026 F694 lsr r15
+ 36 0028 2196 adiw r28,1
+ 37 002a C830 cpi r28,8
+ 38 002c D105 cpc r29,__zero_reg__
+ 39 002e 01F0 breq .L3
+ 40 0030 012F mov r16,r17
+ 41 0032 00C0 rjmp .L4
+ 42 .L3:
+ 43 0034 1150 subi r17,lo8(-(-1))
+ 44 0036 11BF out 81-32,r17
+ 45 0038 1F5F subi r17,lo8(-(1))
+ 46 003a 012F mov r16,r17
+ 47 003c EC01 movw r28,r24
+ 48 003e 00C0 rjmp .L5
+ 49 .L8:
+ 50 0040 00D0 rcall usbMeasureFrameLength
+ 51 0042 8453 subi r24,lo8(-(-2356))
+ 52 0044 9940 sbci r25,hi8(-(-2356))
+ 53 0046 97FF sbrs r25,7
+ 54 0048 00C0 rjmp .L6
+ 55 004a 9095 com r25
+ 56 004c 8195 neg r24
+ 57 004e 9F4F sbci r25,lo8(-1)
+ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccmQUWbf.s page 2
- 58 004c 01B7 in r16,81-32
- 59 004e EC01 movw r28,r24
- 60 .L6:
- 61 0050 81B7 in r24,81-32
- 62 0052 8F5F subi r24,lo8(-(1))
- 63 0054 81BF out 81-32,r24
- 64 .L4:
- 65 0056 21B7 in r18,81-32
- 66 0058 30E0 ldi r19,lo8(0)
- 67 005a 812F mov r24,r17
- 68 005c 90E0 ldi r25,lo8(0)
- 69 005e 0196 adiw r24,1
- 70 0060 8217 cp r24,r18
- 71 0062 9307 cpc r25,r19
- 72 0064 04F4 brge .L7
- 73 0066 01BF out 81-32,r16
- 74 /* epilogue start */
- 75 0068 DF91 pop r29
- 76 006a CF91 pop r28
- 77 006c 1F91 pop r17
- 78 006e 0F91 pop r16
- 79 0070 FF90 pop r15
- 80 0072 0895 ret
- 81 .size calibrateOscillator, .-calibrateOscillator
- GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccKidBAm.s page 3
+ 58 .L6:
+ 59 0050 8C17 cp r24,r28
+ 60 0052 9D07 cpc r25,r29
+ 61 0054 04F4 brge .L7
+ 62 0056 01B7 in r16,81-32
+ 63 0058 EC01 movw r28,r24
+ 64 .L7:
+ 65 005a 81B7 in r24,81-32
+ 66 005c 8F5F subi r24,lo8(-(1))
+ 67 005e 81BF out 81-32,r24
+ 68 .L5:
+ 69 0060 21B7 in r18,81-32
+ 70 0062 30E0 ldi r19,lo8(0)
+ 71 0064 812F mov r24,r17
+ 72 0066 90E0 ldi r25,lo8(0)
+ 73 0068 0196 adiw r24,1
+ 74 006a 8217 cp r24,r18
+ 75 006c 9307 cpc r25,r19
+ 76 006e 04F4 brge .L8
+ 77 0070 01BF out 81-32,r16
+ 78 /* epilogue start */
+ 79 0072 DF91 pop r29
+ 80 0074 CF91 pop r28
+ 81 0076 1F91 pop r17
+ 82 0078 0F91 pop r16
+ 83 007a FF90 pop r15
+ 84 007c 0895 ret
+ 85 .size calibrateOscillator, .-calibrateOscillator
+ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccmQUWbf.s page 3
DEFINED SYMBOLS
*ABS*:00000000 osccal.c
-/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccKidBAm.s:2 *ABS*:0000003f __SREG__
-/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccKidBAm.s:3 *ABS*:0000003e __SP_H__
-/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccKidBAm.s:4 *ABS*:0000003d __SP_L__
-/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccKidBAm.s:5 *ABS*:00000034 __CCP__
-/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccKidBAm.s:6 *ABS*:00000000 __tmp_reg__
-/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccKidBAm.s:7 *ABS*:00000001 __zero_reg__
-/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccKidBAm.s:11 .text:00000000 calibrateOscillator
+/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccmQUWbf.s:2 *ABS*:0000003f __SREG__
+/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccmQUWbf.s:3 *ABS*:0000003e __SP_H__
+/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccmQUWbf.s:4 *ABS*:0000003d __SP_L__
+/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccmQUWbf.s:5 *ABS*:00000034 __CCP__
+/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccmQUWbf.s:6 *ABS*:00000000 __tmp_reg__
+/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccmQUWbf.s:7 *ABS*:00000001 __zero_reg__
+/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccmQUWbf.s:11 .text:00000000 calibrateOscillator
UNDEFINED SYMBOLS
usbMeasureFrameLength
diff --git a/firmware/libs-device/osccal.o b/firmware/libs-device/osccal.o
index 79622f1..08e2187 100644
--- a/firmware/libs-device/osccal.o
+++ b/firmware/libs-device/osccal.o
Binary files differ
diff --git a/firmware/main.bin b/firmware/main.bin
index 43378b0..358b061 100755
--- a/firmware/main.bin
+++ b/firmware/main.bin
Binary files differ
diff --git a/firmware/main.c.lst b/firmware/main.c.lst
index ad16cc5..392c616 100644
--- a/firmware/main.c.lst
+++ b/firmware/main.c.lst
@@ -1,11 +1,11 @@
-GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccQ4lgkR.s page 1
+GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccgCENsE.s page 1
1 .file "main.c"
2 __SREG__ = 0x3f
3 __SP_H__ = 0x3e
4 __SP_L__ = 0x3d
- 5 __CCP__ = 0x34
+ 5 __CCP__ = 0x34
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
8 .text
@@ -13,918 +13,882 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccQ4lgkR.s page
10 writeFlashPage:
11 /* prologue: function */
12 /* frame size = 0 */
- 13 /* stack size = 0 */
- 14 .L__stack_usage = 0
- 15 0000 81E0 ldi r24,lo8(1)
- 16 0002 8093 0000 sts didWriteSomething,r24
- 17 /* #APP */
- 18 ; 128 "main.c" 1
- 19 0006 F894 cli
- 20 ; 0 "" 2
- 21 /* #NOAPP */
- 22 0008 E091 0000 lds r30,currentAddress
- 23 000c F091 0000 lds r31,currentAddress+1
- 24 0010 3297 sbiw r30,2
- 25 0012 85E0 ldi r24,lo8(5)
- 26 /* #APP */
- 27 ; 129 "main.c" 1
- 28 0014 8093 5700 sts 87, r24
- 29 0018 E895 spm
- 30
- 31 ; 0 "" 2
- 32 /* #NOAPP */
- 33 .L2:
- 34 001a 07B6 in __tmp_reg__,87-32
- 35 001c 00FC sbrc __tmp_reg__,0
- 36 001e 00C0 rjmp .L2
- 37 /* #APP */
- 38 ; 131 "main.c" 1
- 39 0020 7894 sei
- 40 ; 0 "" 2
- 41 /* epilogue start */
- 42 /* #NOAPP */
- 43 0022 0895 ret
- 44 .size writeFlashPage, .-writeFlashPage
- 45 .type writeWordToPageBuffer, @function
- 46 writeWordToPageBuffer:
- 47 /* prologue: function */
- 48 /* frame size = 0 */
- 49 /* stack size = 0 */
- 50 .L__stack_usage = 0
- 51 0024 2091 0000 lds r18,currentAddress
- 52 0028 3091 0000 lds r19,currentAddress+1
- 53 002c 2115 cp r18,__zero_reg__
- 54 002e 3105 cpc r19,__zero_reg__
- 55 0030 01F0 breq .L4
- 56 0032 2430 cpi r18,4
- 57 0034 3105 cpc r19,__zero_reg__
- GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccQ4lgkR.s page 2
-
-
- 58 0036 01F0 breq .L8
- 59 0038 46E1 ldi r20,hi8(5884)
- 60 003a 2C3F cpi r18,lo8(5884)
- 61 003c 3407 cpc r19,r20
- 62 003e 01F4 brne .L6
- 63 0040 8091 0000 lds r24,vectorTemp
- 64 0044 9091 0000 lds r25,vectorTemp+1
- 65 0048 8E57 subi r24,lo8(-(1154))
- 66 004a 9B4F sbci r25,hi8(-(1154))
- 67 004c 00C0 rjmp .L7
- 68 .L6:
- 69 004e 46E1 ldi r20,hi8(5886)
- 70 0050 2E3F cpi r18,lo8(5886)
- 71 0052 3407 cpc r19,r20
- 72 0054 01F4 brne .L7
- 73 0056 8091 0000 lds r24,vectorTemp+2
- 74 005a 9091 0000 lds r25,vectorTemp+2+1
- 75 005e 8D57 subi r24,lo8(-(1155))
- 76 0060 9B4F sbci r25,hi8(-(1155))
- 77 0062 00C0 rjmp .L7
- 78 .L8:
- 79 0064 8FE7 ldi r24,lo8(-13441)
- 80 0066 9BEC ldi r25,hi8(-13441)
- 81 .L7:
- 82 /* #APP */
- 83 ; 165 "main.c" 1
- 84 0068 F894 cli
- 85 ; 0 "" 2
- 86 /* #NOAPP */
- 87 006a E091 0000 lds r30,currentAddress
- 88 006e F091 0000 lds r31,currentAddress+1
- 89 0072 21E0 ldi r18,lo8(1)
- 90 /* #APP */
- 91 ; 166 "main.c" 1
- 92 0074 0C01 movw r0, r24
- 93 0076 2093 5700 sts 87, r18
- 94 007a E895 spm
- 95 007c 1124 clr r1
- 96
- 97 ; 0 "" 2
- 98 ; 167 "main.c" 1
- 99 007e 7894 sei
- 100 ; 0 "" 2
- 101 /* #NOAPP */
- 102 0080 8091 0000 lds r24,currentAddress
- 103 0084 9091 0000 lds r25,currentAddress+1
- 104 0088 0296 adiw r24,2
- 105 008a 9093 0000 sts currentAddress+1,r25
- 106 008e 8093 0000 sts currentAddress,r24
- 107 /* epilogue start */
- 108 0092 0895 ret
- 109 .L4:
- 110 0094 81E1 ldi r24,lo8(17)
- 111 /* #APP */
- 112 ; 163 "main.c" 1
- 113 0096 8093 5700 sts 87, r24
- 114 009a E895 spm
- GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccQ4lgkR.s page 3
-
-
- 115
- 116 ; 0 "" 2
- 117 /* #NOAPP */
- 118 009c 00C0 rjmp .L8
- 119 .size writeWordToPageBuffer, .-writeWordToPageBuffer
- 120 .type fillFlashWithVectors, @function
- 121 fillFlashWithVectors:
- 122 009e CF93 push r28
- 123 00a0 DF93 push r29
- 124 /* prologue: function */
- 125 /* frame size = 0 */
- 126 /* stack size = 2 */
- 127 .L__stack_usage = 2
- 128 00a2 C091 0000 lds r28,currentAddress
- 129 00a6 D091 0000 lds r29,currentAddress+1
- 130 00aa CF73 andi r28,lo8(63)
- 131 00ac D070 andi r29,hi8(63)
- 132 .L10:
- 133 00ae 8FEF ldi r24,lo8(-1)
- 134 00b0 9FEF ldi r25,hi8(-1)
- 135 00b2 00D0 rcall writeWordToPageBuffer
- 136 00b4 2296 adiw r28,2
- 137 00b6 C034 cpi r28,64
- 138 00b8 D105 cpc r29,__zero_reg__
- 139 00ba 04F0 brlt .L10
- 140 00bc 00D0 rcall writeFlashPage
- 141 /* epilogue start */
- 142 00be DF91 pop r29
- 143 00c0 CF91 pop r28
- 144 00c2 0895 ret
- 145 .size fillFlashWithVectors, .-fillFlashWithVectors
- 146 .section .init3,"ax",@progbits
- 147 .global PushMagicWord
- 148 .type PushMagicWord, @function
- 149 PushMagicWord:
- 150 /* prologue: naked */
- 151 /* frame size = 0 */
- 152 /* stack size = 0 */
- 153 .L__stack_usage = 0
- 154 /* #APP */
- 155 ; 262 "main.c" 1
- 156 0000 00EB ldi r16, 0xB0
- 157 ; 0 "" 2
- 158 ; 263 "main.c" 1
- 159 0002 0F93 push r16
- 160 ; 0 "" 2
- 161 ; 264 "main.c" 1
- 162 0004 07E0 ldi r16, 0x07
- 163 ; 0 "" 2
- 164 ; 265 "main.c" 1
- 165 0006 0F93 push r16
- 166 ; 0 "" 2
- 167 /* epilogue start */
- 168 /* #NOAPP */
- 169 .size PushMagicWord, .-PushMagicWord
- 170 .text
- 171 .global main
- GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccQ4lgkR.s page 4
-
-
- 172 .type main, @function
- 173 main:
- 174 00c4 DF93 push r29
- 175 00c6 CF93 push r28
- 176 00c8 0F92 push __tmp_reg__
- 177 00ca CDB7 in r28,__SP_L__
- 178 00cc DEB7 in r29,__SP_H__
- 179 /* prologue: function */
- 180 /* frame size = 1 */
- 181 /* stack size = 3 */
- 182 .L__stack_usage = 3
- 183 00ce 88E1 ldi r24,lo8(24)
- 184 /* #APP */
- 185 ; 330 "main.c" 1
- 186 00d0 0FB6 in __tmp_reg__, __SREG__
- 187 00d2 F894 cli
- 188 00d4 81BD out 33, r24
- 189 00d6 11BC out 33, __zero_reg__
- 190 00d8 0FBE out __SREG__,__tmp_reg__
- 191
- 192 ; 0 "" 2
- 193 /* #NOAPP */
- 194 00da E0E0 ldi r30,lo8(0)
- 195 00dc F0E0 ldi r31,hi8(0)
- 196 /* #APP */
- 197 ; 283 "main.c" 1
- 198 00de 8591 lpm r24, Z+
- 199 00e0 9491 lpm r25, Z
- 200
- 201 ; 0 "" 2
- 202 /* #NOAPP */
- 203 00e2 2BEC ldi r18,hi8(-13441)
- 204 00e4 8F37 cpi r24,lo8(-13441)
- 205 00e6 9207 cpc r25,r18
- 206 00e8 01F4 brne .L13
- 207 00ea E4E0 ldi r30,lo8(4)
- 208 00ec F0E0 ldi r31,hi8(4)
- 209 /* #APP */
- 210 ; 284 "main.c" 1
- 211 00ee 8591 lpm r24, Z+
- 212 00f0 9491 lpm r25, Z
- 213
- 214 ; 0 "" 2
- 215 /* #NOAPP */
- 216 00f2 3BEC ldi r19,hi8(-13441)
- 217 00f4 8F37 cpi r24,lo8(-13441)
- 218 00f6 9307 cpc r25,r19
- 219 00f8 01F0 breq .L14
- 220 .L13:
- 221 00fa 00D0 rcall fillFlashWithVectors
- 222 .L14:
- 223 00fc 1092 0000 sts currentAddress+1,__zero_reg__
- 224 0100 1092 0000 sts currentAddress,__zero_reg__
- 225 0104 AC9A sbi 53-32,4
- 226 0106 8BB7 in r24,91-32
- 227 0108 8062 ori r24,lo8(32)
- 228 010a 8BBF out 91-32,r24
- GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccQ4lgkR.s page 5
-
-
- 229 010c BB9A sbi 55-32,3
- 230 010e 8FE4 ldi r24,lo8(1649999)
- 231 0110 9DE2 ldi r25,hi8(1649999)
- 232 0112 A9E1 ldi r26,hlo8(1649999)
- 233 0114 8150 1:subi r24,1
- 234 0116 9040 sbci r25,0
- 235 0118 A040 sbci r26,0
- 236 011a 01F4 brne 1b
- 237 011c 00C0 rjmp .
- 238 011e 0000 nop
- 239 0120 BB98 cbi 55-32,3
- 240 /* #APP */
- 241 ; 276 "main.c" 1
- 242 0122 7894 sei
- 243 ; 0 "" 2
- 244 /* #NOAPP */
- 245 0124 EE24 clr r14
- 246 0126 FF24 clr r15
- 247 .L68:
- 248 0128 2091 0000 lds r18,usbRxLen
- 249 012c 2350 subi r18,lo8(-(-3))
- 250 012e 27FD sbrc r18,7
- 251 0130 00C0 rjmp .L15
- 252 0132 8091 0000 lds r24,usbInputBufOffset
- 253 0136 ECE0 ldi r30,lo8(12)
- 254 0138 F0E0 ldi r31,hi8(12)
- 255 013a E81B sub r30,r24
- 256 013c F109 sbc r31,__zero_reg__
- 257 013e E050 subi r30,lo8(-(usbRxBuf))
- 258 0140 F040 sbci r31,hi8(-(usbRxBuf))
- 259 0142 8091 0000 lds r24,usbRxToken
- 260 0146 8D32 cpi r24,lo8(45)
- 261 0148 01F0 breq .+2
- 262 014a 00C0 rjmp .L16
- 263 014c 2830 cpi r18,lo8(8)
- 264 014e 01F0 breq .+2
- 265 0150 00C0 rjmp .L17
- 266 0152 83EC ldi r24,lo8(-61)
- 267 0154 8093 0000 sts usbTxBuf,r24
- 268 0158 8AE5 ldi r24,lo8(90)
- 269 015a 8093 0000 sts usbTxLen,r24
- 270 015e 1092 0000 sts usbMsgFlags,__zero_reg__
- 271 0162 2081 ld r18,Z
- 272 0164 922F mov r25,r18
- 273 0166 9076 andi r25,lo8(96)
- 274 0168 8181 ldd r24,Z+1
- 275 016a 9923 tst r25
- 276 016c 01F0 breq .L18
- 277 016e 8823 tst r24
- 278 0170 01F4 brne .L19
- 279 0172 80E0 ldi r24,lo8(replyBuffer.1766)
- 280 0174 90E0 ldi r25,hi8(replyBuffer.1766)
- 281 0176 9093 0000 sts usbMsgPtr+1,r25
- 282 017a 8093 0000 sts usbMsgPtr,r24
- 283 017e 24E0 ldi r18,lo8(4)
- 284 0180 00C0 rjmp .L25
- 285 .L19:
- GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccQ4lgkR.s page 6
-
-
- 286 0182 8130 cpi r24,lo8(1)
- 287 0184 01F4 brne .L21
- 288 0186 8281 ldd r24,Z+2
- 289 0188 8093 0000 sts writeLength,r24
- 290 018c 8481 ldd r24,Z+4
- 291 018e 9581 ldd r25,Z+5
- 292 0190 9093 0000 sts currentAddress+1,r25
- 293 0194 8093 0000 sts currentAddress,r24
- 294 0198 27FD sbrc r18,7
- 295 019a 00C0 rjmp .L22
- 296 019c 2FEF ldi r18,lo8(-1)
- 297 019e 00C0 rjmp .L23
- 298 .L21:
- 299 01a0 9091 0000 lds r25,events
- 300 01a4 8230 cpi r24,lo8(2)
- 301 01a6 01F4 brne .L24
- 302 01a8 9160 ori r25,lo8(1)
- 303 01aa 00C0 rjmp .L77
- 304 .L24:
- 305 01ac 9460 ori r25,lo8(4)
- 306 .L77:
- 307 01ae 9093 0000 sts events,r25
- 308 01b2 20E0 ldi r18,lo8(0)
- 309 01b4 00C0 rjmp .L25
- 310 .L18:
- 311 01b6 9281 ldd r25,Z+2
- 312 01b8 1092 0000 sts usbTxBuf+9,__zero_reg__
- 313 01bc 8823 tst r24
- 314 01be 01F4 brne .L26
- 315 01c0 1092 0000 sts usbTxBuf+10,__zero_reg__
- 316 01c4 80E0 ldi r24,lo8(usbTxBuf+9)
- 317 01c6 90E0 ldi r25,hi8(usbTxBuf+9)
- 318 01c8 22E0 ldi r18,lo8(2)
- 319 01ca 00C0 rjmp .L27
- 320 .L26:
- 321 01cc 8530 cpi r24,lo8(5)
- 322 01ce 01F4 brne .L28
- 323 01d0 9093 0000 sts usbNewDeviceAddr,r25
- 324 01d4 00C0 rjmp .L75
- 325 .L28:
- 326 01d6 8630 cpi r24,lo8(6)
- 327 01d8 01F4 brne .L29
- 328 01da 8381 ldd r24,Z+3
- 329 01dc 8130 cpi r24,lo8(1)
- 330 01de 01F4 brne .L30
- 331 01e0 80E0 ldi r24,lo8(usbDescriptorDevice)
- 332 01e2 90E0 ldi r25,hi8(usbDescriptorDevice)
- 333 01e4 00C0 rjmp .L74
- 334 .L30:
- 335 01e6 8230 cpi r24,lo8(2)
- 336 01e8 01F4 brne .L32
- 337 01ea 80E0 ldi r24,lo8(usbDescriptorConfiguration)
- 338 01ec 90E0 ldi r25,hi8(usbDescriptorConfiguration)
- 339 .L74:
- 340 01ee 9093 0000 sts usbMsgPtr+1,r25
- 341 01f2 8093 0000 sts usbMsgPtr,r24
- 342 01f6 22E1 ldi r18,lo8(18)
- GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccQ4lgkR.s page 7
-
-
- 343 01f8 00C0 rjmp .L31
- 344 .L32:
- 345 01fa 8330 cpi r24,lo8(3)
- 346 01fc 01F4 brne .L70
- 347 01fe 9923 tst r25
- 348 0200 01F4 brne .L33
- 349 0202 80E0 ldi r24,lo8(usbDescriptorString0)
- 350 0204 90E0 ldi r25,hi8(usbDescriptorString0)
- 351 0206 9093 0000 sts usbMsgPtr+1,r25
- 352 020a 8093 0000 sts usbMsgPtr,r24
- 353 020e 24E0 ldi r18,lo8(4)
- 354 0210 00C0 rjmp .L31
- 355 .L33:
- 356 0212 9130 cpi r25,lo8(1)
- 357 0214 01F4 brne .L34
- 358 0216 80E0 ldi r24,lo8(usbDescriptorStringVendor)
- 359 0218 90E0 ldi r25,hi8(usbDescriptorStringVendor)
- 360 021a 9093 0000 sts usbMsgPtr+1,r25
- 361 021e 8093 0000 sts usbMsgPtr,r24
- 362 0222 22E2 ldi r18,lo8(34)
- 363 0224 00C0 rjmp .L31
- 364 .L34:
- 365 0226 9230 cpi r25,lo8(2)
- 366 0228 01F4 brne .L70
- 367 022a 80E0 ldi r24,lo8(usbDescriptorStringDevice)
- 368 022c 90E0 ldi r25,hi8(usbDescriptorStringDevice)
- 369 022e 9093 0000 sts usbMsgPtr+1,r25
- 370 0232 8093 0000 sts usbMsgPtr,r24
- 371 0236 2CE0 ldi r18,lo8(12)
- 372 0238 00C0 rjmp .L31
- 373 .L70:
- 374 023a 20E0 ldi r18,lo8(0)
- 375 .L31:
- 376 023c 80E4 ldi r24,lo8(64)
- 377 023e 8093 0000 sts usbMsgFlags,r24
- 378 0242 00C0 rjmp .L25
- 379 .L29:
- 380 0244 8830 cpi r24,lo8(8)
- 381 0246 01F0 breq .L71
- 382 0248 8930 cpi r24,lo8(9)
- 383 024a 01F4 brne .L36
- 384 024c 9093 0000 sts usbConfiguration,r25
- 385 0250 00C0 rjmp .L75
- 386 .L36:
- 387 0252 8A30 cpi r24,lo8(10)
- 388 0254 01F0 breq .L72
- 389 .L75:
- 390 0256 80E0 ldi r24,lo8(usbTxBuf+9)
- 391 0258 90E0 ldi r25,hi8(usbTxBuf+9)
- 392 025a 20E0 ldi r18,lo8(0)
- 393 025c 00C0 rjmp .L27
- 394 .L71:
- 395 025e 80E0 ldi r24,lo8(usbConfiguration)
- 396 0260 90E0 ldi r25,hi8(usbConfiguration)
- 397 0262 00C0 rjmp .L76
- 398 .L72:
- 399 0264 80E0 ldi r24,lo8(usbTxBuf+9)
- GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccQ4lgkR.s page 8
-
-
- 400 0266 90E0 ldi r25,hi8(usbTxBuf+9)
- 401 .L76:
- 402 0268 21E0 ldi r18,lo8(1)
- 403 .L27:
- 404 026a 9093 0000 sts usbMsgPtr+1,r25
- 405 026e 8093 0000 sts usbMsgPtr,r24
- 406 0272 00C0 rjmp .L25
- 407 .L22:
- 408 0274 2681 ldd r18,Z+6
- 409 .L23:
- 410 0276 80E8 ldi r24,lo8(-128)
- 411 0278 8093 0000 sts usbMsgFlags,r24
- 412 027c 00C0 rjmp .L37
- 413 .L25:
- 414 027e 8781 ldd r24,Z+7
- 415 0280 8823 tst r24
- 416 0282 01F4 brne .L37
- 417 0284 8681 ldd r24,Z+6
- 418 0286 8217 cp r24,r18
- 419 0288 00F4 brsh .L37
- 420 028a 282F mov r18,r24
- 421 .L37:
- 422 028c 2093 0000 sts usbMsgLen,r18
- 423 0290 00C0 rjmp .L17
- 424 .L16:
- 425 0292 8091 0000 lds r24,usbMsgFlags
- 426 0296 87FF sbrs r24,7
- 427 0298 00C0 rjmp .L17
- 428 029a 8091 0000 lds r24,writeLength
- 429 029e 821B sub r24,r18
- 430 02a0 8093 0000 sts writeLength,r24
- 431 02a4 8F01 movw r16,r30
- 432 .L42:
- 433 02a6 8091 0000 lds r24,currentAddress
- 434 02aa 9091 0000 lds r25,currentAddress+1
- 435 02ae 0097 sbiw r24,0
- 436 02b0 01F4 brne .L38
- 437 02b2 D801 movw r26,r16
- 438 02b4 8D91 ld r24,X+
- 439 02b6 9C91 ld r25,X
- 440 02b8 1197 sbiw r26,1
- 441 02ba 9093 0000 sts vectorTemp+1,r25
- 442 02be 8093 0000 sts vectorTemp,r24
- 443 02c2 00C0 rjmp .L39
- 444 .L38:
- 445 02c4 8430 cpi r24,4
- 446 02c6 9105 cpc r25,__zero_reg__
- 447 02c8 01F4 brne .L40
- 448 02ca F801 movw r30,r16
- 449 02cc 8081 ld r24,Z
- 450 02ce 9181 ldd r25,Z+1
- 451 02d0 9093 0000 sts vectorTemp+2+1,r25
- 452 02d4 8093 0000 sts vectorTemp+2,r24
- 453 02d8 00C0 rjmp .L39
- 454 .L40:
- 455 02da F6E1 ldi r31,hi8(5882)
- 456 02dc 8A3F cpi r24,lo8(5882)
- GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccQ4lgkR.s page 9
-
-
- 457 02de 9F07 cpc r25,r31
- 458 02e0 00F0 brlo .L39
- 459 02e2 81E1 ldi r24,lo8(17)
- 460 /* #APP */
- 461 ; 239 "main.c" 1
- 462 02e4 8093 5700 sts 87, r24
- 463 02e8 E895 spm
- 464
- 465 ; 0 "" 2
- 466 /* #NOAPP */
- 467 02ea 00C0 rjmp .L41
- 468 .L39:
- 469 02ec D801 movw r26,r16
- 470 02ee 8D91 ld r24,X+
- 471 02f0 9D91 ld r25,X+
- 472 02f2 8D01 movw r16,r26
- 473 02f4 2983 std Y+1,r18
- 474 02f6 00D0 rcall writeWordToPageBuffer
- 475 02f8 2981 ldd r18,Y+1
- 476 02fa 2250 subi r18,lo8(-(-2))
- 477 02fc 01F4 brne .L42
- 478 .L41:
- 479 02fe 8091 0000 lds r24,writeLength
- 480 0302 8823 tst r24
- 481 0304 01F4 brne .L17
- 482 0306 8091 0000 lds r24,events
- 483 030a 8260 ori r24,lo8(2)
- 484 030c 8093 0000 sts events,r24
- 485 0310 1092 0000 sts usbMsgLen,__zero_reg__
- 486 .L17:
- 487 0314 1092 0000 sts usbRxLen,__zero_reg__
- 488 .L15:
- 489 0318 8091 0000 lds r24,usbTxLen
- 490 031c 84FF sbrs r24,4
- 491 031e 00C0 rjmp .L43
- 492 0320 8091 0000 lds r24,usbMsgLen
- 493 0324 8F3F cpi r24,lo8(-1)
- 494 0326 01F4 brne .+2
- 495 0328 00C0 rjmp .L43
- 496 032a 082F mov r16,r24
- 497 032c 8930 cpi r24,lo8(9)
- 498 032e 00F0 brlo .L44
- 499 0330 08E0 ldi r16,lo8(8)
- 500 .L44:
- 501 0332 801B sub r24,r16
- 502 0334 8093 0000 sts usbMsgLen,r24
- 503 0338 8091 0000 lds r24,usbTxBuf
- 504 033c 98E8 ldi r25,lo8(-120)
- 505 033e 8927 eor r24,r25
- 506 0340 8093 0000 sts usbTxBuf,r24
- 507 0344 0023 tst r16
- 508 0346 01F0 breq .L45
- 509 0348 E091 0000 lds r30,usbMsgPtr
- 510 034c F091 0000 lds r31,usbMsgPtr+1
- 511 0350 9091 0000 lds r25,usbMsgFlags
- 512 0354 802F mov r24,r16
- 513 0356 8150 subi r24,lo8(-(-1))
- GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccQ4lgkR.s page 10
-
-
- 514 0358 96FF sbrs r25,6
- 515 035a 00C0 rjmp .L46
- 516 035c 90E0 ldi r25,lo8(0)
- 517 035e 8050 subi r24,lo8(-(usbTxBuf+2))
- 518 0360 9040 sbci r25,hi8(-(usbTxBuf+2))
- 519 0362 A0E0 ldi r26,lo8(usbTxBuf+1)
- 520 0364 B0E0 ldi r27,hi8(usbTxBuf+1)
- 521 .L47:
- 522 /* #APP */
- 523 ; 504 "usbdrv/usbdrv.c" 1
- 524 0366 2491 lpm r18, Z
- 525
- 526 ; 0 "" 2
- 527 /* #NOAPP */
- 528 0368 2D93 st X+,r18
- 529 036a 3196 adiw r30,1
- 530 036c A817 cp r26,r24
- 531 036e B907 cpc r27,r25
- 532 0370 01F4 brne .L47
- 533 0372 00C0 rjmp .L48
- 534 .L46:
- 535 0374 9F01 movw r18,r30
- 536 0376 90E0 ldi r25,lo8(0)
- 537 0378 8050 subi r24,lo8(-(usbTxBuf+2))
- 538 037a 9040 sbci r25,hi8(-(usbTxBuf+2))
- 539 037c A0E0 ldi r26,lo8(usbTxBuf+1)
- 540 037e B0E0 ldi r27,hi8(usbTxBuf+1)
- 541 .L49:
- 542 0380 F901 movw r30,r18
- 543 0382 4191 ld r20,Z+
- 544 0384 9F01 movw r18,r30
- 545 0386 4D93 st X+,r20
- 546 0388 A817 cp r26,r24
- 547 038a B907 cpc r27,r25
- 548 038c 01F4 brne .L49
- 549 .L48:
- 550 038e F093 0000 sts usbMsgPtr+1,r31
- 551 0392 E093 0000 sts usbMsgPtr,r30
- 552 .L45:
- 553 0396 80E0 ldi r24,lo8(usbTxBuf+1)
- 554 0398 90E0 ldi r25,hi8(usbTxBuf+1)
- 555 039a 602F mov r22,r16
- 556 039c 00D0 rcall usbCrc16Append
- 557 039e 0C5F subi r16,lo8(-(4))
- 558 03a0 0C30 cpi r16,lo8(12)
- 559 03a2 01F0 breq .L50
- 560 03a4 8FEF ldi r24,lo8(-1)
- 561 03a6 8093 0000 sts usbMsgLen,r24
- 562 .L50:
- 563 03aa 0093 0000 sts usbTxLen,r16
- 564 .L43:
- 565 03ae 84E1 ldi r24,lo8(20)
- 566 .L52:
- 567 03b0 96B3 in r25,54-32
- 568 03b2 9871 andi r25,lo8(24)
- 569 03b4 01F4 brne .L51
- 570 03b6 8150 subi r24,lo8(-(-1))
- GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccQ4lgkR.s page 11
-
-
- 571 03b8 01F4 brne .L52
- 572 03ba 1092 0000 sts usbNewDeviceAddr,__zero_reg__
- 573 03be 1092 0000 sts usbDeviceAddr,__zero_reg__
- 574 .L51:
- 575 03c2 01E0 ldi r16,lo8(1)
- 576 03c4 8111 cpse r24,__zero_reg__
- 577 03c6 00E0 ldi r16,lo8(0)
- 578 .L53:
- 579 03c8 8091 0000 lds r24,wasReset.1698
- 580 03cc 8017 cp r24,r16
- 581 03ce 01F0 breq .L54
- 582 03d0 0023 tst r16
- 583 03d2 01F4 brne .L55
- 584 /* #APP */
- 585 ; 557 "usbdrv/usbdrv.c" 1
- 586 03d4 F894 cli
- 587 ; 0 "" 2
- 588 /* #NOAPP */
- 589 03d6 00D0 rcall calibrateOscillator
- 590 /* #APP */
- 591 ; 557 "usbdrv/usbdrv.c" 1
- 592 03d8 7894 sei
- 593 ; 0 "" 2
- 594 /* #NOAPP */
- 595 .L55:
- 596 03da 0093 0000 sts wasReset.1698,r16
- 597 .L54:
- 598 03de 8CE9 ldi r24,lo8(412)
- 599 03e0 91E0 ldi r25,hi8(412)
- 600 03e2 0197 1:sbiw r24,1
- 601 03e4 01F4 brne 1b
- 602 03e6 0000 nop
- 603 03e8 8091 0000 lds r24,events
- 604 03ec 8823 tst r24
- 605 03ee 01F4 brne .L73
- 606 03f0 0894 sec
- 607 03f2 E11C adc r14,__zero_reg__
- 608 03f4 F11C adc r15,__zero_reg__
- 609 03f6 00C0 rjmp .L56
- 610 .L73:
- 611 03f8 EE24 clr r14
- 612 03fa FF24 clr r15
- 613 .L56:
- 614 03fc 80FF sbrs r24,0
- 615 03fe 00C0 rjmp .L57
- 616 0400 80E0 ldi r24,lo8(5888)
- 617 0402 97E1 ldi r25,hi8(5888)
- 618 0404 9093 0000 sts currentAddress+1,r25
- 619 0408 8093 0000 sts currentAddress,r24
- 620 /* #APP */
- 621 ; 114 "main.c" 1
- 622 040c F894 cli
- 623 ; 0 "" 2
- 624 /* #NOAPP */
- 625 040e E091 0000 lds r30,currentAddress
- 626 0412 F091 0000 lds r31,currentAddress+1
- 627 0416 00C0 rjmp .L58
- GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccQ4lgkR.s page 12
-
-
- 628 .L60:
- 629 0418 E054 subi r30,lo8(-(-64))
- 630 041a F040 sbci r31,hi8(-(-64))
- 631 041c 83E0 ldi r24,lo8(3)
- 632 /* #APP */
- 633 ; 118 "main.c" 1
- 634 041e 8093 5700 sts 87, r24
- 635 0422 E895 spm
- 636
- 637 ; 0 "" 2
- 638 /* #NOAPP */
- 639 .L59:
- 640 0424 07B6 in __tmp_reg__,87-32
- 641 0426 00FC sbrc __tmp_reg__,0
- 642 0428 00C0 rjmp .L59
- 643 .L58:
- 644 042a 3097 sbiw r30,0
- 645 042c 01F4 brne .L60
- 646 042e 1092 0000 sts currentAddress+1,__zero_reg__
- 647 0432 1092 0000 sts currentAddress,__zero_reg__
- 648 0436 00D0 rcall fillFlashWithVectors
- 649 /* #APP */
- 650 ; 123 "main.c" 1
- 651 0438 7894 sei
- 652 ; 0 "" 2
- 653 /* #NOAPP */
- 654 .L57:
- 655 043a 8091 0000 lds r24,events
- 656 043e 81FF sbrs r24,1
- 657 0440 00C0 rjmp .L61
- 658 0442 A9E3 ldi r26,lo8(8249)
- 659 0444 B0E2 ldi r27,hi8(8249)
- 660 0446 1197 1:sbiw r26,1
- 661 0448 01F4 brne 1b
- 662 044a 00C0 rjmp .
- 663 044c 0000 nop
- 664 044e 8091 0000 lds r24,currentAddress
- 665 0452 9091 0000 lds r25,currentAddress+1
- 666 0456 8F73 andi r24,lo8(63)
- 667 0458 9070 andi r25,hi8(63)
- 668 045a 0097 sbiw r24,0
- 669 045c 01F0 breq .L62
- 670 045e 00D0 rcall fillFlashWithVectors
- 671 0460 00C0 rjmp .L61
- 672 .L62:
- 673 0462 00D0 rcall writeFlashPage
- 674 .L61:
- 675 0464 8091 0000 lds r24,events
- 676 0468 82FD sbrc r24,2
- 677 046a 00C0 rjmp .L63
- 678 046c B1E5 ldi r27,lo8(-15535)
- 679 046e EB16 cp r14,r27
- 680 0470 B3EC ldi r27,hi8(-15535)
- 681 0472 FB06 cpc r15,r27
- 682 0474 00F0 brlo .L64
- 683 .L63:
- 684 0476 E1E2 ldi r30,lo8(-24287)
- GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccQ4lgkR.s page 13
-
-
- 685 0478 F1EA ldi r31,hi8(-24287)
- 686 047a 3197 1:sbiw r30,1
- 687 047c 01F4 brne 1b
- 688 047e 00C0 rjmp .
- 689 0480 0000 nop
- 690 /* #APP */
- 691 ; 307 "main.c" 1
- 692 0482 F894 cli
- 693 ; 0 "" 2
- 694 /* #NOAPP */
- 695 0484 1BBE out 91-32,__zero_reg__
- 696 0486 15BA out 53-32,__zero_reg__
- 697 0488 8091 0000 lds r24,didWriteSomething
- 698 048c 8823 tst r24
- 699 048e 01F4 brne .L65
- 700 0490 00C0 rjmp .L66
- 701 .L67:
- 702 0492 00D0 rcall fillFlashWithVectors
- 703 .L65:
- 704 0494 8091 0000 lds r24,currentAddress
- 705 0498 9091 0000 lds r25,currentAddress+1
- 706 049c F7E1 ldi r31,hi8(5888)
- 707 049e 8030 cpi r24,lo8(5888)
- 708 04a0 9F07 cpc r25,r31
- 709 04a2 00F0 brlo .L67
- 710 .L66:
- 711 04a4 1092 5F02 sts 607,__zero_reg__
- 712 04a8 1092 5E02 sts 606,__zero_reg__
- 713 /* #APP */
- 714 ; 323 "main.c" 1
- 715 04ac 00C0 rjmp __vectors - 4
- 716 ; 0 "" 2
- 717 /* #NOAPP */
- 718 .L64:
- 719 04ae 1092 0000 sts events,__zero_reg__
- 720 04b2 00C0 rjmp .L68
- 721 .size main, .-main
- 722 .global usbTxLen
- 723 .data
- 724 .type usbTxLen, @object
- 725 .size usbTxLen, 1
- 726 usbTxLen:
- 727 0000 5A .byte 90
- 728 .global usbDescriptorString0
- 729 .section .progmem.data,"a",@progbits
- 730 .type usbDescriptorString0, @object
- 731 .size usbDescriptorString0, 4
- 732 usbDescriptorString0:
- 733 0000 04 .byte 4
- 734 0001 03 .byte 3
- 735 0002 09 .byte 9
- 736 0003 04 .byte 4
- 737 .global usbDescriptorStringVendor
- 738 .type usbDescriptorStringVendor, @object
- 739 .size usbDescriptorStringVendor, 34
- 740 usbDescriptorStringVendor:
- 741 0004 2203 .word 802
- GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccQ4lgkR.s page 14
-
-
- 742 0006 6300 .word 99
- 743 0008 7200 .word 114
- 744 000a 6500 .word 101
- 745 000c 6100 .word 97
- 746 000e 7400 .word 116
- 747 0010 6900 .word 105
- 748 0012 7600 .word 118
- 749 0014 6500 .word 101
- 750 0016 7000 .word 112
- 751 0018 6F00 .word 111
- 752 001a 6E00 .word 110
- 753 001c 7900 .word 121
- 754 001e 2E00 .word 46
- 755 0020 6300 .word 99
- 756 0022 6F00 .word 111
- 757 0024 6D00 .word 109
- 758 .global usbDescriptorStringDevice
- 759 .type usbDescriptorStringDevice, @object
- 760 .size usbDescriptorStringDevice, 12
- 761 usbDescriptorStringDevice:
- 762 0026 0C03 .word 780
- 763 0028 7500 .word 117
- 764 002a 4200 .word 66
- 765 002c 6F00 .word 111
- 766 002e 6F00 .word 111
- 767 0030 7400 .word 116
- 768 .global usbDescriptorDevice
- 769 .type usbDescriptorDevice, @object
- 770 .size usbDescriptorDevice, 18
- 771 usbDescriptorDevice:
- 772 0032 12 .byte 18
- 773 0033 01 .byte 1
- 774 0034 10 .byte 16
- 775 0035 01 .byte 1
- 776 0036 FF .byte -1
- 777 0037 00 .byte 0
- 778 0038 00 .byte 0
- 779 0039 08 .byte 8
- 780 003a C0 .byte -64
- 781 003b 16 .byte 22
- 782 003c DC .byte -36
- 783 003d 05 .byte 5
- 784 003e 01 .byte 1
- 785 003f 01 .byte 1
- 786 0040 01 .byte 1
- 787 0041 02 .byte 2
- 788 0042 00 .byte 0
- 789 0043 01 .byte 1
- 790 .global usbDescriptorConfiguration
- 791 .type usbDescriptorConfiguration, @object
- 792 .size usbDescriptorConfiguration, 18
- 793 usbDescriptorConfiguration:
- 794 0044 09 .byte 9
- 795 0045 02 .byte 2
- 796 0046 12 .byte 18
- 797 0047 00 .byte 0
- 798 0048 01 .byte 1
- GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccQ4lgkR.s page 15
-
-
- 799 0049 01 .byte 1
- 800 004a 00 .byte 0
- 801 004b 80 .byte -128
- 802 004c 32 .byte 50
- 803 004d 09 .byte 9
- 804 004e 04 .byte 4
- 805 004f 00 .byte 0
- 806 0050 00 .byte 0
- 807 0051 00 .byte 0
- 808 0052 00 .byte 0
- 809 0053 00 .byte 0
- 810 0054 00 .byte 0
- 811 0055 00 .byte 0
- 812 .comm usbMsgPtr,2,1
- 813 .comm usbRxToken,1,1
- 814 .comm usbConfiguration,1,1
- 815 .comm usbRxBuf,22,1
- 816 .comm usbInputBufOffset,1,1
- 817 .comm usbDeviceAddr,1,1
- 818 .comm usbNewDeviceAddr,1,1
- 819 .comm usbRxLen,1,1
- 820 .comm usbCurrentTok,1,1
- 821 .comm usbTxBuf,11,1
- 822 .lcomm events,1
- 823 .lcomm currentAddress,2
- 824 .lcomm vectorTemp,4
- 825 .lcomm didWriteSomething,1
- 826 .data
- 827 .type usbMsgLen, @object
- 828 .size usbMsgLen, 1
- 829 usbMsgLen:
- 830 0001 FF .byte -1
- 831 .lcomm usbMsgFlags,1
- 832 .lcomm writeLength,1
- 833 .type replyBuffer.1766, @object
- 834 .size replyBuffer.1766, 4
- 835 replyBuffer.1766:
- 836 0002 16 .byte 22
- 837 0003 FA .byte -6
- 838 0004 40 .byte 64
- 839 0005 14 .byte 20
- 840 .lcomm wasReset.1698,1
- 841 .global __do_copy_data
- 842 .global __do_clear_bss
- GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccQ4lgkR.s page 16
+ 13 0000 81E0 ldi r24,lo8(1)
+ 14 0002 8093 0000 sts didWriteSomething,r24
+ 15 /* #APP */
+ 16 ; 128 "main.c" 1
+ 17 0006 F894 cli
+ 18 ; 0 "" 2
+ 19 /* #NOAPP */
+ 20 0008 E091 0000 lds r30,currentAddress
+ 21 000c F091 0000 lds r31,(currentAddress)+1
+ 22 0010 3297 sbiw r30,2
+ 23 0012 85E0 ldi r24,lo8(5)
+ 24 /* #APP */
+ 25 ; 129 "main.c" 1
+ 26 0014 8093 5700 sts 87, r24
+ 27 0018 E895 spm
+ 28
+ 29 ; 0 "" 2
+ 30 /* #NOAPP */
+ 31 .L2:
+ 32 001a 07B6 in __tmp_reg__,87-32
+ 33 001c 00FC sbrc __tmp_reg__,0
+ 34 001e 00C0 rjmp .L2
+ 35 /* #APP */
+ 36 ; 131 "main.c" 1
+ 37 0020 7894 sei
+ 38 ; 0 "" 2
+ 39 /* epilogue start */
+ 40 /* #NOAPP */
+ 41 0022 0895 ret
+ 42 .size writeFlashPage, .-writeFlashPage
+ 43 .type writeWordToPageBuffer, @function
+ 44 writeWordToPageBuffer:
+ 45 /* prologue: function */
+ 46 /* frame size = 0 */
+ 47 0024 9C01 movw r18,r24
+ 48 0026 E091 0000 lds r30,currentAddress
+ 49 002a F091 0000 lds r31,(currentAddress)+1
+ 50 002e 3097 sbiw r30,0
+ 51 0030 01F0 breq .L5
+ 52 0032 E430 cpi r30,4
+ 53 0034 F105 cpc r31,__zero_reg__
+ 54 0036 01F0 breq .L6
+ 55 0038 86E1 ldi r24,hi8(5884)
+ 56 003a EC3F cpi r30,lo8(5884)
+ 57 003c F807 cpc r31,r24
+ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccgCENsE.s page 2
+
+
+ 58 003e 01F4 brne .L7
+ 59 0040 2091 0000 lds r18,vectorTemp
+ 60 0044 3091 0000 lds r19,(vectorTemp)+1
+ 61 0048 2E57 subi r18,lo8(-(1154))
+ 62 004a 3B4F sbci r19,hi8(-(1154))
+ 63 004c 00C0 rjmp .L8
+ 64 .L7:
+ 65 004e 86E1 ldi r24,hi8(5886)
+ 66 0050 EE3F cpi r30,lo8(5886)
+ 67 0052 F807 cpc r31,r24
+ 68 0054 01F4 brne .L8
+ 69 0056 2091 0000 lds r18,vectorTemp+2
+ 70 005a 3091 0000 lds r19,(vectorTemp+2)+1
+ 71 005e 2D57 subi r18,lo8(-(1155))
+ 72 0060 3B4F sbci r19,hi8(-(1155))
+ 73 0062 00C0 rjmp .L8
+ 74 .L6:
+ 75 0064 2FE7 ldi r18,lo8(-13441)
+ 76 0066 3BEC ldi r19,hi8(-13441)
+ 77 .L8:
+ 78 /* #APP */
+ 79 ; 165 "main.c" 1
+ 80 0068 F894 cli
+ 81 ; 0 "" 2
+ 82 /* #NOAPP */
+ 83 006a 81E0 ldi r24,lo8(1)
+ 84 /* #APP */
+ 85 ; 166 "main.c" 1
+ 86 006c 0901 movw r0, r18
+ 87 006e 8093 5700 sts 87, r24
+ 88 0072 E895 spm
+ 89 0074 1124 clr r1
+ 90
+ 91 ; 0 "" 2
+ 92 ; 167 "main.c" 1
+ 93 0076 7894 sei
+ 94 ; 0 "" 2
+ 95 /* #NOAPP */
+ 96 0078 3296 adiw r30,2
+ 97 007a F093 0000 sts (currentAddress)+1,r31
+ 98 007e E093 0000 sts currentAddress,r30
+ 99 /* epilogue start */
+ 100 0082 0895 ret
+ 101 .L5:
+ 102 0084 81E1 ldi r24,lo8(17)
+ 103 /* #APP */
+ 104 ; 163 "main.c" 1
+ 105 0086 8093 5700 sts 87, r24
+ 106 008a E895 spm
+ 107
+ 108 ; 0 "" 2
+ 109 /* #NOAPP */
+ 110 008c 00C0 rjmp .L6
+ 111 .size writeWordToPageBuffer, .-writeWordToPageBuffer
+ 112 .type fillFlashWithVectors, @function
+ 113 fillFlashWithVectors:
+ 114 008e CF93 push r28
+ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccgCENsE.s page 3
+
+
+ 115 0090 DF93 push r29
+ 116 /* prologue: function */
+ 117 /* frame size = 0 */
+ 118 0092 C091 0000 lds r28,currentAddress
+ 119 0096 D091 0000 lds r29,(currentAddress)+1
+ 120 009a CF73 andi r28,lo8(63)
+ 121 009c D070 andi r29,hi8(63)
+ 122 .L11:
+ 123 009e 8FEF ldi r24,lo8(-1)
+ 124 00a0 9FEF ldi r25,hi8(-1)
+ 125 00a2 00D0 rcall writeWordToPageBuffer
+ 126 00a4 2296 adiw r28,2
+ 127 00a6 C034 cpi r28,64
+ 128 00a8 D105 cpc r29,__zero_reg__
+ 129 00aa 04F0 brlt .L11
+ 130 00ac 00D0 rcall writeFlashPage
+ 131 /* epilogue start */
+ 132 00ae DF91 pop r29
+ 133 00b0 CF91 pop r28
+ 134 00b2 0895 ret
+ 135 .size fillFlashWithVectors, .-fillFlashWithVectors
+ 136 .section .init3,"ax",@progbits
+ 137 .global PushMagicWord
+ 138 .type PushMagicWord, @function
+ 139 PushMagicWord:
+ 140 /* prologue: naked */
+ 141 /* frame size = 0 */
+ 142 /* #APP */
+ 143 ; 262 "main.c" 1
+ 144 0000 00EB ldi r16, 0xB0
+ 145 ; 0 "" 2
+ 146 ; 263 "main.c" 1
+ 147 0002 0F93 push r16
+ 148 ; 0 "" 2
+ 149 ; 264 "main.c" 1
+ 150 0004 07E0 ldi r16, 0x07
+ 151 ; 0 "" 2
+ 152 ; 265 "main.c" 1
+ 153 0006 0F93 push r16
+ 154 ; 0 "" 2
+ 155 /* epilogue start */
+ 156 /* #NOAPP */
+ 157 .size PushMagicWord, .-PushMagicWord
+ 158 .text
+ 159 .global main
+ 160 .type main, @function
+ 161 main:
+ 162 /* prologue: function */
+ 163 /* frame size = 0 */
+ 164 00b4 88E1 ldi r24,lo8(24)
+ 165 /* #APP */
+ 166 ; 330 "main.c" 1
+ 167 00b6 0FB6 in __tmp_reg__, __SREG__
+ 168 00b8 F894 cli
+ 169 00ba 81BD out 33, r24
+ 170 00bc 11BC out 33, __zero_reg__
+ 171 00be 0FBE out __SREG__,__tmp_reg__
+ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccgCENsE.s page 4
+
+
+ 172
+ 173 ; 0 "" 2
+ 174 /* #NOAPP */
+ 175 00c0 E0E0 ldi r30,lo8(0)
+ 176 00c2 F0E0 ldi r31,hi8(0)
+ 177 /* #APP */
+ 178 ; 283 "main.c" 1
+ 179 00c4 8591 lpm r24, Z+
+ 180 00c6 9491 lpm r25, Z
+ 181
+ 182 ; 0 "" 2
+ 183 /* #NOAPP */
+ 184 00c8 8F57 subi r24,lo8(-13441)
+ 185 00ca 9B4C sbci r25,hi8(-13441)
+ 186 00cc 01F4 brne .L16
+ 187 00ce E4E0 ldi r30,lo8(4)
+ 188 00d0 F0E0 ldi r31,hi8(4)
+ 189 /* #APP */
+ 190 ; 284 "main.c" 1
+ 191 00d2 8591 lpm r24, Z+
+ 192 00d4 9491 lpm r25, Z
+ 193
+ 194 ; 0 "" 2
+ 195 /* #NOAPP */
+ 196 00d6 8F57 subi r24,lo8(-13441)
+ 197 00d8 9B4C sbci r25,hi8(-13441)
+ 198 00da 01F0 breq .L17
+ 199 .L16:
+ 200 00dc 00D0 rcall fillFlashWithVectors
+ 201 .L17:
+ 202 00de 1092 0000 sts (currentAddress)+1,__zero_reg__
+ 203 00e2 1092 0000 sts currentAddress,__zero_reg__
+ 204 00e6 AC9A sbi 53-32,4
+ 205 00e8 8BB7 in r24,91-32
+ 206 00ea 8062 ori r24,lo8(32)
+ 207 00ec 8BBF out 91-32,r24
+ 208 00ee BB9A sbi 55-32,3
+ 209 00f0 88E8 ldi r24,lo8(5000)
+ 210 00f2 93E1 ldi r25,hi8(5000)
+ 211 .L18:
+ 212 00f4 ECE9 ldi r30,lo8(412)
+ 213 00f6 F1E0 ldi r31,hi8(412)
+ 214 /* #APP */
+ 215 ; 105 "/usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/../../../../avr/include/util/delay_bas
+ 216 00f8 3197 1: sbiw r30,1
+ 217 00fa 01F4 brne 1b
+ 218 ; 0 "" 2
+ 219 /* #NOAPP */
+ 220 00fc 0197 sbiw r24,1
+ 221 00fe 01F4 brne .L18
+ 222 0100 BB98 cbi 55-32,3
+ 223 /* #APP */
+ 224 ; 276 "main.c" 1
+ 225 0102 7894 sei
+ 226 ; 0 "" 2
+ 227 /* #NOAPP */
+ 228 0104 EE24 clr r14
+ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccgCENsE.s page 5
+
+
+ 229 0106 FF24 clr r15
+ 230 .L74:
+ 231 0108 1091 0000 lds r17,usbRxLen
+ 232 010c 1350 subi r17,lo8(-(-3))
+ 233 010e 17FD sbrc r17,7
+ 234 0110 00C0 rjmp .L19
+ 235 0112 8091 0000 lds r24,usbInputBufOffset
+ 236 0116 CCE0 ldi r28,lo8(12)
+ 237 0118 D0E0 ldi r29,hi8(12)
+ 238 011a C81B sub r28,r24
+ 239 011c D109 sbc r29,__zero_reg__
+ 240 011e C050 subi r28,lo8(-(usbRxBuf))
+ 241 0120 D040 sbci r29,hi8(-(usbRxBuf))
+ 242 0122 8091 0000 lds r24,usbRxToken
+ 243 0126 8D32 cpi r24,lo8(45)
+ 244 0128 01F0 breq .+2
+ 245 012a 00C0 rjmp .L20
+ 246 012c 1830 cpi r17,lo8(8)
+ 247 012e 01F0 breq .+2
+ 248 0130 00C0 rjmp .L21
+ 249 0132 83EC ldi r24,lo8(-61)
+ 250 0134 8093 0000 sts usbTxBuf,r24
+ 251 0138 8AE5 ldi r24,lo8(90)
+ 252 013a 8093 0000 sts usbTxLen,r24
+ 253 013e 1092 0000 sts usbMsgFlags,__zero_reg__
+ 254 0142 2881 ld r18,Y
+ 255 0144 822F mov r24,r18
+ 256 0146 8076 andi r24,lo8(96)
+ 257 0148 9981 ldd r25,Y+1
+ 258 014a 8823 tst r24
+ 259 014c 01F0 breq .L22
+ 260 014e 9923 tst r25
+ 261 0150 01F4 brne .L23
+ 262 0152 80E0 ldi r24,lo8(replyBuffer.1675)
+ 263 0154 90E0 ldi r25,hi8(replyBuffer.1675)
+ 264 0156 9093 0000 sts (usbMsgPtr)+1,r25
+ 265 015a 8093 0000 sts usbMsgPtr,r24
+ 266 015e 24E0 ldi r18,lo8(4)
+ 267 0160 00C0 rjmp .L24
+ 268 .L23:
+ 269 0162 9130 cpi r25,lo8(1)
+ 270 0164 01F4 brne .L25
+ 271 0166 8A81 ldd r24,Y+2
+ 272 0168 8093 0000 sts writeLength,r24
+ 273 016c 8C81 ldd r24,Y+4
+ 274 016e 9D81 ldd r25,Y+5
+ 275 0170 9093 0000 sts (currentAddress)+1,r25
+ 276 0174 8093 0000 sts currentAddress,r24
+ 277 0178 27FD sbrc r18,7
+ 278 017a 00C0 rjmp .L26
+ 279 017c 9FEF ldi r25,lo8(-1)
+ 280 017e 00C0 rjmp .L27
+ 281 .L25:
+ 282 0180 8091 0000 lds r24,events
+ 283 0184 9230 cpi r25,lo8(2)
+ 284 0186 01F4 brne .L28
+ 285 0188 8160 ori r24,lo8(1)
+ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccgCENsE.s page 6
+
+
+ 286 018a 00C0 rjmp .L78
+ 287 .L28:
+ 288 018c 8460 ori r24,lo8(4)
+ 289 .L78:
+ 290 018e 8093 0000 sts events,r24
+ 291 0192 20E0 ldi r18,lo8(0)
+ 292 0194 00C0 rjmp .L24
+ 293 .L22:
+ 294 0196 8A81 ldd r24,Y+2
+ 295 0198 1092 0000 sts usbTxBuf+9,__zero_reg__
+ 296 019c 9923 tst r25
+ 297 019e 01F4 brne .L29
+ 298 01a0 1092 0000 sts usbTxBuf+10,__zero_reg__
+ 299 01a4 80E0 ldi r24,lo8(usbTxBuf+9)
+ 300 01a6 90E0 ldi r25,hi8(usbTxBuf+9)
+ 301 01a8 22E0 ldi r18,lo8(2)
+ 302 01aa 00C0 rjmp .L30
+ 303 .L29:
+ 304 01ac 9530 cpi r25,lo8(5)
+ 305 01ae 01F4 brne .L31
+ 306 01b0 8093 0000 sts usbNewDeviceAddr,r24
+ 307 01b4 00C0 rjmp .L41
+ 308 .L31:
+ 309 01b6 9630 cpi r25,lo8(6)
+ 310 01b8 01F4 brne .L32
+ 311 01ba 8B81 ldd r24,Y+3
+ 312 01bc 8130 cpi r24,lo8(1)
+ 313 01be 01F4 brne .L33
+ 314 01c0 80E0 ldi r24,lo8(usbDescriptorDevice)
+ 315 01c2 90E0 ldi r25,hi8(usbDescriptorDevice)
+ 316 01c4 00C0 rjmp .L76
+ 317 .L33:
+ 318 01c6 8230 cpi r24,lo8(2)
+ 319 01c8 01F4 brne .L35
+ 320 01ca 80E0 ldi r24,lo8(usbDescriptorConfiguration)
+ 321 01cc 90E0 ldi r25,hi8(usbDescriptorConfiguration)
+ 322 .L76:
+ 323 01ce 9093 0000 sts (usbMsgPtr)+1,r25
+ 324 01d2 8093 0000 sts usbMsgPtr,r24
+ 325 01d6 22E1 ldi r18,lo8(18)
+ 326 01d8 00C0 rjmp .L34
+ 327 .L35:
+ 328 01da 8330 cpi r24,lo8(3)
+ 329 01dc 01F4 brne .L36
+ 330 01de 8A81 ldd r24,Y+2
+ 331 01e0 8823 tst r24
+ 332 01e2 01F4 brne .L37
+ 333 01e4 80E0 ldi r24,lo8(usbDescriptorString0)
+ 334 01e6 90E0 ldi r25,hi8(usbDescriptorString0)
+ 335 01e8 9093 0000 sts (usbMsgPtr)+1,r25
+ 336 01ec 8093 0000 sts usbMsgPtr,r24
+ 337 01f0 24E0 ldi r18,lo8(4)
+ 338 01f2 00C0 rjmp .L34
+ 339 .L37:
+ 340 01f4 8130 cpi r24,lo8(1)
+ 341 01f6 01F4 brne .L38
+ 342 01f8 80E0 ldi r24,lo8(usbDescriptorStringVendor)
+ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccgCENsE.s page 7
+
+
+ 343 01fa 90E0 ldi r25,hi8(usbDescriptorStringVendor)
+ 344 01fc 9093 0000 sts (usbMsgPtr)+1,r25
+ 345 0200 8093 0000 sts usbMsgPtr,r24
+ 346 0204 22E2 ldi r18,lo8(34)
+ 347 0206 00C0 rjmp .L34
+ 348 .L38:
+ 349 0208 8230 cpi r24,lo8(2)
+ 350 020a 01F4 brne .L36
+ 351 020c 80E0 ldi r24,lo8(usbDescriptorStringDevice)
+ 352 020e 90E0 ldi r25,hi8(usbDescriptorStringDevice)
+ 353 0210 9093 0000 sts (usbMsgPtr)+1,r25
+ 354 0214 8093 0000 sts usbMsgPtr,r24
+ 355 0218 2CE0 ldi r18,lo8(12)
+ 356 021a 00C0 rjmp .L34
+ 357 .L36:
+ 358 021c 20E0 ldi r18,lo8(0)
+ 359 .L34:
+ 360 021e 80E4 ldi r24,lo8(64)
+ 361 0220 8093 0000 sts usbMsgFlags,r24
+ 362 0224 00C0 rjmp .L24
+ 363 .L32:
+ 364 0226 9830 cpi r25,lo8(8)
+ 365 0228 01F4 brne .L39
+ 366 022a 80E0 ldi r24,lo8(usbConfiguration)
+ 367 022c 90E0 ldi r25,hi8(usbConfiguration)
+ 368 022e 00C0 rjmp .L77
+ 369 .L39:
+ 370 0230 9930 cpi r25,lo8(9)
+ 371 0232 01F4 brne .L40
+ 372 0234 8093 0000 sts usbConfiguration,r24
+ 373 0238 00C0 rjmp .L41
+ 374 .L40:
+ 375 023a 9A30 cpi r25,lo8(10)
+ 376 023c 01F4 brne .L41
+ 377 023e 80E0 ldi r24,lo8(usbTxBuf+9)
+ 378 0240 90E0 ldi r25,hi8(usbTxBuf+9)
+ 379 .L77:
+ 380 0242 21E0 ldi r18,lo8(1)
+ 381 0244 00C0 rjmp .L30
+ 382 .L41:
+ 383 0246 80E0 ldi r24,lo8(usbTxBuf+9)
+ 384 0248 90E0 ldi r25,hi8(usbTxBuf+9)
+ 385 024a 20E0 ldi r18,lo8(0)
+ 386 .L30:
+ 387 024c 9093 0000 sts (usbMsgPtr)+1,r25
+ 388 0250 8093 0000 sts usbMsgPtr,r24
+ 389 0254 00C0 rjmp .L24
+ 390 .L26:
+ 391 0256 9E81 ldd r25,Y+6
+ 392 .L27:
+ 393 0258 80E8 ldi r24,lo8(-128)
+ 394 025a 8093 0000 sts usbMsgFlags,r24
+ 395 025e 00C0 rjmp .L42
+ 396 .L24:
+ 397 0260 8F81 ldd r24,Y+7
+ 398 0262 8823 tst r24
+ 399 0264 01F4 brne .L43
+ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccgCENsE.s page 8
+
+
+ 400 0266 9E81 ldd r25,Y+6
+ 401 0268 9217 cp r25,r18
+ 402 026a 00F0 brlo .L42
+ 403 .L43:
+ 404 026c 922F mov r25,r18
+ 405 .L42:
+ 406 026e 9093 0000 sts usbMsgLen,r25
+ 407 0272 00C0 rjmp .L21
+ 408 .L20:
+ 409 0274 8091 0000 lds r24,usbMsgFlags
+ 410 0278 87FF sbrs r24,7
+ 411 027a 00C0 rjmp .L21
+ 412 027c 8091 0000 lds r24,writeLength
+ 413 0280 811B sub r24,r17
+ 414 0282 8093 0000 sts writeLength,r24
+ 415 .L48:
+ 416 0286 8091 0000 lds r24,currentAddress
+ 417 028a 9091 0000 lds r25,(currentAddress)+1
+ 418 028e 0097 sbiw r24,0
+ 419 0290 01F4 brne .L44
+ 420 0292 8881 ld r24,Y
+ 421 0294 9981 ldd r25,Y+1
+ 422 0296 9093 0000 sts (vectorTemp)+1,r25
+ 423 029a 8093 0000 sts vectorTemp,r24
+ 424 029e 00C0 rjmp .L45
+ 425 .L44:
+ 426 02a0 8430 cpi r24,4
+ 427 02a2 9105 cpc r25,__zero_reg__
+ 428 02a4 01F4 brne .L46
+ 429 02a6 8881 ld r24,Y
+ 430 02a8 9981 ldd r25,Y+1
+ 431 02aa 9093 0000 sts (vectorTemp+2)+1,r25
+ 432 02ae 8093 0000 sts vectorTemp+2,r24
+ 433 02b2 00C0 rjmp .L45
+ 434 .L46:
+ 435 02b4 8A5F subi r24,lo8(5882)
+ 436 02b6 9641 sbci r25,hi8(5882)
+ 437 02b8 00F0 brlo .L45
+ 438 02ba 81E1 ldi r24,lo8(17)
+ 439 /* #APP */
+ 440 ; 239 "main.c" 1
+ 441 02bc 8093 5700 sts 87, r24
+ 442 02c0 E895 spm
+ 443
+ 444 ; 0 "" 2
+ 445 /* #NOAPP */
+ 446 02c2 00C0 rjmp .L47
+ 447 .L45:
+ 448 02c4 8881 ld r24,Y
+ 449 02c6 9981 ldd r25,Y+1
+ 450 02c8 00D0 rcall writeWordToPageBuffer
+ 451 02ca 1250 subi r17,lo8(-(-2))
+ 452 02cc 01F0 breq .L47
+ 453 02ce 2296 adiw r28,2
+ 454 02d0 00C0 rjmp .L48
+ 455 .L47:
+ 456 02d2 8091 0000 lds r24,writeLength
+ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccgCENsE.s page 9
+
+
+ 457 02d6 8823 tst r24
+ 458 02d8 01F4 brne .L21
+ 459 02da 8091 0000 lds r24,events
+ 460 02de 8260 ori r24,lo8(2)
+ 461 02e0 8093 0000 sts events,r24
+ 462 02e4 1092 0000 sts usbMsgLen,__zero_reg__
+ 463 .L21:
+ 464 02e8 1092 0000 sts usbRxLen,__zero_reg__
+ 465 .L19:
+ 466 02ec 8091 0000 lds r24,usbTxLen
+ 467 02f0 84FF sbrs r24,4
+ 468 02f2 00C0 rjmp .L49
+ 469 02f4 8091 0000 lds r24,usbMsgLen
+ 470 02f8 8F3F cpi r24,lo8(-1)
+ 471 02fa 01F0 breq .L49
+ 472 02fc 182F mov r17,r24
+ 473 02fe 8930 cpi r24,lo8(9)
+ 474 0300 00F0 brlo .L50
+ 475 0302 18E0 ldi r17,lo8(8)
+ 476 .L50:
+ 477 0304 811B sub r24,r17
+ 478 0306 8093 0000 sts usbMsgLen,r24
+ 479 030a 8091 0000 lds r24,usbTxBuf
+ 480 030e 98E8 ldi r25,lo8(-120)
+ 481 0310 8927 eor r24,r25
+ 482 0312 8093 0000 sts usbTxBuf,r24
+ 483 0316 1123 tst r17
+ 484 0318 01F0 breq .L51
+ 485 031a E091 0000 lds r30,usbMsgPtr
+ 486 031e F091 0000 lds r31,(usbMsgPtr)+1
+ 487 0322 8091 0000 lds r24,usbMsgFlags
+ 488 0326 86FF sbrs r24,6
+ 489 0328 00C0 rjmp .L52
+ 490 032a 912F mov r25,r17
+ 491 032c A0E0 ldi r26,lo8(usbTxBuf+1)
+ 492 032e B0E0 ldi r27,hi8(usbTxBuf+1)
+ 493 .L53:
+ 494 /* #APP */
+ 495 ; 504 "usbdrv/usbdrv.c" 1
+ 496 0330 8491 lpm r24, Z
+ 497
+ 498 ; 0 "" 2
+ 499 /* #NOAPP */
+ 500 0332 8D93 st X+,r24
+ 501 0334 3196 adiw r30,1
+ 502 0336 9150 subi r25,lo8(-(-1))
+ 503 0338 01F4 brne .L53
+ 504 033a 00C0 rjmp .L54
+ 505 .L52:
+ 506 033c 912F mov r25,r17
+ 507 033e A0E0 ldi r26,lo8(usbTxBuf+1)
+ 508 0340 B0E0 ldi r27,hi8(usbTxBuf+1)
+ 509 .L55:
+ 510 0342 8191 ld r24,Z+
+ 511 0344 8D93 st X+,r24
+ 512 0346 9150 subi r25,lo8(-(-1))
+ 513 0348 01F4 brne .L55
+ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccgCENsE.s page 10
+
+
+ 514 .L54:
+ 515 034a F093 0000 sts (usbMsgPtr)+1,r31
+ 516 034e E093 0000 sts usbMsgPtr,r30
+ 517 .L51:
+ 518 0352 80E0 ldi r24,lo8(usbTxBuf+1)
+ 519 0354 90E0 ldi r25,hi8(usbTxBuf+1)
+ 520 0356 612F mov r22,r17
+ 521 0358 00D0 rcall usbCrc16Append
+ 522 035a 612F mov r22,r17
+ 523 035c 6C5F subi r22,lo8(-(4))
+ 524 035e 6C30 cpi r22,lo8(12)
+ 525 0360 01F0 breq .L56
+ 526 0362 8FEF ldi r24,lo8(-1)
+ 527 0364 8093 0000 sts usbMsgLen,r24
+ 528 .L56:
+ 529 0368 6093 0000 sts usbTxLen,r22
+ 530 .L49:
+ 531 036c 94E1 ldi r25,lo8(20)
+ 532 .L58:
+ 533 036e 86B3 in r24,54-32
+ 534 0370 8871 andi r24,lo8(24)
+ 535 0372 01F4 brne .L57
+ 536 0374 9150 subi r25,lo8(-(-1))
+ 537 0376 01F4 brne .L58
+ 538 0378 1092 0000 sts usbNewDeviceAddr,__zero_reg__
+ 539 037c 1092 0000 sts usbDeviceAddr,__zero_reg__
+ 540 .L57:
+ 541 0380 10E0 ldi r17,lo8(0)
+ 542 0382 9923 tst r25
+ 543 0384 01F4 brne .L59
+ 544 0386 11E0 ldi r17,lo8(1)
+ 545 .L59:
+ 546 0388 8091 0000 lds r24,wasReset.1564
+ 547 038c 8117 cp r24,r17
+ 548 038e 01F0 breq .L60
+ 549 0390 1123 tst r17
+ 550 0392 01F4 brne .L61
+ 551 /* #APP */
+ 552 ; 557 "usbdrv/usbdrv.c" 1
+ 553 0394 F894 cli
+ 554 ; 0 "" 2
+ 555 /* #NOAPP */
+ 556 0396 00D0 rcall calibrateOscillator
+ 557 /* #APP */
+ 558 ; 557 "usbdrv/usbdrv.c" 1
+ 559 0398 7894 sei
+ 560 ; 0 "" 2
+ 561 /* #NOAPP */
+ 562 .L61:
+ 563 039a 1093 0000 sts wasReset.1564,r17
+ 564 .L60:
+ 565 039e 8CE9 ldi r24,lo8(412)
+ 566 03a0 91E0 ldi r25,hi8(412)
+ 567 /* #APP */
+ 568 ; 105 "/usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/../../../../avr/include/util/delay_bas
+ 569 03a2 0197 1: sbiw r24,1
+ 570 03a4 01F4 brne 1b
+ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccgCENsE.s page 11
+
+
+ 571 ; 0 "" 2
+ 572 /* #NOAPP */
+ 573 03a6 8091 0000 lds r24,events
+ 574 03aa 8823 tst r24
+ 575 03ac 01F0 breq .L62
+ 576 03ae EE24 clr r14
+ 577 03b0 FF24 clr r15
+ 578 03b2 00C0 rjmp .L63
+ 579 .L62:
+ 580 03b4 0894 sec
+ 581 03b6 E11C adc r14,__zero_reg__
+ 582 03b8 F11C adc r15,__zero_reg__
+ 583 .L63:
+ 584 03ba 182F mov r17,r24
+ 585 03bc 80FF sbrs r24,0
+ 586 03be 00C0 rjmp .L64
+ 587 /* #APP */
+ 588 ; 114 "main.c" 1
+ 589 03c0 F894 cli
+ 590 ; 0 "" 2
+ 591 /* #NOAPP */
+ 592 03c2 E0E0 ldi r30,lo8(5888)
+ 593 03c4 F7E1 ldi r31,hi8(5888)
+ 594 .L66:
+ 595 03c6 E054 subi r30,lo8(-(-64))
+ 596 03c8 F040 sbci r31,hi8(-(-64))
+ 597 03ca 83E0 ldi r24,lo8(3)
+ 598 /* #APP */
+ 599 ; 118 "main.c" 1
+ 600 03cc 8093 5700 sts 87, r24
+ 601 03d0 E895 spm
+ 602
+ 603 ; 0 "" 2
+ 604 /* #NOAPP */
+ 605 .L65:
+ 606 03d2 07B6 in __tmp_reg__,87-32
+ 607 03d4 00FC sbrc __tmp_reg__,0
+ 608 03d6 00C0 rjmp .L65
+ 609 03d8 3097 sbiw r30,0
+ 610 03da 01F4 brne .L66
+ 611 03dc 1092 0000 sts (currentAddress)+1,__zero_reg__
+ 612 03e0 1092 0000 sts currentAddress,__zero_reg__
+ 613 03e4 00D0 rcall fillFlashWithVectors
+ 614 /* #APP */
+ 615 ; 123 "main.c" 1
+ 616 03e6 7894 sei
+ 617 ; 0 "" 2
+ 618 /* #NOAPP */
+ 619 .L64:
+ 620 03e8 11FF sbrs r17,1
+ 621 03ea 00C0 rjmp .L67
+ 622 03ec 8AE3 ldi r24,lo8(8250)
+ 623 03ee 90E2 ldi r25,hi8(8250)
+ 624 /* #APP */
+ 625 ; 105 "/usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/../../../../avr/include/util/delay_bas
+ 626 03f0 0197 1: sbiw r24,1
+ 627 03f2 01F4 brne 1b
+ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccgCENsE.s page 12
+
+
+ 628 ; 0 "" 2
+ 629 /* #NOAPP */
+ 630 03f4 8091 0000 lds r24,currentAddress
+ 631 03f8 9091 0000 lds r25,(currentAddress)+1
+ 632 03fc 8F73 andi r24,lo8(63)
+ 633 03fe 9070 andi r25,hi8(63)
+ 634 0400 892B or r24,r25
+ 635 0402 01F0 breq .L68
+ 636 0404 00D0 rcall fillFlashWithVectors
+ 637 0406 00C0 rjmp .L67
+ 638 .L68:
+ 639 0408 00D0 rcall writeFlashPage
+ 640 .L67:
+ 641 040a 12FD sbrc r17,2
+ 642 040c 00C0 rjmp .L69
+ 643 040e 81E5 ldi r24,lo8(-15535)
+ 644 0410 E816 cp r14,r24
+ 645 0412 83EC ldi r24,hi8(-15535)
+ 646 0414 F806 cpc r15,r24
+ 647 0416 00F0 brlo .L70
+ 648 .L69:
+ 649 0418 82E2 ldi r24,lo8(-24286)
+ 650 041a 91EA ldi r25,hi8(-24286)
+ 651 /* #APP */
+ 652 ; 105 "/usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/../../../../avr/include/util/delay_bas
+ 653 041c 0197 1: sbiw r24,1
+ 654 041e 01F4 brne 1b
+ 655 ; 0 "" 2
+ 656 ; 307 "main.c" 1
+ 657 0420 F894 cli
+ 658 ; 0 "" 2
+ 659 /* #NOAPP */
+ 660 0422 1BBE out 91-32,__zero_reg__
+ 661 0424 15BA out 53-32,__zero_reg__
+ 662 0426 8091 0000 lds r24,didWriteSomething
+ 663 042a 8823 tst r24
+ 664 042c 01F4 brne .L71
+ 665 042e 00C0 rjmp .L72
+ 666 .L73:
+ 667 0430 00D0 rcall fillFlashWithVectors
+ 668 .L71:
+ 669 0432 8091 0000 lds r24,currentAddress
+ 670 0436 9091 0000 lds r25,(currentAddress)+1
+ 671 043a 8050 subi r24,lo8(5888)
+ 672 043c 9741 sbci r25,hi8(5888)
+ 673 043e 00F0 brlo .L73
+ 674 .L72:
+ 675 0440 1092 5F02 sts 607,__zero_reg__
+ 676 0444 1092 5E02 sts 606,__zero_reg__
+ 677 /* #APP */
+ 678 ; 323 "main.c" 1
+ 679 0448 00C0 rjmp __vectors - 4
+ 680 ; 0 "" 2
+ 681 /* #NOAPP */
+ 682 .L70:
+ 683 044a 1092 0000 sts events,__zero_reg__
+ 684 044e 00C0 rjmp .L74
+ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccgCENsE.s page 13
+
+
+ 685 .size main, .-main
+ 686 .global usbTxLen
+ 687 .data
+ 688 .type usbTxLen, @object
+ 689 .size usbTxLen, 1
+ 690 usbTxLen:
+ 691 0000 5A .byte 90
+ 692 .global usbDescriptorString0
+ 693 .section .progmem.data,"a",@progbits
+ 694 .type usbDescriptorString0, @object
+ 695 .size usbDescriptorString0, 4
+ 696 usbDescriptorString0:
+ 697 0000 04 .byte 4
+ 698 0001 03 .byte 3
+ 699 0002 09 .byte 9
+ 700 0003 04 .byte 4
+ 701 .global usbDescriptorStringVendor
+ 702 .type usbDescriptorStringVendor, @object
+ 703 .size usbDescriptorStringVendor, 34
+ 704 usbDescriptorStringVendor:
+ 705 0004 2203 .word 802
+ 706 0006 6300 .word 99
+ 707 0008 7200 .word 114
+ 708 000a 6500 .word 101
+ 709 000c 6100 .word 97
+ 710 000e 7400 .word 116
+ 711 0010 6900 .word 105
+ 712 0012 7600 .word 118
+ 713 0014 6500 .word 101
+ 714 0016 7000 .word 112
+ 715 0018 6F00 .word 111
+ 716 001a 6E00 .word 110
+ 717 001c 7900 .word 121
+ 718 001e 2E00 .word 46
+ 719 0020 6300 .word 99
+ 720 0022 6F00 .word 111
+ 721 0024 6D00 .word 109
+ 722 .global usbDescriptorStringDevice
+ 723 .type usbDescriptorStringDevice, @object
+ 724 .size usbDescriptorStringDevice, 12
+ 725 usbDescriptorStringDevice:
+ 726 0026 0C03 .word 780
+ 727 0028 7500 .word 117
+ 728 002a 4200 .word 66
+ 729 002c 6F00 .word 111
+ 730 002e 6F00 .word 111
+ 731 0030 7400 .word 116
+ 732 .global usbDescriptorDevice
+ 733 .type usbDescriptorDevice, @object
+ 734 .size usbDescriptorDevice, 18
+ 735 usbDescriptorDevice:
+ 736 0032 12 .byte 18
+ 737 0033 01 .byte 1
+ 738 0034 10 .byte 16
+ 739 0035 01 .byte 1
+ 740 0036 FF .byte -1
+ 741 0037 00 .byte 0
+ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccgCENsE.s page 14
+
+
+ 742 0038 00 .byte 0
+ 743 0039 08 .byte 8
+ 744 003a C0 .byte -64
+ 745 003b 16 .byte 22
+ 746 003c DC .byte -36
+ 747 003d 05 .byte 5
+ 748 003e 01 .byte 1
+ 749 003f 01 .byte 1
+ 750 0040 01 .byte 1
+ 751 0041 02 .byte 2
+ 752 0042 00 .byte 0
+ 753 0043 01 .byte 1
+ 754 .global usbDescriptorConfiguration
+ 755 .type usbDescriptorConfiguration, @object
+ 756 .size usbDescriptorConfiguration, 18
+ 757 usbDescriptorConfiguration:
+ 758 0044 09 .byte 9
+ 759 0045 02 .byte 2
+ 760 0046 12 .byte 18
+ 761 0047 00 .byte 0
+ 762 0048 01 .byte 1
+ 763 0049 01 .byte 1
+ 764 004a 00 .byte 0
+ 765 004b 80 .byte -128
+ 766 004c 32 .byte 50
+ 767 004d 09 .byte 9
+ 768 004e 04 .byte 4
+ 769 004f 00 .byte 0
+ 770 0050 00 .byte 0
+ 771 0051 00 .byte 0
+ 772 0052 00 .byte 0
+ 773 0053 00 .byte 0
+ 774 0054 00 .byte 0
+ 775 0055 00 .byte 0
+ 776 .lcomm events,1
+ 777 .lcomm didWriteSomething,1
+ 778 .data
+ 779 .type usbMsgLen, @object
+ 780 .size usbMsgLen, 1
+ 781 usbMsgLen:
+ 782 0001 FF .byte -1
+ 783 .type replyBuffer.1675, @object
+ 784 .size replyBuffer.1675, 4
+ 785 replyBuffer.1675:
+ 786 0002 16 .byte 22
+ 787 0003 FA .byte -6
+ 788 0004 40 .byte 64
+ 789 0005 14 .byte 20
+ 790 .lcomm wasReset.1564,1
+ 791 .lcomm usbMsgFlags,1
+ 792 .lcomm writeLength,1
+ 793 .lcomm vectorTemp,4
+ 794 .lcomm currentAddress,2
+ 795 .comm usbMsgPtr,2,1
+ 796 .comm usbRxToken,1,1
+ 797 .comm usbConfiguration,1,1
+ 798 .comm usbRxBuf,22,1
+ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccgCENsE.s page 15
+
+
+ 799 .comm usbInputBufOffset,1,1
+ 800 .comm usbDeviceAddr,1,1
+ 801 .comm usbNewDeviceAddr,1,1
+ 802 .comm usbRxLen,1,1
+ 803 .comm usbCurrentTok,1,1
+ 804 .comm usbTxBuf,11,1
+ 805 .global __do_copy_data
+ 806 .global __do_clear_bss
+ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccgCENsE.s page 16
DEFINED SYMBOLS
*ABS*:00000000 main.c
-/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccQ4lgkR.s:2 *ABS*:0000003f __SREG__
-/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccQ4lgkR.s:3 *ABS*:0000003e __SP_H__
-/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccQ4lgkR.s:4 *ABS*:0000003d __SP_L__
-/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccQ4lgkR.s:5 *ABS*:00000034 __CCP__
-/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccQ4lgkR.s:6 *ABS*:00000000 __tmp_reg__
-/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccQ4lgkR.s:7 *ABS*:00000001 __zero_reg__
-/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccQ4lgkR.s:10 .text:00000000 writeFlashPage
-/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccQ4lgkR.s:824 .bss:00000007 didWriteSomething
-/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccQ4lgkR.s:822 .bss:00000001 currentAddress
-/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccQ4lgkR.s:46 .text:00000024 writeWordToPageBuffer
-/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccQ4lgkR.s:823 .bss:00000003 vectorTemp
-/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccQ4lgkR.s:121 .text:0000009e fillFlashWithVectors
-/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccQ4lgkR.s:149 .init3:00000000 PushMagicWord
-/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccQ4lgkR.s:173 .text:000000c4 main
+/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccgCENsE.s:2 *ABS*:0000003f __SREG__
+/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccgCENsE.s:3 *ABS*:0000003e __SP_H__
+/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccgCENsE.s:4 *ABS*:0000003d __SP_L__
+/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccgCENsE.s:5 *ABS*:00000034 __CCP__
+/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccgCENsE.s:6 *ABS*:00000000 __tmp_reg__
+/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccgCENsE.s:7 *ABS*:00000001 __zero_reg__
+/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccgCENsE.s:10 .text:00000000 writeFlashPage
+/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccgCENsE.s:776 .bss:00000001 didWriteSomething
+/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccgCENsE.s:793 .bss:00000009 currentAddress
+/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccgCENsE.s:44 .text:00000024 writeWordToPageBuffer
+/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccgCENsE.s:792 .bss:00000005 vectorTemp
+/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccgCENsE.s:113 .text:0000008e fillFlashWithVectors
+/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccgCENsE.s:139 .init3:00000000 PushMagicWord
+/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccgCENsE.s:161 .text:000000b4 main
*COM*:00000001 usbRxLen
*COM*:00000001 usbInputBufOffset
*COM*:00000016 usbRxBuf
*COM*:00000001 usbRxToken
*COM*:0000000b usbTxBuf
-/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccQ4lgkR.s:726 .data:00000000 usbTxLen
-/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccQ4lgkR.s:825 .bss:00000008 usbMsgFlags
-/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccQ4lgkR.s:835 .data:00000002 replyBuffer.1766
+/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccgCENsE.s:690 .data:00000000 usbTxLen
+/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccgCENsE.s:790 .bss:00000003 usbMsgFlags
+/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccgCENsE.s:785 .data:00000002 replyBuffer.1675
*COM*:00000002 usbMsgPtr
-/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccQ4lgkR.s:831 .bss:00000009 writeLength
+/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccgCENsE.s:791 .bss:00000004 writeLength
.bss:00000000 events
*COM*:00000001 usbNewDeviceAddr
-/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccQ4lgkR.s:771 .progmem.data:00000032 usbDescriptorDevice
-/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccQ4lgkR.s:793 .progmem.data:00000044 usbDescriptorConfiguration
-/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccQ4lgkR.s:732 .progmem.data:00000000 usbDescriptorString0
-/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccQ4lgkR.s:740 .progmem.data:00000004 usbDescriptorStringVendor
-/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccQ4lgkR.s:761 .progmem.data:00000026 usbDescriptorStringDevice
+/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccgCENsE.s:735 .progmem.data:00000032 usbDescriptorDevice
+/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccgCENsE.s:757 .progmem.data:00000044 usbDescriptorConfiguration
+/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccgCENsE.s:696 .progmem.data:00000000 usbDescriptorString0
+/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccgCENsE.s:704 .progmem.data:00000004 usbDescriptorStringVendor
+/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccgCENsE.s:725 .progmem.data:00000026 usbDescriptorStringDevice
*COM*:00000001 usbConfiguration
-/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccQ4lgkR.s:829 .data:00000001 usbMsgLen
+/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccgCENsE.s:781 .data:00000001 usbMsgLen
*COM*:00000001 usbDeviceAddr
-/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccQ4lgkR.s:832 .bss:0000000a wasReset.1698
+/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccgCENsE.s:777 .bss:00000002 wasReset.1564
*COM*:00000001 usbCurrentTok
UNDEFINED SYMBOLS
diff --git a/firmware/main.hex b/firmware/main.hex
index ca30409..3ec6a83 100644
--- a/firmware/main.hex
+++ b/firmware/main.hex
@@ -6,10 +6,10 @@
:1017500012011001FF000008C016DC0501010102A2
:10176000000109021200010100803209040000009A
:101770000000000011241FBECFE5D2E0DEBFCDBFC8
-:1017800000EB0F9307E00F9310E0A0E6B0E0E4EF6A
+:1017800000EB0F9307E00F9310E0A0E6B0E0EAE96A
:10179000FFE102C005900D92A636B107D9F710E01F
-:1017A000A6E6B0E001C01D92AB39B107E1F7EED17A
-:1017B0001FC4A6CFA82FB92F80E090E041E050EAE7
+:1017A000A6E6B0E001C01D92AB39B107E1F7E6D182
+:1017B000F2C3A6CFA82FB92F80E090E041E050EA15
:1017C000609530E009C02D9182279795879510F09C
:1017D00084279527305EC8F36F5FA8F30895EADF8A
:1017E0008D939D930895A6E088279927AA9569F07F
@@ -58,90 +58,84 @@
:101A9000B8F629913A9561F7077E10918200110FEF
:101AA00008BBC250D04011F010937C0010E21ABF66
:101AB000086017B3177E402F477E54E05A95F1F720
-:101AC00008BB17BB48BB8ACF81E080936D00F894B8
-:101AD000E0916700F0916800329785E080935700AD
-:101AE000E89507B600FCFDCF789408952091670033
-:101AF000309168002115310589F124303105B1F0AC
-:101B000046E12C3F340739F48091690090916A00D6
-:101B10008E579B4F0DC046E12E3F340749F480910C
-:101B20006B0090916C008D579B4F02C08FE79BEC30
-:101B3000F894E0916700F091680021E00C01209397
-:101B40005700E8951124789480916700909168007F
-:101B500002969093680080936700089581E18093D6
-:101B60005700E895E3CFCF93DF93C0916700D09102
-:101B70006800CF73D0708FEF9FEFB8DF2296C0342C
-:101B8000D105CCF3A1DFDF91CF910895DF93CF93FF
-:101B90000F92CDB7DEB788E10FB6F89481BD11BCC6
-:101BA0000FBEE0E0F0E0859194912BEC8F37920727
-:101BB00041F4E4E0F0E0859194913BEC8F3793079A
-:101BC00009F0D1DF1092680010926700AC9A8BB7D1
-:101BD00080628BBFBB9A8FE49DE2A9E18150904067
-:101BE000A040E1F700C00000BB987894EE24FF24E9
-:101BF00020918100235027FDF3C080917E00ECE00E
-:101C0000F0E0E81BF109EB57FF4F80917D008D322A
-:101C100009F0A3C0283009F0E1C083EC8093710083
-:101C20008AE58093600010926E002081922F90765A
-:101C30008181992321F1882341F482E690E09093F9
-:101C4000800080937F0024E07EC0813069F482812F
-:101C500080936F00848195819093680080936700E2
-:101C600027FD6CC02FEF6BC090916600823011F49D
-:101C7000916001C094609093660020E064C09281FE
-:101C800010927A00882331F410927B008AE790E06A
-:101C900022E04FC0853019F49093820040C0863016
-:101CA000A9F58381813019F480E597E104C0823081
-:101CB00041F482E697E19093800080937F0022E1D7
-:101CC00021C08330F1F4992341F48EE197E19093A0
-:101CD000800080937F0024E015C0913041F482E2BF
-:101CE00097E19093800080937F0022E20BC09230B6
-:101CF00041F484E497E19093800080937F002CE08E
-:101D000001C020E080E480936E001DC0883059F04F
-:101D1000893019F49093840002C08A3039F08AE740
-:101D200090E020E006C084E890E002C08AE790E0FE
-:101D300021E09093800080937F0005C0268180E899
-:101D400080936E0007C08781882321F486818217E3
-:101D500008F4282F2093610041C080916E0087FF16
-:101D60003DC080916F00821B80936F008F01809136
-:101D7000670090916800009749F4D8018D919C917B
-:101D8000119790936A008093690014C08430910584
-:101D900041F4F8018081918190936C0080936B00F5
-:101DA00009C0F6E18A3F9F0728F081E18093570040
-:101DB000E89509C0D8018D919D918D01298396DE0A
-:101DC00029812250A1F680916F00882339F48091F7
-:101DD000660082608093660010926100109281001C
-:101DE0008091600084FF47C0809161008F3F09F4BB
-:101DF00042C0082F893008F008E0801B8093610002
-:101E00008091710098E8892780937100002339F14F
-:101E1000E0917F00F091800090916E00802F8150C2
-:101E200096FF0CC090E08D589F4FA2E7B0E0249140
-:101E30002D933196A817B907D1F70DC09F0190E0F7
-:101E40008D589F4FA2E7B0E0F90141919F014D935A
-:101E5000A817B907C9F7F0938000E0937F0082E7E5
-:101E600090E0602FBCDC0C5F0C3019F08FEF80939A
-:101E700061000093600084E196B3987131F4815061
-:101E8000D9F71092820010927C0001E0811100E0ED
-:101E900080917000801739F0002319F4F8946ED007
-:101EA0007894009370008CE991E00197F1F70000BD
-:101EB00080916600882321F40894E11CF11C02C083
-:101EC000EE24FF2480FF1DC080E097E1909368001E
-:101ED00080936700F894E0916700F091680009C072
-:101EE000E054F04083E080935700E89507B600FC8B
-:101EF000FDCF3097A9F7109268001092670033DE8B
-:101F000078948091660081FF11C0A9E3B0E2119737
-:101F1000F1F700C0000080916700909168008F7316
-:101F20009070009711F01FDE01C0CEDD8091660039
-:101F300082FD05C0B1E5EB16B3ECFB06E0F0E1E293
-:101F4000F1EA3197F1F700C00000F8941BBE15BA12
-:101F500080916D00882311F409C005DE809167002F
-:101F600090916800F7E180309F07B8F310925F020C
-:101F700010925E02C3CB109266003ACEFF920F938E
-:101F80001F93CF93DF93C8E0D0E010E000E8F12E7C
-:101F9000F00EF1BE28DC29E0843392070CF41F2DEB
-:101FA00006952197A1F7212F215021BFEC01012F88
-:101FB00010C019DC8453994097FF03C09095819518
-:101FC0009F4F8C179D0714F401B7EC0181B78F5F09
-:101FD00081BF21B730E0812F90E0019682179307EF
-:101FE00044F701BFDF91CF911F910F91FF900895AA
-:041FF000F894FFCF93
-:061FF4005AFF16FA40142A
+:101AC00008BB17BB48BB8ACF81E080936700F894BE
+:101AD000E0916F00F0917000329785E0809357009D
+:101AE000E89507B600FCFDCF789408959C01E0913D
+:101AF0006F00F0917000309749F1E430F105B1F0DA
+:101B000086E1EC3FF80739F420916B0030916C00CE
+:101B10002E573B4F0DC086E1EE3FF80749F4209168
+:101B20006D0030916E002D573B4F02C02FE73BEC0C
+:101B3000F89481E0090180935700E8951124789486
+:101B40003296F0937000E0936F00089581E18093E6
+:101B50005700E895EBCFCF93DF93C0916F00D09102
+:101B60007000CF73D0708FEF9FEFC0DF2296C0342C
+:101B7000D105CCF3A9DFDF91CF91089588E10FB6AD
+:101B8000F89481BD11BC0FBEE0E0F0E08591949126
+:101B90008F579B4C39F4E4E0F0E0859194918F5796
+:101BA0009B4C09F0D8DF1092700010926F00AC9A35
+:101BB0008BB780628BBFBB9A88E893E1ECE9F1E0D8
+:101BC0003197F1F70197D1F7BB987894EE24FF2471
+:101BD00010918100135017FDEDC080917E00CCE084
+:101BE000D0E0C81BD109CB57DF4F80917D008D32EB
+:101BF00009F0A4C0183009F0DBC083EC80937100B9
+:101C00008AE580936000109269002881822F807697
+:101C10009981882321F1992341F482E690E0909301
+:101C2000800080937F0024E07FC0913069F48A8136
+:101C300080936A008C819D819093700080936F00E7
+:101C400027FD6DC09FEF6CC080916600923011F44B
+:101C5000816001C084608093660020E065C08A8155
+:101C600010927A00992331F410927B008AE790E079
+:101C700022E050C0953019F48093820048C096301D
+:101C8000B1F58B81813019F480E597E104C0823091
+:101C900041F482E697E19093800080937F0022E1F7
+:101CA00022C08330F9F48A81882341F48EE197E1E0
+:101CB0009093800080937F0024E015C0813041F430
+:101CC00082E297E19093800080937F0022E20BC034
+:101CD000823041F484E497E19093800080937F0008
+:101CE0002CE001C020E080E4809369001DC09830A2
+:101CF00019F484E890E009C0993019F480938400C5
+:101D000006C09A3021F48AE790E021E003C08AE718
+:101D100090E020E09093800080937F0005C09E813A
+:101D200080E88093690007C08F81882319F49E8121
+:101D3000921708F0922F909361003AC08091690049
+:101D400087FF36C080916A00811B80936A00809172
+:101D50006F0090917000009739F488819981909379
+:101D60006C0080936B0012C08430910539F4888137
+:101D7000998190936E0080936D0008C08A5F9641B0
+:101D800028F081E180935700E89507C08881998108
+:101D9000ADDE125011F02296DACF80916A008823CE
+:101DA00039F4809166008260809366001092610031
+:101DB000109281008091600084FF3CC0809161009E
+:101DC0008F3FC1F1182F893008F018E0811B8093F4
+:101DD00061008091710098E8892780937100112338
+:101DE000E1F0E0917F00F09180008091690086FF32
+:101DF00009C0912FA2E7B0E084918D933196915064
+:101E0000D9F707C0912FA2E7B0E081918D9391504F
+:101E1000E1F7F0938000E0937F0082E790E0612F8C
+:101E2000DEDC612F6C5F6C3019F08FEF8093610006
+:101E30006093600094E186B3887131F49150D9F7D2
+:101E40001092820010927C0010E0992309F411E0B6
+:101E500080916800811739F0112319F4F8945CD04F
+:101E60007894109368008CE991E00197F1F78091E4
+:101E70006600882319F0EE24FF2403C00894E11CB7
+:101E8000F11C182F80FF14C0F894E0E0F7E1E05453
+:101E9000F04083E080935700E89507B600FCFDCF43
+:101EA0003097A9F71092700010926F0054DE78946A
+:101EB00011FF0FC08AE390E20197F1F780916F0064
+:101EC000909170008F739070892B11F044DE01C0E7
+:101ED000FBDD12FD05C081E5E81683ECF806C8F0CD
+:101EE00082E291EA0197F1F7F8941BBE15BA80914E
+:101EF0006700882311F408C02EDE80916F00909156
+:101F0000700080509741C0F310925F0210925E0201
+:101F1000F5CB109266005CCEFF920F931F93CF9388
+:101F2000DF9380E8F82E00E0C0E0D0E0102F1F0D16
+:101F300011BF59DC29E0843392070CF0102FF6947E
+:101F40002196C830D10511F0012FF0CF115011BFEB
+:101F50001F5F012FEC0110C046DC8453994097FFAE
+:101F600003C0909581959F4F8C179D0714F401B77E
+:101F7000EC0181B78F5F81BF21B730E0812F90E006
+:101F800001968217930744F701BFDF91CF911F910C
+:0A1F90000F91FF900895F894FFCF21
+:061F9A005AFF16FA401484
:0400000300001700E2
:00000001FF
diff --git a/firmware/main.map b/firmware/main.map
index 2b46135..ee6a42c 100644
--- a/firmware/main.map
+++ b/firmware/main.map
@@ -1,10 +1,10 @@
Archive member included because of file (symbol)
-/usr/local/CrossPack-AVR-20120217/lib/gcc/avr/4.5.1/avr25/libgcc.a(_exit.o)
- /usr/local/CrossPack-AVR-20120217/lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn85.o (exit)
-/usr/local/CrossPack-AVR-20120217/lib/gcc/avr/4.5.1/avr25/libgcc.a(_copy_data.o)
+/usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/avr25/libgcc.a(_exit.o)
+ /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/../../../../avr/lib/avr25/crttn85.o (exit)
+/usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/avr25/libgcc.a(_copy_data.o)
main.o (__do_copy_data)
-/usr/local/CrossPack-AVR-20120217/lib/gcc/avr/4.5.1/avr25/libgcc.a(_clear_bss.o)
+/usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/avr25/libgcc.a(_clear_bss.o)
main.o (__do_clear_bss)
Allocating common symbols
@@ -23,8 +23,8 @@ usbRxBuf 0x16 main.o
Discarded input sections
- .data 0x00000000 0x0 /usr/local/CrossPack-AVR-20120217/lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn85.o
- .bss 0x00000000 0x0 /usr/local/CrossPack-AVR-20120217/lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn85.o
+ .data 0x00000000 0x0 /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/../../../../avr/lib/avr25/crttn85.o
+ .bss 0x00000000 0x0 /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/../../../../avr/lib/avr25/crttn85.o
.data 0x00000000 0x0 usbdrv/usbdrvasm.o
.bss 0x00000000 0x0 usbdrv/usbdrvasm.o
.text 0x00000000 0x0 usbdrv/oddebug.o
@@ -32,18 +32,18 @@ Discarded input sections
.bss 0x00000000 0x0 usbdrv/oddebug.o
.data 0x00000000 0x0 libs-device/osccal.o
.bss 0x00000000 0x0 libs-device/osccal.o
- .text 0x00000000 0x0 /usr/local/CrossPack-AVR-20120217/lib/gcc/avr/4.5.1/avr25/libgcc.a(_exit.o)
- .data 0x00000000 0x0 /usr/local/CrossPack-AVR-20120217/lib/gcc/avr/4.5.1/avr25/libgcc.a(_exit.o)
- .bss 0x00000000 0x0 /usr/local/CrossPack-AVR-20120217/lib/gcc/avr/4.5.1/avr25/libgcc.a(_exit.o)
- .text.libgcc 0x00000000 0x0 /usr/local/CrossPack-AVR-20120217/lib/gcc/avr/4.5.1/avr25/libgcc.a(_exit.o)
- .text 0x00000000 0x0 /usr/local/CrossPack-AVR-20120217/lib/gcc/avr/4.5.1/avr25/libgcc.a(_copy_data.o)
- .data 0x00000000 0x0 /usr/local/CrossPack-AVR-20120217/lib/gcc/avr/4.5.1/avr25/libgcc.a(_copy_data.o)
- .bss 0x00000000 0x0 /usr/local/CrossPack-AVR-20120217/lib/gcc/avr/4.5.1/avr25/libgcc.a(_copy_data.o)
- .text.libgcc 0x00000000 0x0 /usr/local/CrossPack-AVR-20120217/lib/gcc/avr/4.5.1/avr25/libgcc.a(_copy_data.o)
- .text 0x00000000 0x0 /usr/local/CrossPack-AVR-20120217/lib/gcc/avr/4.5.1/avr25/libgcc.a(_clear_bss.o)
- .data 0x00000000 0x0 /usr/local/CrossPack-AVR-20120217/lib/gcc/avr/4.5.1/avr25/libgcc.a(_clear_bss.o)
- .bss 0x00000000 0x0 /usr/local/CrossPack-AVR-20120217/lib/gcc/avr/4.5.1/avr25/libgcc.a(_clear_bss.o)
- .text.libgcc 0x00000000 0x0 /usr/local/CrossPack-AVR-20120217/lib/gcc/avr/4.5.1/avr25/libgcc.a(_clear_bss.o)
+ .text 0x00000000 0x0 /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/avr25/libgcc.a(_exit.o)
+ .data 0x00000000 0x0 /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/avr25/libgcc.a(_exit.o)
+ .bss 0x00000000 0x0 /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/avr25/libgcc.a(_exit.o)
+ .text.libgcc 0x00000000 0x0 /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/avr25/libgcc.a(_exit.o)
+ .text 0x00000000 0x0 /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/avr25/libgcc.a(_copy_data.o)
+ .data 0x00000000 0x0 /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/avr25/libgcc.a(_copy_data.o)
+ .bss 0x00000000 0x0 /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/avr25/libgcc.a(_copy_data.o)
+ .text.libgcc 0x00000000 0x0 /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/avr25/libgcc.a(_copy_data.o)
+ .text 0x00000000 0x0 /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/avr25/libgcc.a(_clear_bss.o)
+ .data 0x00000000 0x0 /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/avr25/libgcc.a(_clear_bss.o)
+ .bss 0x00000000 0x0 /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/avr25/libgcc.a(_clear_bss.o)
+ .text.libgcc 0x00000000 0x0 /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/avr25/libgcc.a(_clear_bss.o)
Memory Configuration
@@ -58,15 +58,15 @@ signature 0x00840000 0x00000400 rw !x
Linker script and memory map
-LOAD /usr/local/CrossPack-AVR-20120217/lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn85.o
+LOAD /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/../../../../avr/lib/avr25/crttn85.o
LOAD usbdrv/usbdrvasm.o
LOAD usbdrv/oddebug.o
LOAD main.o
LOAD libs-device/osccal.o
Address of section .text set to 0x1700
-LOAD /usr/local/CrossPack-AVR-20120217/lib/gcc/avr/4.5.1/avr25/libgcc.a
-LOAD /usr/local/CrossPack-AVR-20120217/lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/libc.a
-LOAD /usr/local/CrossPack-AVR-20120217/lib/gcc/avr/4.5.1/avr25/libgcc.a
+LOAD /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/avr25/libgcc.a
+LOAD /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/../../../../avr/lib/avr25/libc.a
+LOAD /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/avr25/libgcc.a
.hash
*(.hash)
@@ -158,20 +158,20 @@ LOAD /usr/local/CrossPack-AVR-20120217/lib/gcc/avr/4.5.1/avr25/libgcc.a
.rela.plt
*(.rela.plt)
-.text 0x00001700 0x8f4
+.text 0x00001700 0x89a
*(.vectors)
- .vectors 0x00001700 0x1e /usr/local/CrossPack-AVR-20120217/lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn85.o
+ .vectors 0x00001700 0x1e /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/../../../../avr/lib/avr25/crttn85.o
0x00001700 __vectors
0x00001700 __vector_default
*(.vectors)
*(.progmem.gcc*)
*(.progmem*)
.progmem.data 0x0000171e 0x56 main.o
+ 0x00001750 usbDescriptorDevice
0x0000171e usbDescriptorString0
+ 0x00001762 usbDescriptorConfiguration
0x00001722 usbDescriptorStringVendor
0x00001744 usbDescriptorStringDevice
- 0x00001750 usbDescriptorDevice
- 0x00001762 usbDescriptorConfiguration
0x00001774 . = ALIGN (0x2)
0x00001774 __trampolines_start = .
*(.trampolines)
@@ -191,22 +191,22 @@ LOAD /usr/local/CrossPack-AVR-20120217/lib/gcc/avr/4.5.1/avr25/libgcc.a
SORT(*)(.ctors)
SORT(*)(.dtors)
*(.init0)
- .init0 0x00001774 0x0 /usr/local/CrossPack-AVR-20120217/lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn85.o
+ .init0 0x00001774 0x0 /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/../../../../avr/lib/avr25/crttn85.o
0x00001774 __init
*(.init0)
*(.init1)
*(.init1)
*(.init2)
- .init2 0x00001774 0xc /usr/local/CrossPack-AVR-20120217/lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn85.o
+ .init2 0x00001774 0xc /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/../../../../avr/lib/avr25/crttn85.o
*(.init2)
*(.init3)
.init3 0x00001780 0x8 main.o
0x00001780 PushMagicWord
*(.init3)
*(.init4)
- .init4 0x00001788 0x16 /usr/local/CrossPack-AVR-20120217/lib/gcc/avr/4.5.1/avr25/libgcc.a(_copy_data.o)
+ .init4 0x00001788 0x16 /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/avr25/libgcc.a(_copy_data.o)
0x00001788 __do_copy_data
- .init4 0x0000179e 0x10 /usr/local/CrossPack-AVR-20120217/lib/gcc/avr/4.5.1/avr25/libgcc.a(_clear_bss.o)
+ .init4 0x0000179e 0x10 /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/avr25/libgcc.a(_clear_bss.o)
0x0000179e __do_clear_bss
*(.init4)
*(.init5)
@@ -218,11 +218,11 @@ LOAD /usr/local/CrossPack-AVR-20120217/lib/gcc/avr/4.5.1/avr25/libgcc.a
*(.init8)
*(.init8)
*(.init9)
- .init9 0x000017ae 0x4 /usr/local/CrossPack-AVR-20120217/lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn85.o
+ .init9 0x000017ae 0x4 /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/../../../../avr/lib/avr25/crttn85.o
*(.init9)
*(.text)
- .text 0x000017b2 0x2 /usr/local/CrossPack-AVR-20120217/lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn85.o
- 0x000017b2 __vector_10
+ .text 0x000017b2 0x2 /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/../../../../avr/lib/avr25/crttn85.o
+ 0x000017b2 __vector_1
0x000017b2 __vector_12
0x000017b2 __bad_interrupt
0x000017b2 __vector_6
@@ -235,23 +235,23 @@ LOAD /usr/local/CrossPack-AVR-20120217/lib/gcc/avr/4.5.1/avr25/libgcc.a
0x000017b2 __vector_9
0x000017b2 __vector_8
0x000017b2 __vector_14
- 0x000017b2 __vector_1
+ 0x000017b2 __vector_10
.text 0x000017b4 0x314 usbdrv/usbdrvasm.o
0x000017b4 usbCrc16
0x000017de usbCrc16Append
- 0x000017e6 usbMeasureFrameLength
0x0000180c __vector_2
- .text 0x00001ac8 0x4b4 main.o
- 0x00001b8c main
- .text 0x00001f7c 0x74 libs-device/osccal.o
- 0x00001f7c calibrateOscillator
- 0x00001ff0 . = ALIGN (0x2)
+ 0x000017e6 usbMeasureFrameLength
+ .text 0x00001ac8 0x450 main.o
+ 0x00001b7c main
+ .text 0x00001f18 0x7e libs-device/osccal.o
+ 0x00001f18 calibrateOscillator
+ 0x00001f96 . = ALIGN (0x2)
*(.text.*)
- 0x00001ff0 . = ALIGN (0x2)
+ 0x00001f96 . = ALIGN (0x2)
*(.fini9)
- .fini9 0x00001ff0 0x0 /usr/local/CrossPack-AVR-20120217/lib/gcc/avr/4.5.1/avr25/libgcc.a(_exit.o)
- 0x00001ff0 exit
- 0x00001ff0 _exit
+ .fini9 0x00001f96 0x0 /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/avr25/libgcc.a(_exit.o)
+ 0x00001f96 exit
+ 0x00001f96 _exit
*(.fini9)
*(.fini8)
*(.fini8)
@@ -270,11 +270,11 @@ LOAD /usr/local/CrossPack-AVR-20120217/lib/gcc/avr/4.5.1/avr25/libgcc.a
*(.fini1)
*(.fini1)
*(.fini0)
- .fini0 0x00001ff0 0x4 /usr/local/CrossPack-AVR-20120217/lib/gcc/avr/4.5.1/avr25/libgcc.a(_exit.o)
+ .fini0 0x00001f96 0x4 /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/avr25/libgcc.a(_exit.o)
*(.fini0)
- 0x00001ff4 _etext = .
+ 0x00001f9a _etext = .
-.data 0x00800060 0x6 load address 0x00001ff4
+.data 0x00800060 0x6 load address 0x00001f9a
0x00800060 PROVIDE (__data_start, .)
*(.data)
.data 0x00800060 0x6 main.o
@@ -305,8 +305,8 @@ LOAD /usr/local/CrossPack-AVR-20120217/lib/gcc/avr/4.5.1/avr25/libgcc.a
0x00800084 usbConfiguration
0x00800085 usbRxBuf
0x0080009b PROVIDE (__bss_end, .)
- 0x00001ff4 __data_load_start = LOADADDR (.data)
- 0x00001ffa __data_load_end = (__data_load_start + SIZEOF (.data))
+ 0x00001f9a __data_load_start = LOADADDR (.data)
+ 0x00001fa0 __data_load_end = (__data_load_start + SIZEOF (.data))
.noinit 0x0080009b 0x0
0x0080009b PROVIDE (__noinit_start, .)
@@ -331,13 +331,13 @@ LOAD /usr/local/CrossPack-AVR-20120217/lib/gcc/avr/4.5.1/avr25/libgcc.a
.signature
*(.signature*)
-.stab 0x00000000 0x6cc
+.stab 0x00000000 0x6b4
*(.stab)
- .stab 0x00000000 0x6cc /usr/local/CrossPack-AVR-20120217/lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn85.o
+ .stab 0x00000000 0x6b4 /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/../../../../avr/lib/avr25/crttn85.o
-.stabstr 0x00000000 0x81
+.stabstr 0x00000000 0x82
*(.stabstr)
- .stabstr 0x00000000 0x81 /usr/local/CrossPack-AVR-20120217/lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn85.o
+ .stabstr 0x00000000 0x82 /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/../../../../avr/lib/avr25/crttn85.o
.stab.excl
*(.stab.excl)
diff --git a/firmware/main.o b/firmware/main.o
index d593d89..ae5182c 100644
--- a/firmware/main.o
+++ b/firmware/main.o
Binary files differ
diff --git a/firmware/usbdrv/oddebug.c.lst b/firmware/usbdrv/oddebug.c.lst
index b755b89..db5279c 100644
--- a/firmware/usbdrv/oddebug.c.lst
+++ b/firmware/usbdrv/oddebug.c.lst
@@ -1,23 +1,23 @@
-GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccOLeWCz.s page 1
+GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccQ867NF.s page 1
1 .file "oddebug.c"
2 __SREG__ = 0x3f
3 __SP_H__ = 0x3e
4 __SP_L__ = 0x3d
- 5 __CCP__ = 0x34
+ 5 __CCP__ = 0x34
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
- GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccOLeWCz.s page 2
+ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccQ867NF.s page 2
DEFINED SYMBOLS
*ABS*:00000000 oddebug.c
-/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccOLeWCz.s:2 *ABS*:0000003f __SREG__
-/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccOLeWCz.s:3 *ABS*:0000003e __SP_H__
-/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccOLeWCz.s:4 *ABS*:0000003d __SP_L__
-/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccOLeWCz.s:5 *ABS*:00000034 __CCP__
-/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccOLeWCz.s:6 *ABS*:00000000 __tmp_reg__
-/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccOLeWCz.s:7 *ABS*:00000001 __zero_reg__
+/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccQ867NF.s:2 *ABS*:0000003f __SREG__
+/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccQ867NF.s:3 *ABS*:0000003e __SP_H__
+/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccQ867NF.s:4 *ABS*:0000003d __SP_L__
+/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccQ867NF.s:5 *ABS*:00000034 __CCP__
+/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccQ867NF.s:6 *ABS*:00000000 __tmp_reg__
+/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccQ867NF.s:7 *ABS*:00000001 __zero_reg__
NO UNDEFINED SYMBOLS