From 7b20da73c9a0ed03d32c2f9e654367900cb1e06f Mon Sep 17 00:00:00 2001 From: Jenna Fox Date: Wed, 26 Sep 2012 01:08:54 +1000 Subject: Added check to make sure BOOTLOADER_ADDRESS aligns with SPM_PAGESIZE --- firmware/libs-device/osccal.c.lst | 20 +-- firmware/main.bin | Bin 8756 -> 8756 bytes firmware/main.c | 5 + firmware/main.c.lst | 160 +++++++++++----------- firmware/main.hex | 270 +++++++++++++++++++------------------- firmware/main.map | 122 ++++++++--------- firmware/main.o | Bin 5416 -> 5416 bytes firmware/temp-dump.bin | Bin 0 -> 8076 bytes firmware/usbdrv/oddebug.c.lst | 16 +-- 9 files changed, 299 insertions(+), 294 deletions(-) create mode 100644 firmware/temp-dump.bin (limited to 'firmware') diff --git a/firmware/libs-device/osccal.c.lst b/firmware/libs-device/osccal.c.lst index 72f5995..086a9b7 100644 --- a/firmware/libs-device/osccal.c.lst +++ b/firmware/libs-device/osccal.c.lst @@ -1,4 +1,4 @@ -GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cctxPubr.s page 1 +GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cc9Ziu99.s page 1 1 .file "osccal.c" @@ -58,7 +58,7 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cctxPubr.s page 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//cctxPubr.s page 2 + GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cc9Ziu99.s page 2 58 .L6: @@ -89,18 +89,18 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cctxPubr.s page 83 007a FF90 pop r15 84 007c 0895 ret 85 .size calibrateOscillator, .-calibrateOscillator - GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cctxPubr.s page 3 + GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cc9Ziu99.s page 3 DEFINED SYMBOLS *ABS*:00000000 osccal.c -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cctxPubr.s:2 *ABS*:0000003f __SREG__ -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cctxPubr.s:3 *ABS*:0000003e __SP_H__ -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cctxPubr.s:4 *ABS*:0000003d __SP_L__ -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cctxPubr.s:5 *ABS*:00000034 __CCP__ -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cctxPubr.s:6 *ABS*:00000000 __tmp_reg__ -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cctxPubr.s:7 *ABS*:00000001 __zero_reg__ -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cctxPubr.s:11 .text:00000000 calibrateOscillator +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cc9Ziu99.s:2 *ABS*:0000003f __SREG__ +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cc9Ziu99.s:3 *ABS*:0000003e __SP_H__ +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cc9Ziu99.s:4 *ABS*:0000003d __SP_L__ +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cc9Ziu99.s:5 *ABS*:00000034 __CCP__ +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cc9Ziu99.s:6 *ABS*:00000000 __tmp_reg__ +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cc9Ziu99.s:7 *ABS*:00000001 __zero_reg__ +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cc9Ziu99.s:11 .text:00000000 calibrateOscillator UNDEFINED SYMBOLS usbMeasureFrameLength diff --git a/firmware/main.bin b/firmware/main.bin index 8d7639c..fe74e56 100755 Binary files a/firmware/main.bin and b/firmware/main.bin differ diff --git a/firmware/main.c b/firmware/main.c index 30077ec..7476254 100644 --- a/firmware/main.c +++ b/firmware/main.c @@ -72,6 +72,11 @@ static void leaveBootloader() __attribute__((__noreturn__)); #define POSTSCRIPT_SIZE 6 /* maybe it could be 4 now we do not have checksums? */ #define PROGMEM_SIZE (BOOTLOADER_ADDRESS - POSTSCRIPT_SIZE) /* max size of user program */ +// verify the bootloader address aligns with page size +#if BOOTLOADER_ADDRESS % SPM_PAGESIZE != 0 +# error "BOOTLOADER_ADDRESS in makefile must be a multiple of chip's pagesize" +#endif + // events system schedules functions to run in the main loop static uchar events = 0; // bitmap of events to run #define EVENT_ERASE_APPLICATION 1 diff --git a/firmware/main.c.lst b/firmware/main.c.lst index 3cdf41b..0f0e1b8 100644 --- a/firmware/main.c.lst +++ b/firmware/main.c.lst @@ -1,4 +1,4 @@ -GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 1 +GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccCkcFzM.s page 1 1 .file "main.c" @@ -16,7 +16,7 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 13 0000 81E0 ldi r24,lo8(1) 14 0002 8093 0000 sts didWriteSomething,r24 15 /* #APP */ - 16 ; 129 "main.c" 1 + 16 ; 145 "main.c" 1 17 0006 F894 cli 18 ; 0 "" 2 19 /* #NOAPP */ @@ -25,7 +25,7 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 22 0010 3297 sbiw r30,2 23 0012 85E0 ldi r24,lo8(5) 24 /* #APP */ - 25 ; 130 "main.c" 1 + 25 ; 146 "main.c" 1 26 0014 8093 5700 sts 87, r24 27 0018 E895 spm 28 @@ -36,7 +36,7 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 33 001c 00FC sbrc __tmp_reg__,0 34 001e 00C0 rjmp .L2 35 /* #APP */ - 36 ; 132 "main.c" 1 + 36 ; 148 "main.c" 1 37 0020 7894 sei 38 ; 0 "" 2 39 /* epilogue start */ @@ -55,47 +55,47 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 52 0032 E430 cpi r30,4 53 0034 F105 cpc r31,__zero_reg__ 54 0036 01F0 breq .L6 - 55 0038 87E1 ldi r24,hi8(5948) - 56 003a EC33 cpi r30,lo8(5948) + 55 0038 87E1 ldi r24,hi8(6012) + 56 003a EC37 cpi r30,lo8(6012) 57 003c F807 cpc r31,r24 - GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 2 + GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccCkcFzM.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 2E59 subi r18,lo8(-(1122)) - 62 004a 3B4F sbci r19,hi8(-(1122)) + 61 0048 2E5B subi r18,lo8(-(1090)) + 62 004a 3B4F sbci r19,hi8(-(1090)) 63 004c 00C0 rjmp .L8 64 .L7: - 65 004e 87E1 ldi r24,hi8(5950) - 66 0050 EE33 cpi r30,lo8(5950) + 65 004e 87E1 ldi r24,hi8(6014) + 66 0050 EE37 cpi r30,lo8(6014) 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 2D59 subi r18,lo8(-(1123)) - 72 0060 3B4F sbci r19,hi8(-(1123)) + 71 005e 2D5B subi r18,lo8(-(1091)) + 72 0060 3B4F sbci r19,hi8(-(1091)) 73 0062 00C0 rjmp .L8 74 .L6: - 75 0064 2FE9 ldi r18,lo8(-13409) - 76 0066 3BEC ldi r19,hi8(-13409) + 75 0064 2FEB ldi r18,lo8(-13377) + 76 0066 3BEC ldi r19,hi8(-13377) 77 .L8: 78 /* #APP */ - 79 ; 166 "main.c" 1 + 79 ; 185 "main.c" 1 80 0068 F894 cli 81 ; 0 "" 2 82 /* #NOAPP */ 83 006a 81E0 ldi r24,lo8(1) 84 /* #APP */ - 85 ; 167 "main.c" 1 + 85 ; 186 "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 ; 168 "main.c" 1 + 92 ; 187 "main.c" 1 93 0076 7894 sei 94 ; 0 "" 2 95 /* #NOAPP */ @@ -107,7 +107,7 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 101 .L5: 102 0084 81E1 ldi r24,lo8(17) 103 /* #APP */ - 104 ; 164 "main.c" 1 + 104 ; 183 "main.c" 1 105 0086 8093 5700 sts 87, r24 106 008a E895 spm 107 @@ -118,7 +118,7 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 112 .type fillFlashWithVectors, @function 113 fillFlashWithVectors: 114 008e CF93 push r28 - GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 3 + GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccCkcFzM.s page 3 115 0090 DF93 push r29 @@ -149,16 +149,16 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 140 /* prologue: naked */ 141 /* frame size = 0 */ 142 /* #APP */ - 143 ; 264 "main.c" 1 + 143 ; 285 "main.c" 1 144 0000 00EB ldi r16, 0xB0 145 ; 0 "" 2 - 146 ; 265 "main.c" 1 + 146 ; 286 "main.c" 1 147 0002 0F93 push r16 148 ; 0 "" 2 - 149 ; 266 "main.c" 1 + 149 ; 287 "main.c" 1 150 0004 07E0 ldi r16, 0x07 151 ; 0 "" 2 - 152 ; 267 "main.c" 1 + 152 ; 288 "main.c" 1 153 0006 0F93 push r16 154 ; 0 "" 2 155 /* epilogue start */ @@ -172,13 +172,13 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 163 /* frame size = 0 */ 164 00b4 88E1 ldi r24,lo8(24) 165 /* #APP */ - 166 ; 334 "main.c" 1 + 166 ; 358 "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//ccd49vnP.s page 4 + GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccCkcFzM.s page 4 172 @@ -187,26 +187,26 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 175 00c0 E0E0 ldi r30,lo8(0) 176 00c2 F0E0 ldi r31,hi8(0) 177 /* #APP */ - 178 ; 285 "main.c" 1 + 178 ; 306 "main.c" 1 179 00c4 8591 lpm r24, Z+ 180 00c6 9491 lpm r25, Z 181 182 ; 0 "" 2 183 /* #NOAPP */ - 184 00c8 8F59 subi r24,lo8(-13409) - 185 00ca 9B4C sbci r25,hi8(-13409) + 184 00c8 8F5B subi r24,lo8(-13377) + 185 00ca 9B4C sbci r25,hi8(-13377) 186 00cc 01F4 brne .L16 187 00ce E4E0 ldi r30,lo8(4) 188 00d0 F0E0 ldi r31,hi8(4) 189 /* #APP */ - 190 ; 286 "main.c" 1 + 190 ; 307 "main.c" 1 191 00d2 8591 lpm r24, Z+ 192 00d4 9491 lpm r25, Z 193 194 ; 0 "" 2 195 /* #NOAPP */ - 196 00d6 8F59 subi r24,lo8(-13409) - 197 00d8 9B4C sbci r25,hi8(-13409) + 196 00d6 8F5B subi r24,lo8(-13377) + 197 00d8 9B4C sbci r25,hi8(-13377) 198 00da 01F0 breq .L17 199 .L16: 200 00dc 00D0 rcall fillFlashWithVectors @@ -233,12 +233,12 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 221 00fe 01F4 brne .L18 222 0100 BB98 cbi 55-32,3 223 /* #APP */ - 224 ; 278 "main.c" 1 + 224 ; 299 "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//ccd49vnP.s page 5 + GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccCkcFzM.s page 5 229 0106 FF24 clr r15 @@ -298,7 +298,7 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 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//ccd49vnP.s page 6 + GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccCkcFzM.s page 6 286 018a 00C0 rjmp .L76 @@ -358,7 +358,7 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 340 01f4 20E0 ldi r18,lo8(0) 341 .L34: 342 01f6 80E4 ldi r24,lo8(64) - GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 7 + GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccCkcFzM.s page 7 343 01f8 8093 0000 sts usbMsgFlags,r24 @@ -418,7 +418,7 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 397 .L46: 398 025e 8091 0000 lds r24,currentAddress 399 0262 9091 0000 lds r25,(currentAddress)+1 - GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 8 + GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccCkcFzM.s page 8 400 0266 0097 sbiw r24,0 @@ -438,12 +438,12 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 414 0286 8093 0000 sts vectorTemp+2,r24 415 028a 00C0 rjmp .L43 416 .L44: - 417 028c 8A53 subi r24,lo8(5946) - 418 028e 9741 sbci r25,hi8(5946) + 417 028c 8A57 subi r24,lo8(6010) + 418 028e 9741 sbci r25,hi8(6010) 419 0290 00F0 brlo .L43 420 0292 81E1 ldi r24,lo8(17) 421 /* #APP */ - 422 ; 241 "main.c" 1 + 422 ; 262 "main.c" 1 423 0294 8093 5700 sts 87, r24 424 0298 E895 spm 425 @@ -478,7 +478,7 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 454 02d4 182F mov r17,r24 455 02d6 8930 cpi r24,lo8(9) 456 02d8 00F0 brlo .L48 - GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 9 + GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccCkcFzM.s page 9 457 02da 18E0 ldi r17,lo8(8) @@ -538,7 +538,7 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 511 0340 6093 0000 sts usbTxLen,r22 512 .L47: 513 0344 94E1 ldi r25,lo8(20) - GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 10 + GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccCkcFzM.s page 10 514 .L56: @@ -597,21 +597,21 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 567 0394 80FF sbrs r24,0 568 0396 00C0 rjmp .L62 569 /* #APP */ - 570 ; 115 "main.c" 1 - GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 11 + 570 ; 130 "main.c" 1 + GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccCkcFzM.s page 11 571 0398 F894 cli 572 ; 0 "" 2 573 /* #NOAPP */ - 574 039a E0E4 ldi r30,lo8(5952) - 575 039c F7E1 ldi r31,hi8(5952) + 574 039a E0E8 ldi r30,lo8(6016) + 575 039c F7E1 ldi r31,hi8(6016) 576 .L64: 577 039e E054 subi r30,lo8(-(-64)) 578 03a0 F040 sbci r31,hi8(-(-64)) 579 03a2 83E0 ldi r24,lo8(3) 580 /* #APP */ - 581 ; 119 "main.c" 1 + 581 ; 134 "main.c" 1 582 03a4 8093 5700 sts 87, r24 583 03a8 E895 spm 584 @@ -627,7 +627,7 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 594 03b8 1092 0000 sts currentAddress,__zero_reg__ 595 03bc 00D0 rcall fillFlashWithVectors 596 /* #APP */ - 597 ; 124 "main.c" 1 + 597 ; 139 "main.c" 1 598 03be 7894 sei 599 ; 0 "" 2 600 /* #NOAPP */ @@ -658,7 +658,7 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 625 03e6 8091 0000 lds r24,didWriteSomething 626 03ea 8823 tst r24 627 03ec 01F4 brne .L68 - GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 12 + GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccCkcFzM.s page 12 628 03ee 00C0 rjmp .L69 @@ -667,8 +667,8 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 631 .L68: 632 03f2 8091 0000 lds r24,currentAddress 633 03f6 9091 0000 lds r25,(currentAddress)+1 - 634 03fa 8054 subi r24,lo8(5952) - 635 03fc 9741 sbci r25,hi8(5952) + 634 03fa 8058 subi r24,lo8(6016) + 635 03fc 9741 sbci r25,hi8(6016) 636 03fe 00F0 brlo .L70 637 .L69: 638 0400 82E2 ldi r24,lo8(-24286) @@ -690,7 +690,7 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 654 0418 00C0 rjmp .L72 655 .L71: 656 /* #APP */ - 657 ; 318 "main.c" 1 + 657 ; 342 "main.c" 1 658 041a F894 cli 659 ; 0 "" 2 660 /* #NOAPP */ @@ -699,7 +699,7 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 663 0420 1092 5F02 sts 607,__zero_reg__ 664 0424 1092 5E02 sts 606,__zero_reg__ 665 /* #APP */ - 666 ; 327 "main.c" 1 + 666 ; 351 "main.c" 1 667 0428 00C0 rjmp __vectors - 4 668 ; 0 "" 2 669 /* epilogue start */ @@ -718,7 +718,7 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 682 .size usbDescriptorString0, 4 683 usbDescriptorString0: 684 0000 04 .byte 4 - GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 13 + GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccCkcFzM.s page 13 685 0001 03 .byte 3 @@ -778,11 +778,11 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 739 .type replyBuffer.1675, @object 740 .size replyBuffer.1675, 4 741 replyBuffer.1675: - GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 14 + GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccCkcFzM.s page 14 742 0002 17 .byte 23 - 743 0003 3A .byte 58 + 743 0003 7A .byte 122 744 0004 40 .byte 64 745 0005 08 .byte 8 746 .lcomm wasReset.1562,1 @@ -802,44 +802,44 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 760 .comm usbTxBuf,11,1 761 .global __do_copy_data 762 .global __do_clear_bss - GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 15 + GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccCkcFzM.s page 15 DEFINED SYMBOLS *ABS*:00000000 main.c -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s:2 *ABS*:0000003f __SREG__ -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s:3 *ABS*:0000003e __SP_H__ -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s:4 *ABS*:0000003d __SP_L__ -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s:5 *ABS*:00000034 __CCP__ -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s:6 *ABS*:00000000 __tmp_reg__ -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s:7 *ABS*:00000001 __zero_reg__ -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s:10 .text:00000000 writeFlashPage -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s:732 .bss:00000001 didWriteSomething -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s:749 .bss:00000009 currentAddress -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s:44 .text:00000024 writeWordToPageBuffer -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s:748 .bss:00000005 vectorTemp -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s:113 .text:0000008e fillFlashWithVectors -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s:139 .init3:00000000 PushMagicWord -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s:161 .text:000000b4 main +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccCkcFzM.s:2 *ABS*:0000003f __SREG__ +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccCkcFzM.s:3 *ABS*:0000003e __SP_H__ +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccCkcFzM.s:4 *ABS*:0000003d __SP_L__ +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccCkcFzM.s:5 *ABS*:00000034 __CCP__ +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccCkcFzM.s:6 *ABS*:00000000 __tmp_reg__ +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccCkcFzM.s:7 *ABS*:00000001 __zero_reg__ +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccCkcFzM.s:10 .text:00000000 writeFlashPage +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccCkcFzM.s:732 .bss:00000001 didWriteSomething +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccCkcFzM.s:749 .bss:00000009 currentAddress +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccCkcFzM.s:44 .text:00000024 writeWordToPageBuffer +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccCkcFzM.s:748 .bss:00000005 vectorTemp +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccCkcFzM.s:113 .text:0000008e fillFlashWithVectors +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccCkcFzM.s:139 .init3:00000000 PushMagicWord +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccCkcFzM.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//ccd49vnP.s:677 .data:00000000 usbTxLen -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s:746 .bss:00000003 usbMsgFlags -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s:741 .data:00000002 replyBuffer.1675 +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccCkcFzM.s:677 .data:00000000 usbTxLen +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccCkcFzM.s:746 .bss:00000003 usbMsgFlags +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccCkcFzM.s:741 .data:00000002 replyBuffer.1675 *COM*:00000002 usbMsgPtr -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s:747 .bss:00000004 writeLength +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccCkcFzM.s:747 .bss:00000004 writeLength .bss:00000000 events *COM*:00000001 usbNewDeviceAddr -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s:691 .progmem.data:00000004 usbDescriptorDevice -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s:713 .progmem.data:00000016 usbDescriptorConfiguration -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s:683 .progmem.data:00000000 usbDescriptorString0 +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccCkcFzM.s:691 .progmem.data:00000004 usbDescriptorDevice +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccCkcFzM.s:713 .progmem.data:00000016 usbDescriptorConfiguration +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccCkcFzM.s:683 .progmem.data:00000000 usbDescriptorString0 *COM*:00000001 usbConfiguration -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s:737 .data:00000001 usbMsgLen +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccCkcFzM.s:737 .data:00000001 usbMsgLen *COM*:00000001 usbDeviceAddr -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s:733 .bss:00000002 wasReset.1562 +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccCkcFzM.s:733 .bss:00000002 wasReset.1562 *COM*:00000001 usbCurrentTok UNDEFINED SYMBOLS diff --git a/firmware/main.hex b/firmware/main.hex index ccefa38..6938e3b 100644 --- a/firmware/main.hex +++ b/firmware/main.hex @@ -1,136 +1,136 @@ -:1017400022C040C06CC03EC03DC03CC03BC03AC09F -:1017500039C038C037C036C035C034C033C00403C8 -:10176000090412011001FF000008D01653070201FE -:10177000000000010902120001010080320904008A -:1017800000000000000011241FBECFE5D2E0DEBF44 -:10179000CDBF00EB0F9307E00F9310E0A0E6B0E0A1 -:1017A000E6E8FFE102C005900D92A636B107D9F731 -:1017B00010E0A6E6B0E001C01D92AB39B107E1F739 -:1017C000E6D1DFC3BDCFA82FB92F80E090E041E084 -:1017D00050EA609530E009C02D9182279795879552 -:1017E00010F084279527305EC8F36F5FA8F3089543 -:1017F000EADF8D939D930895A6E088279927AA95FF -:1018000069F00197E1F3B399FCCFB39BFECF81E080 -:101810009927A6B3019611F0A871D9F70895CF932F -:10182000CFB7CF93C0915F02C03B21F4C0915E025D -:10183000C73021F0CF91CFBFCF9181CFCC27C395B7 -:10184000B39BE9F7B39B0BC0B39B09C0B39B07C025 -:10185000B39B05C0B39B03C0B39B01C0D3C00F9221 -:10186000DF93C0917E00DD27CB57DF4F012EB39B66 -:1018700003C0DF910F90E6CF2F930F931F934F93E9 -:101880002FEF4F6F06B303FB20F95F933F9350E0B8 -:101890003BE065C016B30126502953FDC89556B3E9 -:1018A000012703FB25F92F7306B3B1F0502710274A -:1018B00013FB26F906B22230F0F000C016B3012760 -:1018C00003FB27F90126502906B22430E8F54F77AB -:1018D000206816B30000F6CF50274F7D206206B275 -:1018E000102F000000C006B300265029102713FB5C -:1018F00026F906B2E2CF4F7B06B3206400C0DACFF0 -:1019000001265029187106B269F14E7F2160012F1E -:1019100016B328C0002650294D7F06B22260102F32 -:1019200029C0012650294B7F06B22460012F2DC00B -:1019300016B301265029477F2860000006B22EC04A -:101940004F7E06B3206130C0422706B3499300267C -:101950005029102706B24FEF13FB20F9297F16B349 -:1019600079F2187159F10126502906B2012703FBBB -:1019700021F9237F06B371F2002650293150D0F0AF -:1019800006B2102713FB22F9277E16B351F2012667 -:101990005029012703FB06B223F92F7C49F20000EE -:1019A00006B3102713FB24F90026502906B22F791D -:1019B00039F270CF10E21ABF002717C03B503195A3 -:1019C000C31BD04010E21ABF0881033CF9F00B346E -:1019D000E9F020917C001981110F1213EDCF093627 -:1019E00051F10D3211F0013E39F7009383003F9120 -:1019F0005F914F911F910F912F91DF910F90CAB777 -:101A0000C5FD1DCFCF91CFBFCF91189520918300F9 -:101A1000222369F310918100112321F5343022F142 -:101A20003093810020937D0010917E003BE0311BBC -:101A300030937E0019C00091810001309CF40AE5CA -:101A40003091600034FD11C000936000C1E7D0E028 -:101A500010C0052710E000C021C0052710E0C89580 -:101A600008BB14C03AE501C032ED032EC0E0D0E05F -:101A700032E017B31861C39A08B317BB58E120E8E6 -:101A80004FEF20FF052708BB279517951C3F28F728 -:101A900000004552B0F720FF0527279508BB179592 -:101AA0001C3FB8F629913A9561F7077E10918200A4 -:101AB000110F08BBC250D04011F010937C0010E20F -:101AC0001ABF086017B3177E402F477E54E05A951F -:101AD000F1F708BB17BB48BB8ACF81E08093670052 -:101AE000F894E0916F00F0917000329785E0809358 -:101AF0005700E89507B600FCFDCF789408959C0147 -:101B0000E0916F00F0917000309749F1E430F105F9 -:101B1000B1F087E1EC33F80739F420916B00309194 -:101B20006C002E593B4F0DC087E1EE33F80749F4A6 -:101B300020916D0030916E002D593B4F02C02FE96E -:101B40003BECF89481E0090180935700E89511245B -:101B500078943296F0937000E0936F00089581E1DD -:101B600080935700E895EBCFCF93DF93C0916F0040 -:101B7000D0917000CF73D0708FEF9FEFC0DF2296AF -:101B8000C034D105CCF3A9DFDF91CF91089588E16E -:101B90000FB6F89481BD11BC0FBEE0E0F0E0859176 -:101BA00094918F599B4C39F4E4E0F0E08591949145 -:101BB0008F599B4C09F0D8DF1092700010926F0083 -:101BC000AC9A8BB780628BBFBB9A88E893E1ECE953 -:101BD000F1E03197F1F70197D1F7BB987894EE24B3 -:101BE000FF2410918100135017FDD9C080917E0011 -:101BF000CCE0D0E0C81BD109CB57DF4F80917D00EE -:101C00008D3209F090C0183009F0C7C083EC809382 -:101C100071008AE580936000109269002881822F0C -:101C200080769981882321F1992341F482E690E01E -:101C30009093800080937F0024E06BC0913069F422 -:101C40008A8180936A008C819D819093700080933B -:101C50006F0027FD59C09FEF58C0809166009230F9 -:101C600011F4816001C084608093660020E051C05F -:101C70008A8110927A00992331F410927B008AE7CE -:101C800090E022E03CC0953019F48093820034C08B -:101C9000963011F58B81813019F482E697E104C00A -:101CA000823041F484E797E19093800080937F0035 -:101CB00022E10EC0833059F48A81882341F48EE5F5 -:101CC00097E19093800080937F0024E001C020E0A2 -:101CD00080E4809369001DC0983019F484E890E096 -:101CE00009C0993019F48093840006C09A3021F419 -:101CF0008AE790E021E003C08AE790E020E090933B -:101D0000800080937F0005C09E8180E880936900F9 -:101D100007C08F81882319F49E81921708F0922FB3 -:101D2000909361003AC08091690087FF36C080912E -:101D30006A00811B80936A0080916F00909170000F -:101D4000009739F48881998190936C0080936B009F -:101D500012C08430910539F48881998190936E0086 -:101D600080936D0008C08A53974128F081E18093E9 -:101D70005700E89507C088819981C1DE125011F0A3 -:101D80002296DACF80916A00882339F48091660028 -:101D900082608093660010926100109281008091B1 -:101DA000600084FF3CC0809161008F3FC1F1182F1B -:101DB000893008F018E0811B8093610080917100E8 -:101DC00098E88927809371001123E1F0E0917F006A -:101DD000F09180008091690086FF09C0912FA2E7F1 -:101DE000B0E084918D9331969150D9F707C0912F2F -:101DF000A2E7B0E081918D939150E1F7F0938000DC -:101E0000E0937F0082E790E0612FF2DC612F6C5F4E -:101E10006C3019F08FEF809361006093600094E163 -:101E200086B3887131F49150D9F7109282001092E4 -:101E30007C0010E0992309F411E08091680081177B -:101E400039F0112319F4F8945DD078941093680058 -:101E50008CE991E00197F1F780916600882319F0F1 -:101E6000EE24FF2403C00894E11CF11C182F80FF0E -:101E700014C0F894E0E4F7E1E054F04083E080938C -:101E80005700E89507B600FCFDCF3097A9F71092F0 -:101E9000700010926F0068DE789411FF0FC08AE323 -:101EA00090E20197F1F780916F00909170008F732D -:101EB0009070892B11F058DE01C00FDE12FF12C0A6 -:101EC00080916700882311F408C04EDE80916F0076 -:101ED0009091700080549741C0F382E291EA01979B -:101EE000F1F708C01092660080E5E81683ECF8066A -:101EF00008F477CEF8941BBE15BA10925F021092C8 -:101F00005E021CCCFF920F931F93CF93DF9380E868 -:101F1000F82E00E0C0E0D0E0102F1F0D11BF6CDCE8 -:101F200029E0843392070CF0102FF6942196C830E4 -:101F3000D10511F0012FF0CF115011BF1F5F012FFC -:101F4000EC0110C059DC8453994097FF03C0909571 -:101F500081959F4F8C179D0714F401B7EC0181B751 -:101F60008F5F81BF21B730E0812F90E0019682170B -:101F7000930744F701BFDF91CF911F910F91FF901D -:061F80000895F894FFCF64 -:061F86005AFF173A400863 -:0400000300001740A2 +:1017800022C040C06CC03EC03DC03CC03BC03AC05F +:1017900039C038C037C036C035C034C033C0040388 +:1017A000090412011001FF000008D01653070201BE +:1017B000000000010902120001010080320904004A +:1017C00000000000000011241FBECFE5D2E0DEBF04 +:1017D000CDBF00EB0F9307E00F9310E0A0E6B0E061 +:1017E000E6ECFFE102C005900D92A636B107D9F7ED +:1017F00010E0A6E6B0E001C01D92AB39B107E1F7F9 +:10180000E6D1DFC3BDCFA82FB92F80E090E041E043 +:1018100050EA609530E009C02D9182279795879511 +:1018200010F084279527305EC8F36F5FA8F3089502 +:10183000EADF8D939D930895A6E088279927AA95BE +:1018400069F00197E1F3B399FCCFB39BFECF81E040 +:101850009927A6B3019611F0A871D9F70895CF93EF +:10186000CFB7CF93C0915F02C03B21F4C0915E021D +:10187000C73021F0CF91CFBFCF9181CFCC27C39577 +:10188000B39BE9F7B39B0BC0B39B09C0B39B07C0E5 +:10189000B39B05C0B39B03C0B39B01C0D3C00F92E1 +:1018A000DF93C0917E00DD27CB57DF4F012EB39B26 +:1018B00003C0DF910F90E6CF2F930F931F934F93A9 +:1018C0002FEF4F6F06B303FB20F95F933F9350E078 +:1018D0003BE065C016B30126502953FDC89556B3A9 +:1018E000012703FB25F92F7306B3B1F0502710270A +:1018F00013FB26F906B22230F0F000C016B3012720 +:1019000003FB27F90126502906B22430E8F54F776A +:10191000206816B30000F6CF50274F7D206206B234 +:10192000102F000000C006B300265029102713FB1B +:1019300026F906B2E2CF4F7B06B3206400C0DACFAF +:1019400001265029187106B269F14E7F2160012FDE +:1019500016B328C0002650294D7F06B22260102FF2 +:1019600029C0012650294B7F06B22460012F2DC0CB +:1019700016B301265029477F2860000006B22EC00A +:101980004F7E06B3206130C0422706B3499300263C +:101990005029102706B24FEF13FB20F9297F16B309 +:1019A00079F2187159F10126502906B2012703FB7B +:1019B00021F9237F06B371F2002650293150D0F06F +:1019C00006B2102713FB22F9277E16B351F2012627 +:1019D0005029012703FB06B223F92F7C49F20000AE +:1019E00006B3102713FB24F90026502906B22F79DD +:1019F00039F270CF10E21ABF002717C03B50319563 +:101A0000C31BD04010E21ABF0881033CF9F00B342D +:101A1000E9F020917C001981110F1213EDCF0936E6 +:101A200051F10D3211F0013E39F7009383003F91DF +:101A30005F914F911F910F912F91DF910F90CAB736 +:101A4000C5FD1DCFCF91CFBFCF91189520918300B9 +:101A5000222369F310918100112321F5343022F102 +:101A60003093810020937D0010917E003BE0311B7C +:101A700030937E0019C00091810001309CF40AE58A +:101A80003091600034FD11C000936000C1E7D0E0E8 +:101A900010C0052710E000C021C0052710E0C89540 +:101AA00008BB14C03AE501C032ED032EC0E0D0E01F +:101AB00032E017B31861C39A08B317BB58E120E8A6 +:101AC0004FEF20FF052708BB279517951C3F28F7E8 +:101AD00000004552B0F720FF0527279508BB179552 +:101AE0001C3FB8F629913A9561F7077E1091820064 +:101AF000110F08BBC250D04011F010937C0010E2CF +:101B00001ABF086017B3177E402F477E54E05A95DE +:101B1000F1F708BB17BB48BB8ACF81E08093670011 +:101B2000F894E0916F00F0917000329785E0809317 +:101B30005700E89507B600FCFDCF789408959C0106 +:101B4000E0916F00F0917000309749F1E430F105B9 +:101B5000B1F087E1EC37F80739F420916B00309150 +:101B60006C002E5B3B4F0DC087E1EE37F80749F460 +:101B700020916D0030916E002D5B3B4F02C02FEB2A +:101B80003BECF89481E0090180935700E89511241B +:101B900078943296F0937000E0936F00089581E19D +:101BA00080935700E895EBCFCF93DF93C0916F0000 +:101BB000D0917000CF73D0708FEF9FEFC0DF22966F +:101BC000C034D105CCF3A9DFDF91CF91089588E12E +:101BD0000FB6F89481BD11BC0FBEE0E0F0E0859136 +:101BE00094918F5B9B4C39F4E4E0F0E08591949103 +:101BF0008F5B9B4C09F0D8DF1092700010926F0041 +:101C0000AC9A8BB780628BBFBB9A88E893E1ECE912 +:101C1000F1E03197F1F70197D1F7BB987894EE2472 +:101C2000FF2410918100135017FDD9C080917E00D0 +:101C3000CCE0D0E0C81BD109CB57DF4F80917D00AD +:101C40008D3209F090C0183009F0C7C083EC809342 +:101C500071008AE580936000109269002881822FCC +:101C600080769981882321F1992341F482E690E0DE +:101C70009093800080937F0024E06BC0913069F4E2 +:101C80008A8180936A008C819D81909370008093FB +:101C90006F0027FD59C09FEF58C0809166009230B9 +:101CA00011F4816001C084608093660020E051C01F +:101CB0008A8110927A00992331F410927B008AE78E +:101CC00090E022E03CC0953019F48093820034C04B +:101CD000963011F58B81813019F482EA97E104C0C6 +:101CE000823041F484EB97E19093800080937F00F1 +:101CF00022E10EC0833059F48A81882341F48EE9B1 +:101D000097E19093800080937F0024E001C020E061 +:101D100080E4809369001DC0983019F484E890E055 +:101D200009C0993019F48093840006C09A3021F4D8 +:101D30008AE790E021E003C08AE790E020E09093FA +:101D4000800080937F0005C09E8180E880936900B9 +:101D500007C08F81882319F49E81921708F0922F73 +:101D6000909361003AC08091690087FF36C08091EE +:101D70006A00811B80936A0080916F0090917000CF +:101D8000009739F48881998190936C0080936B005F +:101D900012C08430910539F48881998190936E0046 +:101DA00080936D0008C08A57974128F081E18093A5 +:101DB0005700E89507C088819981C1DE125011F063 +:101DC0002296DACF80916A00882339F480916600E8 +:101DD0008260809366001092610010928100809171 +:101DE000600084FF3CC0809161008F3FC1F1182FDB +:101DF000893008F018E0811B8093610080917100A8 +:101E000098E88927809371001123E1F0E0917F0029 +:101E1000F09180008091690086FF09C0912FA2E7B0 +:101E2000B0E084918D9331969150D9F707C0912FEE +:101E3000A2E7B0E081918D939150E1F7F09380009B +:101E4000E0937F0082E790E0612FF2DC612F6C5F0E +:101E50006C3019F08FEF809361006093600094E123 +:101E600086B3887131F49150D9F7109282001092A4 +:101E70007C0010E0992309F411E08091680081173B +:101E800039F0112319F4F8945DD078941093680018 +:101E90008CE991E00197F1F780916600882319F0B1 +:101EA000EE24FF2403C00894E11CF11C182F80FFCE +:101EB00014C0F894E0E8F7E1E054F04083E0809348 +:101EC0005700E89507B600FCFDCF3097A9F71092B0 +:101ED000700010926F0068DE789411FF0FC08AE3E3 +:101EE00090E20197F1F780916F00909170008F73ED +:101EF0009070892B11F058DE01C00FDE12FF12C066 +:101F000080916700882311F408C04EDE80916F0035 +:101F10009091700080589741C0F382E291EA019756 +:101F2000F1F708C01092660080E5E81683ECF80629 +:101F300008F477CEF8941BBE15BA10925F02109287 +:101F40005E021CCCFF920F931F93CF93DF9380E828 +:101F5000F82E00E0C0E0D0E0102F1F0D11BF6CDCA8 +:101F600029E0843392070CF0102FF6942196C830A4 +:101F7000D10511F0012FF0CF115011BF1F5F012FBC +:101F8000EC0110C059DC8453994097FF03C0909531 +:101F900081959F4F8C179D0714F401B7EC0181B711 +:101FA0008F5F81BF21B730E0812F90E001968217CB +:101FB000930744F701BFDF91CF911F910F91FF90DD +:061FC0000895F894FFCF24 +:061FC6005AFF177A4008E3 +:040000030000178062 :00000001FF diff --git a/firmware/main.map b/firmware/main.map index 59b6163..eb790ae 100644 --- a/firmware/main.map +++ b/firmware/main.map @@ -63,7 +63,7 @@ LOAD usbdrv/usbdrvasm.o LOAD usbdrv/oddebug.o LOAD main.o LOAD libs-device/osccal.o -Address of section .text set to 0x1740 +Address of section .text set to 0x1780 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 @@ -158,54 +158,54 @@ LOAD /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/avr25/libgcc.a .rela.plt *(.rela.plt) -.text 0x00001740 0x846 +.text 0x00001780 0x846 *(.vectors) - .vectors 0x00001740 0x1e /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/../../../../avr/lib/avr25/crttn85.o - 0x00001740 __vectors - 0x00001740 __vector_default + .vectors 0x00001780 0x1e /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/../../../../avr/lib/avr25/crttn85.o + 0x00001780 __vectors + 0x00001780 __vector_default *(.vectors) *(.progmem.gcc*) *(.progmem*) - .progmem.data 0x0000175e 0x28 main.o - 0x00001762 usbDescriptorDevice - 0x0000175e usbDescriptorString0 - 0x00001774 usbDescriptorConfiguration - 0x00001786 . = ALIGN (0x2) - 0x00001786 __trampolines_start = . + .progmem.data 0x0000179e 0x28 main.o + 0x000017a2 usbDescriptorDevice + 0x0000179e usbDescriptorString0 + 0x000017b4 usbDescriptorConfiguration + 0x000017c6 . = ALIGN (0x2) + 0x000017c6 __trampolines_start = . *(.trampolines) - .trampolines 0x00001786 0x0 linker stubs + .trampolines 0x000017c6 0x0 linker stubs *(.trampolines*) - 0x00001786 __trampolines_end = . + 0x000017c6 __trampolines_end = . *(.jumptables) *(.jumptables*) *(.lowtext) *(.lowtext*) - 0x00001786 __ctors_start = . + 0x000017c6 __ctors_start = . *(.ctors) - 0x00001786 __ctors_end = . - 0x00001786 __dtors_start = . + 0x000017c6 __ctors_end = . + 0x000017c6 __dtors_start = . *(.dtors) - 0x00001786 __dtors_end = . + 0x000017c6 __dtors_end = . SORT(*)(.ctors) SORT(*)(.dtors) *(.init0) - .init0 0x00001786 0x0 /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/../../../../avr/lib/avr25/crttn85.o - 0x00001786 __init + .init0 0x000017c6 0x0 /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/../../../../avr/lib/avr25/crttn85.o + 0x000017c6 __init *(.init0) *(.init1) *(.init1) *(.init2) - .init2 0x00001786 0xc /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/../../../../avr/lib/avr25/crttn85.o + .init2 0x000017c6 0xc /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/../../../../avr/lib/avr25/crttn85.o *(.init2) *(.init3) - .init3 0x00001792 0x8 main.o - 0x00001792 PushMagicWord + .init3 0x000017d2 0x8 main.o + 0x000017d2 PushMagicWord *(.init3) *(.init4) - .init4 0x0000179a 0x16 /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/avr25/libgcc.a(_copy_data.o) - 0x0000179a __do_copy_data - .init4 0x000017b0 0x10 /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/avr25/libgcc.a(_clear_bss.o) - 0x000017b0 __do_clear_bss + .init4 0x000017da 0x16 /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/avr25/libgcc.a(_copy_data.o) + 0x000017da __do_copy_data + .init4 0x000017f0 0x10 /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/avr25/libgcc.a(_clear_bss.o) + 0x000017f0 __do_clear_bss *(.init4) *(.init5) *(.init5) @@ -216,40 +216,40 @@ LOAD /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/avr25/libgcc.a *(.init8) *(.init8) *(.init9) - .init9 0x000017c0 0x4 /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/../../../../avr/lib/avr25/crttn85.o + .init9 0x00001800 0x4 /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/../../../../avr/lib/avr25/crttn85.o *(.init9) *(.text) - .text 0x000017c4 0x2 /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/../../../../avr/lib/avr25/crttn85.o - 0x000017c4 __vector_1 - 0x000017c4 __vector_12 - 0x000017c4 __bad_interrupt - 0x000017c4 __vector_6 - 0x000017c4 __vector_3 - 0x000017c4 __vector_11 - 0x000017c4 __vector_13 - 0x000017c4 __vector_7 - 0x000017c4 __vector_5 - 0x000017c4 __vector_4 - 0x000017c4 __vector_9 - 0x000017c4 __vector_8 - 0x000017c4 __vector_14 - 0x000017c4 __vector_10 - .text 0x000017c6 0x314 usbdrv/usbdrvasm.o - 0x000017c6 usbCrc16 - 0x000017f0 usbCrc16Append - 0x0000181e __vector_2 - 0x000017f8 usbMeasureFrameLength - .text 0x00001ada 0x42a main.o - 0x00001b8e main - .text 0x00001f04 0x7e libs-device/osccal.o - 0x00001f04 calibrateOscillator - 0x00001f82 . = ALIGN (0x2) + .text 0x00001804 0x2 /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/../../../../avr/lib/avr25/crttn85.o + 0x00001804 __vector_1 + 0x00001804 __vector_12 + 0x00001804 __bad_interrupt + 0x00001804 __vector_6 + 0x00001804 __vector_3 + 0x00001804 __vector_11 + 0x00001804 __vector_13 + 0x00001804 __vector_7 + 0x00001804 __vector_5 + 0x00001804 __vector_4 + 0x00001804 __vector_9 + 0x00001804 __vector_8 + 0x00001804 __vector_14 + 0x00001804 __vector_10 + .text 0x00001806 0x314 usbdrv/usbdrvasm.o + 0x00001806 usbCrc16 + 0x00001830 usbCrc16Append + 0x0000185e __vector_2 + 0x00001838 usbMeasureFrameLength + .text 0x00001b1a 0x42a main.o + 0x00001bce main + .text 0x00001f44 0x7e libs-device/osccal.o + 0x00001f44 calibrateOscillator + 0x00001fc2 . = ALIGN (0x2) *(.text.*) - 0x00001f82 . = ALIGN (0x2) + 0x00001fc2 . = ALIGN (0x2) *(.fini9) - .fini9 0x00001f82 0x0 /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/avr25/libgcc.a(_exit.o) - 0x00001f82 exit - 0x00001f82 _exit + .fini9 0x00001fc2 0x0 /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/avr25/libgcc.a(_exit.o) + 0x00001fc2 exit + 0x00001fc2 _exit *(.fini9) *(.fini8) *(.fini8) @@ -268,11 +268,11 @@ LOAD /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/avr25/libgcc.a *(.fini1) *(.fini1) *(.fini0) - .fini0 0x00001f82 0x4 /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/avr25/libgcc.a(_exit.o) + .fini0 0x00001fc2 0x4 /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/avr25/libgcc.a(_exit.o) *(.fini0) - 0x00001f86 _etext = . + 0x00001fc6 _etext = . -.data 0x00800060 0x6 load address 0x00001f86 +.data 0x00800060 0x6 load address 0x00001fc6 0x00800060 PROVIDE (__data_start, .) *(.data) .data 0x00800060 0x6 main.o @@ -303,8 +303,8 @@ LOAD /usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/avr25/libgcc.a 0x00800084 usbConfiguration 0x00800085 usbRxBuf 0x0080009b PROVIDE (__bss_end, .) - 0x00001f86 __data_load_start = LOADADDR (.data) - 0x00001f8c __data_load_end = (__data_load_start + SIZEOF (.data)) + 0x00001fc6 __data_load_start = LOADADDR (.data) + 0x00001fcc __data_load_end = (__data_load_start + SIZEOF (.data)) .noinit 0x0080009b 0x0 0x0080009b PROVIDE (__noinit_start, .) diff --git a/firmware/main.o b/firmware/main.o index d83c0c8..e47293c 100644 Binary files a/firmware/main.o and b/firmware/main.o differ diff --git a/firmware/temp-dump.bin b/firmware/temp-dump.bin new file mode 100644 index 0000000..b8e91ed Binary files /dev/null and b/firmware/temp-dump.bin differ diff --git a/firmware/usbdrv/oddebug.c.lst b/firmware/usbdrv/oddebug.c.lst index ba3d513..1c6aa7f 100644 --- a/firmware/usbdrv/oddebug.c.lst +++ b/firmware/usbdrv/oddebug.c.lst @@ -1,4 +1,4 @@ -GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccTJJzqV.s page 1 +GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccHnibUv.s page 1 1 .file "oddebug.c" @@ -8,16 +8,16 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccTJJzqV.s page 5 __CCP__ = 0x34 6 __tmp_reg__ = 0 7 __zero_reg__ = 1 - GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccTJJzqV.s page 2 + GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccHnibUv.s page 2 DEFINED SYMBOLS *ABS*:00000000 oddebug.c -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccTJJzqV.s:2 *ABS*:0000003f __SREG__ -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccTJJzqV.s:3 *ABS*:0000003e __SP_H__ -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccTJJzqV.s:4 *ABS*:0000003d __SP_L__ -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccTJJzqV.s:5 *ABS*:00000034 __CCP__ -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccTJJzqV.s:6 *ABS*:00000000 __tmp_reg__ -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccTJJzqV.s:7 *ABS*:00000001 __zero_reg__ +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccHnibUv.s:2 *ABS*:0000003f __SREG__ +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccHnibUv.s:3 *ABS*:0000003e __SP_H__ +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccHnibUv.s:4 *ABS*:0000003d __SP_L__ +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccHnibUv.s:5 *ABS*:00000034 __CCP__ +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccHnibUv.s:6 *ABS*:00000000 __tmp_reg__ +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccHnibUv.s:7 *ABS*:00000001 __zero_reg__ NO UNDEFINED SYMBOLS -- cgit v1.2.3