diff options
| author | Jenna Fox <a@creativepony.com> | 2012-09-24 00:45:10 +1000 | 
|---|---|---|
| committer | Jenna Fox <a@creativepony.com> | 2012-09-24 00:45:10 +1000 | 
| commit | d9ed646bd2495c6ab8524a35bd984f5526ee65ec (patch) | |
| tree | ace1df8e7c74ecaed6a55132fbc9ccff3804d3fa | |
| parent | e014795e2482dc53c04570917dfe69dcf48da463 (diff) | |
| download | micronucleus-d9ed646bd2495c6ab8524a35bd984f5526ee65ec.tar.gz micronucleus-d9ed646bd2495c6ab8524a35bd984f5526ee65ec.tar.bz2 micronucleus-d9ed646bd2495c6ab8524a35bd984f5526ee65ec.zip | |
It's uploading things properly! Stupid double increment bug. But I think it's failing to write tinyvector table
| -rw-r--r-- | firmware/libs-device/osccal.c.lst | 20 | ||||
| -rwxr-xr-x | firmware/main.bin | bin | 8919 -> 8903 bytes | |||
| -rw-r--r-- | firmware/main.c | 1 | ||||
| -rw-r--r-- | firmware/main.c.lst | 807 | ||||
| -rw-r--r-- | firmware/main.hex | 81 | ||||
| -rw-r--r-- | firmware/main.map | 28 | ||||
| -rw-r--r-- | firmware/main.o | bin | 5852 -> 5784 bytes | |||
| -rw-r--r-- | firmware/nyan-cat.bin | bin | 0 -> 1304 bytes | |||
| -rw-r--r-- | firmware/temp-dump.bin | bin | 7664 -> 7646 bytes | |||
| -rw-r--r-- | firmware/upload.rb | 9 | ||||
| -rw-r--r-- | firmware/usbdrv/oddebug.c.lst | 16 | 
11 files changed, 480 insertions, 482 deletions
| diff --git a/firmware/libs-device/osccal.c.lst b/firmware/libs-device/osccal.c.lst index 2ebf9a0..ae4bb0c 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//ccgWkNG0.s 			page 1 +GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cc0r4xDP.s 			page 1     1               		.file	"osccal.c" @@ -58,7 +58,7 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccgWkNG0.s 			page    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//ccgWkNG0.s 			page 2 +GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cc0r4xDP.s 			page 2    58 004c 01B7      		in r16,81-32 @@ -85,18 +85,18 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccgWkNG0.s 			page    79 0070 FF90      		pop r15    80 0072 0895      		ret    81               		.size	calibrateOscillator, .-calibrateOscillator -GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccgWkNG0.s 			page 3 +GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cc0r4xDP.s 			page 3  DEFINED SYMBOLS                              *ABS*:00000000 osccal.c -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccgWkNG0.s:2      *ABS*:0000003f __SREG__ -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccgWkNG0.s:3      *ABS*:0000003e __SP_H__ -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccgWkNG0.s:4      *ABS*:0000003d __SP_L__ -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccgWkNG0.s:5      *ABS*:00000034 __CCP__ -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccgWkNG0.s:6      *ABS*:00000000 __tmp_reg__ -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccgWkNG0.s:7      *ABS*:00000001 __zero_reg__ -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccgWkNG0.s:11     .text:00000000 calibrateOscillator +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cc0r4xDP.s:2      *ABS*:0000003f __SREG__ +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cc0r4xDP.s:3      *ABS*:0000003e __SP_H__ +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cc0r4xDP.s:4      *ABS*:0000003d __SP_L__ +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cc0r4xDP.s:5      *ABS*:00000034 __CCP__ +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cc0r4xDP.s:6      *ABS*:00000000 __tmp_reg__ +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cc0r4xDP.s:7      *ABS*:00000001 __zero_reg__ +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cc0r4xDP.s:11     .text:00000000 calibrateOscillator  UNDEFINED SYMBOLS  usbMeasureFrameLength diff --git a/firmware/main.bin b/firmware/main.binBinary files differ index b376872..39abe62 100755 --- a/firmware/main.bin +++ b/firmware/main.bin diff --git a/firmware/main.c b/firmware/main.c index 3cfbeec..b8a88ea 100644 --- a/firmware/main.c +++ b/firmware/main.c @@ -259,7 +259,6 @@ static uchar usbFunctionWrite(uchar *data, uchar length) {          }          writeWordToPageBuffer(*(uint16_t *) data); -        currentAddress += 2; // advance progmem address          data += 2; // advance data pointer          length -= 2;      } while(length); diff --git a/firmware/main.c.lst b/firmware/main.c.lst index 9edc9aa..368e7c8 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//ccMGKblz.s 			page 1 +GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cckyYI40.s 			page 1     1               		.file	"main.c" @@ -58,7 +58,7 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccMGKblz.s 			page    55 002e 2430      		cpi r18,4    56 0030 3105      		cpc r19,__zero_reg__    57 0032 01F0      		breq .L9 -GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccMGKblz.s 			page 2 +GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cckyYI40.s 			page 2    58 0034 44E1      		ldi r20,hi8(5372) @@ -118,7 +118,7 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccMGKblz.s 			page   112 008c 3923      		and r19,r25   113 008e 2817      		cp r18,r24   114 0090 3907      		cpc r19,r25 -GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccMGKblz.s 			page 3 +GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cckyYI40.s 			page 3   115 0092 01F0      		breq .L8 @@ -178,19 +178,19 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccMGKblz.s 			page   169               	/* stack size = 0 */   170               	.L__stack_usage = 0   171               	/* #APP */ -GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccMGKblz.s 			page 4 +GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cckyYI40.s 			page 4 - 172               	 ;  281 "main.c" 1 + 172               	 ;  280 "main.c" 1   173 0000 00EB      		ldi r16, 0xB0   174               	 ;  0 "" 2 - 175               	 ;  282 "main.c" 1 + 175               	 ;  281 "main.c" 1   176 0002 0F93      		push r16   177               	 ;  0 "" 2 - 178               	 ;  283 "main.c" 1 + 178               	 ;  282 "main.c" 1   179 0004 07E0      		ldi r16, 0x07   180               	 ;  0 "" 2 - 181               	 ;  284 "main.c" 1 + 181               	 ;  283 "main.c" 1   182 0006 0F93      		push r16   183               	 ;  0 "" 2   184               	/* epilogue start */ @@ -211,7 +211,7 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccMGKblz.s 			page   199               	.L__stack_usage = 3   200 00e6 88E1      		ldi r24,lo8(24)   201               	/* #APP */ - 202               	 ;  327 "main.c" 1 + 202               	 ;  326 "main.c" 1   203 00e8 0FB6      		in __tmp_reg__, __SREG__   204 00ea F894      		cli   205 00ec 81BD      		out 33, r24 @@ -223,7 +223,7 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccMGKblz.s 			page   211 00f2 E0E0      		ldi r30,lo8(0)   212 00f4 F0E0      		ldi r31,hi8(0)   213               	/* #APP */ - 214               	 ;  302 "main.c" 1 + 214               	 ;  301 "main.c" 1   215 00f6 8591      		lpm r24, Z+   216 00f8 9491      		lpm r25, Z   217               		 @@ -236,9 +236,9 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccMGKblz.s 			page   224 0102 E4E0      		ldi r30,lo8(4)   225 0104 F0E0      		ldi r31,hi8(4)   226               	/* #APP */ - 227               	 ;  303 "main.c" 1 + 227               	 ;  302 "main.c" 1   228 0106 8591      		lpm r24, Z+ -GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccMGKblz.s 			page 5 +GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cckyYI40.s 			page 5   229 0108 9491      		lpm r25, Z @@ -275,7 +275,7 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccMGKblz.s 			page   260 0140 0000      		nop   261 0142 BB98      		cbi 55-32,3   262               	/* #APP */ - 263               	 ;  295 "main.c" 1 + 263               	 ;  294 "main.c" 1   264 0144 7894      		sei   265               	 ;  0 "" 2   266               	/* #NOAPP */ @@ -298,7 +298,7 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccMGKblz.s 			page   283 016a 01F0      		breq .+2   284 016c 00C0      		rjmp .L17   285 016e 2830      		cpi r18,lo8(8) -GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccMGKblz.s 			page 6 +GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cckyYI40.s 			page 6   286 0170 01F0      		breq .+2 @@ -358,7 +358,7 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccMGKblz.s 			page   340 01ec 9093 0000 		sts usbNewDeviceAddr,r25   341 01f0 00C0      		rjmp .L70   342               	.L28: -GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccMGKblz.s 			page 7 +GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cckyYI40.s 			page 7   343 01f2 8630      		cpi r24,lo8(6) @@ -418,7 +418,7 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccMGKblz.s 			page   397 0260 8830      		cpi r24,lo8(8)   398 0262 01F0      		breq .L66   399 0264 8930      		cpi r24,lo8(9) -GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccMGKblz.s 			page 8 +GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cckyYI40.s 			page 8   400 0266 01F4      		brne .L36 @@ -478,7 +478,7 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccMGKblz.s 			page   454 02ce D801      		movw r26,r16   455 02d0 8D91      		ld r24,X+   456 02d2 9C91      		ld r25,X -GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccMGKblz.s 			page 9 +GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cckyYI40.s 			page 9   457 02d4 1197      		sbiw r26,1 @@ -516,409 +516,404 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccMGKblz.s 			page   489 030e 8D01      		movw r16,r26   490 0310 2983      		std Y+1,r18   491 0312 00D0      		rcall writeWordToPageBuffer - 492 0314 8091 0000 		lds r24,currentAddress - 493 0318 9091 0000 		lds r25,currentAddress+1 - 494 031c 0296      		adiw r24,2 - 495 031e 9093 0000 		sts currentAddress+1,r25 - 496 0322 8093 0000 		sts currentAddress,r24 - 497 0326 2981      		ldd r18,Y+1 - 498 0328 2250      		subi r18,lo8(-(-2)) - 499 032a 01F4      		brne .L42 - 500               	.L41: - 501 032c 8091 0000 		lds r24,writeLength - 502 0330 8823      		tst r24 - 503 0332 01F4      		brne .L18 - 504 0334 8091 0000 		lds r24,events - 505 0338 8260      		ori r24,lo8(2) - 506 033a 8093 0000 		sts events,r24 - 507 033e 1092 0000 		sts usbMsgLen,__zero_reg__ - 508               	.L18: - 509 0342 1092 0000 		sts usbRxLen,__zero_reg__ - 510               	.L16: - 511 0346 8091 0000 		lds r24,usbTxLen - 512 034a 84FF      		sbrs r24,4 - 513 034c 00C0      		rjmp .L43 -GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccMGKblz.s 			page 10 - - - 514 034e 8091 0000 		lds r24,usbMsgLen - 515 0352 8F3F      		cpi r24,lo8(-1) - 516 0354 01F4      		brne .+2 - 517 0356 00C0      		rjmp .L43 - 518 0358 082F      		mov r16,r24 - 519 035a 8930      		cpi r24,lo8(9) - 520 035c 00F0      		brlo .L44 - 521 035e 08E0      		ldi r16,lo8(8) - 522               	.L44: - 523 0360 801B      		sub r24,r16 - 524 0362 8093 0000 		sts usbMsgLen,r24 - 525 0366 8091 0000 		lds r24,usbTxBuf - 526 036a 98E8      		ldi r25,lo8(-120) - 527 036c 8927      		eor r24,r25 - 528 036e 8093 0000 		sts usbTxBuf,r24 - 529 0372 0023      		tst r16 - 530 0374 01F0      		breq .L45 - 531 0376 E091 0000 		lds r30,usbMsgPtr - 532 037a F091 0000 		lds r31,usbMsgPtr+1 - 533 037e 9091 0000 		lds r25,usbMsgFlags - 534 0382 802F      		mov r24,r16 - 535 0384 8150      		subi r24,lo8(-(-1)) - 536 0386 96FF      		sbrs r25,6 - 537 0388 00C0      		rjmp .L46 - 538 038a 90E0      		ldi r25,lo8(0) - 539 038c 8050      		subi r24,lo8(-(usbTxBuf+2)) - 540 038e 9040      		sbci r25,hi8(-(usbTxBuf+2)) - 541 0390 A0E0      		ldi r26,lo8(usbTxBuf+1) - 542 0392 B0E0      		ldi r27,hi8(usbTxBuf+1) - 543               	.L47: - 544               	/* #APP */ - 545               	 ;  504 "usbdrv/usbdrv.c" 1 - 546 0394 2491      		lpm r18, Z - 547               		 - 548               	 ;  0 "" 2 - 549               	/* #NOAPP */ - 550 0396 2D93      		st X+,r18 - 551 0398 3196      		adiw r30,1 - 552 039a A817      		cp r26,r24 - 553 039c B907      		cpc r27,r25 - 554 039e 01F4      		brne .L47 - 555 03a0 00C0      		rjmp .L48 - 556               	.L46: - 557 03a2 9F01      		movw r18,r30 - 558 03a4 90E0      		ldi r25,lo8(0) - 559 03a6 8050      		subi r24,lo8(-(usbTxBuf+2)) - 560 03a8 9040      		sbci r25,hi8(-(usbTxBuf+2)) - 561 03aa A0E0      		ldi r26,lo8(usbTxBuf+1) - 562 03ac B0E0      		ldi r27,hi8(usbTxBuf+1) - 563               	.L49: - 564 03ae F901      		movw r30,r18 - 565 03b0 4191      		ld r20,Z+ - 566 03b2 9F01      		movw r18,r30 - 567 03b4 4D93      		st X+,r20 - 568 03b6 A817      		cp r26,r24 - 569 03b8 B907      		cpc r27,r25 - 570 03ba 01F4      		brne .L49 -GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccMGKblz.s 			page 11 - - - 571               	.L48: - 572 03bc F093 0000 		sts usbMsgPtr+1,r31 - 573 03c0 E093 0000 		sts usbMsgPtr,r30 - 574               	.L45: - 575 03c4 80E0      		ldi r24,lo8(usbTxBuf+1) - 576 03c6 90E0      		ldi r25,hi8(usbTxBuf+1) - 577 03c8 602F      		mov r22,r16 - 578 03ca 00D0      		rcall usbCrc16Append - 579 03cc 0C5F      		subi r16,lo8(-(4)) - 580 03ce 0C30      		cpi r16,lo8(12) - 581 03d0 01F0      		breq .L50 - 582 03d2 8FEF      		ldi r24,lo8(-1) - 583 03d4 8093 0000 		sts usbMsgLen,r24 - 584               	.L50: - 585 03d8 0093 0000 		sts usbTxLen,r16 - 586               	.L43: - 587 03dc 84E1      		ldi r24,lo8(20) - 588               	.L52: - 589 03de 96B3      		in r25,54-32 - 590 03e0 9871      		andi r25,lo8(24) - 591 03e2 01F4      		brne .L51 - 592 03e4 8150      		subi r24,lo8(-(-1)) - 593 03e6 01F4      		brne .L52 - 594 03e8 1092 0000 		sts usbNewDeviceAddr,__zero_reg__ - 595 03ec 1092 0000 		sts usbDeviceAddr,__zero_reg__ - 596               	.L51: - 597 03f0 01E0      		ldi r16,lo8(1) - 598 03f2 8111      		cpse r24,__zero_reg__ - 599 03f4 00E0      		ldi r16,lo8(0) - 600               	.L53: - 601 03f6 8091 0000 		lds r24,wasReset.1698 - 602 03fa 8017      		cp r24,r16 - 603 03fc 01F0      		breq .L54 - 604 03fe 0023      		tst r16 - 605 0400 01F4      		brne .L55 - 606               	/* #APP */ - 607               	 ;  557 "usbdrv/usbdrv.c" 1 - 608 0402 F894      		cli - 609               	 ;  0 "" 2 - 610               	/* #NOAPP */ - 611 0404 00D0      		rcall calibrateOscillator - 612               	/* #APP */ - 613               	 ;  557 "usbdrv/usbdrv.c" 1 - 614 0406 7894      		sei - 615               	 ;  0 "" 2 - 616               	/* #NOAPP */ - 617               	.L55: - 618 0408 0093 0000 		sts wasReset.1698,r16 - 619               	.L54: - 620 040c 8CE9      		 ldi r24,lo8(412) - 621 040e 91E0      	    ldi r25,hi8(412) - 622 0410 0197      	    1:sbiw r24,1 - 623 0412 01F4      	    brne 1b - 624 0414 0000      		nop - 625 0416 8091 0000 		lds r24,events - 626 041a 8823      		tst r24 - 627 041c 01F4      		brne .L68 -GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccMGKblz.s 			page 12 - - - 628 041e 0894      		sec - 629 0420 E11C      		adc r14,__zero_reg__ - 630 0422 F11C      		adc r15,__zero_reg__ - 631 0424 00C0      		rjmp .L56 - 632               	.L68: - 633 0426 EE24      		clr r14 - 634 0428 FF24      		clr r15 - 635               	.L56: - 636 042a 80FF      		sbrs r24,0 - 637 042c 00C0      		rjmp .L57 - 638               	/* #APP */ - 639               	 ;  117 "main.c" 1 - 640 042e F894      		cli - 641               	 ;  0 "" 2 - 642               	/* #NOAPP */ - 643 0430 E091 0000 		lds r30,currentAddress - 644 0434 F091 0000 		lds r31,currentAddress+1 - 645 0438 3297      		sbiw r30,2 - 646 043a 83E0      		ldi r24,lo8(3) - 647               	/* #APP */ - 648               	 ;  118 "main.c" 1 - 649 043c 8093 5700 		sts 87, r24 - 650 0440 E895      		spm - 651               		 - 652               	 ;  0 "" 2 - 653               	/* #NOAPP */ - 654               	.L58: - 655 0442 07B6      		in __tmp_reg__,87-32 - 656 0444 00FC      		sbrc __tmp_reg__,0 - 657 0446 00C0      		rjmp .L58 - 658               	/* #APP */ - 659               	 ;  120 "main.c" 1 - 660 0448 7894      		sei - 661               	 ;  0 "" 2 - 662               	/* #NOAPP */ - 663               	.L57: - 664 044a 8091 0000 		lds r24,events - 665 044e 81FF      		sbrs r24,1 - 666 0450 00C0      		rjmp .L59 - 667 0452 A9E3      		 ldi r26,lo8(8249) - 668 0454 B0E2      	    ldi r27,hi8(8249) - 669 0456 1197      	    1:sbiw r26,1 - 670 0458 01F4      	    brne 1b - 671 045a 00C0      		rjmp . - 672 045c 0000      		nop - 673 045e 8091 0000 		lds r24,currentAddress - 674 0462 9091 0000 		lds r25,currentAddress+1 - 675 0466 8F73      		andi r24,lo8(63) - 676 0468 9070      		andi r25,hi8(63) - 677 046a 0097      		sbiw r24,0 - 678 046c 01F0      		breq .L60 - 679 046e 00D0      		rcall fillFlashWithVectors - 680 0470 00C0      		rjmp .L59 - 681               	.L60: - 682 0472 00D0      		rcall writeFlashPage - 683               	.L59: - 684 0474 8091 0000 		lds r24,events -GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccMGKblz.s 			page 13 - - - 685 0478 82FD      		sbrc r24,2 - 686 047a 00C0      		rjmp .L61 - 687 047c B1E5      		ldi r27,lo8(-15535) - 688 047e EB16      		cp r14,r27 - 689 0480 B3EC      		ldi r27,hi8(-15535) - 690 0482 FB06      		cpc r15,r27 - 691 0484 00F0      		brlo .L62 - 692               	.L61: - 693 0486 E1E2      		 ldi r30,lo8(-24287) - 694 0488 F1EA      	    ldi r31,hi8(-24287) - 695 048a 3197      	    1:sbiw r30,1 - 696 048c 01F4      	    brne 1b - 697 048e 00C0      		rjmp . - 698 0490 0000      		nop - 699               	/* #APP */ - 700               	 ;  190 "main.c" 1 - 701 0492 F894      		cli - 702               	 ;  0 "" 2 - 703               	/* #NOAPP */ - 704 0494 1BBE      		out 91-32,__zero_reg__ - 705 0496 15BA      		out 53-32,__zero_reg__ - 706 0498 1092 5F02 		sts 607,__zero_reg__ - 707 049c 1092 5E02 		sts 606,__zero_reg__ - 708               	/* #APP */ - 709               	 ;  206 "main.c" 1 - 710 04a0 00C0      		rjmp __vectors - 4 - 711               	 ;  0 "" 2 - 712               	/* #NOAPP */ - 713               	.L62: - 714 04a2 1092 0000 		sts events,__zero_reg__ - 715 04a6 00C0      		rjmp .L63 - 716               		.size	main, .-main - 717               	.global	usbTxLen - 718               		.data - 719               		.type	usbTxLen, @object - 720               		.size	usbTxLen, 1 - 721               	usbTxLen: - 722 0000 5A        		.byte	90 - 723               	.global	usbDescriptorString0 - 724               		.section	.progmem.data,"a",@progbits - 725               		.type	usbDescriptorString0, @object - 726               		.size	usbDescriptorString0, 4 - 727               	usbDescriptorString0: - 728 0000 04        		.byte	4 - 729 0001 03        		.byte	3 - 730 0002 09        		.byte	9 - 731 0003 04        		.byte	4 - 732               	.global	usbDescriptorStringVendor - 733               		.type	usbDescriptorStringVendor, @object - 734               		.size	usbDescriptorStringVendor, 34 - 735               	usbDescriptorStringVendor: - 736 0004 2203      		.word	802 - 737 0006 6300      		.word	99 - 738 0008 7200      		.word	114 - 739 000a 6500      		.word	101 - 740 000c 6100      		.word	97 - 741 000e 7400      		.word	116 -GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccMGKblz.s 			page 14 - - - 742 0010 6900      		.word	105 - 743 0012 7600      		.word	118 - 744 0014 6500      		.word	101 - 745 0016 7000      		.word	112 - 746 0018 6F00      		.word	111 - 747 001a 6E00      		.word	110 - 748 001c 7900      		.word	121 - 749 001e 2E00      		.word	46 - 750 0020 6300      		.word	99 - 751 0022 6F00      		.word	111 - 752 0024 6D00      		.word	109 - 753               	.global	usbDescriptorStringDevice - 754               		.type	usbDescriptorStringDevice, @object - 755               		.size	usbDescriptorStringDevice, 12 - 756               	usbDescriptorStringDevice: - 757 0026 0C03      		.word	780 - 758 0028 7500      		.word	117 - 759 002a 4200      		.word	66 - 760 002c 6F00      		.word	111 - 761 002e 6F00      		.word	111 - 762 0030 7400      		.word	116 - 763               	.global	usbDescriptorDevice - 764               		.type	usbDescriptorDevice, @object - 765               		.size	usbDescriptorDevice, 18 - 766               	usbDescriptorDevice: - 767 0032 12        		.byte	18 - 768 0033 01        		.byte	1 - 769 0034 10        		.byte	16 - 770 0035 01        		.byte	1 - 771 0036 FF        		.byte	-1 - 772 0037 00        		.byte	0 - 773 0038 00        		.byte	0 - 774 0039 08        		.byte	8 - 775 003a C0        		.byte	-64 - 776 003b 16        		.byte	22 - 777 003c DC        		.byte	-36 - 778 003d 05        		.byte	5 - 779 003e 01        		.byte	1 - 780 003f 00        		.byte	0 - 781 0040 01        		.byte	1 - 782 0041 02        		.byte	2 - 783 0042 00        		.byte	0 - 784 0043 01        		.byte	1 - 785               	.global	usbDescriptorConfiguration - 786               		.type	usbDescriptorConfiguration, @object - 787               		.size	usbDescriptorConfiguration, 18 - 788               	usbDescriptorConfiguration: - 789 0044 09        		.byte	9 - 790 0045 02        		.byte	2 - 791 0046 12        		.byte	18 - 792 0047 00        		.byte	0 - 793 0048 01        		.byte	1 - 794 0049 01        		.byte	1 - 795 004a 00        		.byte	0 - 796 004b 80        		.byte	-128 - 797 004c 32        		.byte	50 - 798 004d 09        		.byte	9 -GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccMGKblz.s 			page 15 - - - 799 004e 04        		.byte	4 - 800 004f 00        		.byte	0 - 801 0050 00        		.byte	0 - 802 0051 00        		.byte	0 - 803 0052 00        		.byte	0 - 804 0053 00        		.byte	0 - 805 0054 00        		.byte	0 - 806 0055 00        		.byte	0 - 807               		.comm usbMsgPtr,2,1 - 808               		.comm usbRxToken,1,1 - 809               		.comm usbConfiguration,1,1 - 810               		.comm usbRxBuf,22,1 - 811               		.comm usbInputBufOffset,1,1 - 812               		.comm usbDeviceAddr,1,1 - 813               		.comm usbNewDeviceAddr,1,1 - 814               		.comm usbRxLen,1,1 - 815               		.comm usbCurrentTok,1,1 - 816               		.comm usbTxBuf,11,1 - 817               		.lcomm currentAddress,2 - 818               		.lcomm events,1 - 819               		.lcomm vectorTemp,4 - 820               		.data - 821               		.type	usbMsgLen, @object - 822               		.size	usbMsgLen, 1 - 823               	usbMsgLen: - 824 0001 FF        		.byte	-1 - 825               		.lcomm usbMsgFlags,1 - 826               		.lcomm writeLength,1 - 827               		.type	replyBuffer.1756, @object - 828               		.size	replyBuffer.1756, 5 - 829               	replyBuffer.1756: - 830 0002 01        		.byte	1 - 831 0003 14        		.byte	20 - 832 0004 FA        		.byte	-6 - 833 0005 40        		.byte	64 - 834 0006 14        		.byte	20 - 835               		.lcomm wasReset.1698,1 - 836               	.global __do_copy_data - 837               	.global __do_clear_bss -GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccMGKblz.s 			page 16 + 492 0314 2981      		ldd r18,Y+1 + 493 0316 2250      		subi r18,lo8(-(-2)) + 494 0318 01F4      		brne .L42 + 495               	.L41: + 496 031a 8091 0000 		lds r24,writeLength + 497 031e 8823      		tst r24 + 498 0320 01F4      		brne .L18 + 499 0322 8091 0000 		lds r24,events + 500 0326 8260      		ori r24,lo8(2) + 501 0328 8093 0000 		sts events,r24 + 502 032c 1092 0000 		sts usbMsgLen,__zero_reg__ + 503               	.L18: + 504 0330 1092 0000 		sts usbRxLen,__zero_reg__ + 505               	.L16: + 506 0334 8091 0000 		lds r24,usbTxLen + 507 0338 84FF      		sbrs r24,4 + 508 033a 00C0      		rjmp .L43 + 509 033c 8091 0000 		lds r24,usbMsgLen + 510 0340 8F3F      		cpi r24,lo8(-1) + 511 0342 01F4      		brne .+2 + 512 0344 00C0      		rjmp .L43 + 513 0346 082F      		mov r16,r24 +GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cckyYI40.s 			page 10 + + + 514 0348 8930      		cpi r24,lo8(9) + 515 034a 00F0      		brlo .L44 + 516 034c 08E0      		ldi r16,lo8(8) + 517               	.L44: + 518 034e 801B      		sub r24,r16 + 519 0350 8093 0000 		sts usbMsgLen,r24 + 520 0354 8091 0000 		lds r24,usbTxBuf + 521 0358 98E8      		ldi r25,lo8(-120) + 522 035a 8927      		eor r24,r25 + 523 035c 8093 0000 		sts usbTxBuf,r24 + 524 0360 0023      		tst r16 + 525 0362 01F0      		breq .L45 + 526 0364 E091 0000 		lds r30,usbMsgPtr + 527 0368 F091 0000 		lds r31,usbMsgPtr+1 + 528 036c 9091 0000 		lds r25,usbMsgFlags + 529 0370 802F      		mov r24,r16 + 530 0372 8150      		subi r24,lo8(-(-1)) + 531 0374 96FF      		sbrs r25,6 + 532 0376 00C0      		rjmp .L46 + 533 0378 90E0      		ldi r25,lo8(0) + 534 037a 8050      		subi r24,lo8(-(usbTxBuf+2)) + 535 037c 9040      		sbci r25,hi8(-(usbTxBuf+2)) + 536 037e A0E0      		ldi r26,lo8(usbTxBuf+1) + 537 0380 B0E0      		ldi r27,hi8(usbTxBuf+1) + 538               	.L47: + 539               	/* #APP */ + 540               	 ;  504 "usbdrv/usbdrv.c" 1 + 541 0382 2491      		lpm r18, Z + 542               		 + 543               	 ;  0 "" 2 + 544               	/* #NOAPP */ + 545 0384 2D93      		st X+,r18 + 546 0386 3196      		adiw r30,1 + 547 0388 A817      		cp r26,r24 + 548 038a B907      		cpc r27,r25 + 549 038c 01F4      		brne .L47 + 550 038e 00C0      		rjmp .L48 + 551               	.L46: + 552 0390 9F01      		movw r18,r30 + 553 0392 90E0      		ldi r25,lo8(0) + 554 0394 8050      		subi r24,lo8(-(usbTxBuf+2)) + 555 0396 9040      		sbci r25,hi8(-(usbTxBuf+2)) + 556 0398 A0E0      		ldi r26,lo8(usbTxBuf+1) + 557 039a B0E0      		ldi r27,hi8(usbTxBuf+1) + 558               	.L49: + 559 039c F901      		movw r30,r18 + 560 039e 4191      		ld r20,Z+ + 561 03a0 9F01      		movw r18,r30 + 562 03a2 4D93      		st X+,r20 + 563 03a4 A817      		cp r26,r24 + 564 03a6 B907      		cpc r27,r25 + 565 03a8 01F4      		brne .L49 + 566               	.L48: + 567 03aa F093 0000 		sts usbMsgPtr+1,r31 + 568 03ae E093 0000 		sts usbMsgPtr,r30 + 569               	.L45: + 570 03b2 80E0      		ldi r24,lo8(usbTxBuf+1) +GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cckyYI40.s 			page 11 + + + 571 03b4 90E0      		ldi r25,hi8(usbTxBuf+1) + 572 03b6 602F      		mov r22,r16 + 573 03b8 00D0      		rcall usbCrc16Append + 574 03ba 0C5F      		subi r16,lo8(-(4)) + 575 03bc 0C30      		cpi r16,lo8(12) + 576 03be 01F0      		breq .L50 + 577 03c0 8FEF      		ldi r24,lo8(-1) + 578 03c2 8093 0000 		sts usbMsgLen,r24 + 579               	.L50: + 580 03c6 0093 0000 		sts usbTxLen,r16 + 581               	.L43: + 582 03ca 84E1      		ldi r24,lo8(20) + 583               	.L52: + 584 03cc 96B3      		in r25,54-32 + 585 03ce 9871      		andi r25,lo8(24) + 586 03d0 01F4      		brne .L51 + 587 03d2 8150      		subi r24,lo8(-(-1)) + 588 03d4 01F4      		brne .L52 + 589 03d6 1092 0000 		sts usbNewDeviceAddr,__zero_reg__ + 590 03da 1092 0000 		sts usbDeviceAddr,__zero_reg__ + 591               	.L51: + 592 03de 01E0      		ldi r16,lo8(1) + 593 03e0 8111      		cpse r24,__zero_reg__ + 594 03e2 00E0      		ldi r16,lo8(0) + 595               	.L53: + 596 03e4 8091 0000 		lds r24,wasReset.1698 + 597 03e8 8017      		cp r24,r16 + 598 03ea 01F0      		breq .L54 + 599 03ec 0023      		tst r16 + 600 03ee 01F4      		brne .L55 + 601               	/* #APP */ + 602               	 ;  557 "usbdrv/usbdrv.c" 1 + 603 03f0 F894      		cli + 604               	 ;  0 "" 2 + 605               	/* #NOAPP */ + 606 03f2 00D0      		rcall calibrateOscillator + 607               	/* #APP */ + 608               	 ;  557 "usbdrv/usbdrv.c" 1 + 609 03f4 7894      		sei + 610               	 ;  0 "" 2 + 611               	/* #NOAPP */ + 612               	.L55: + 613 03f6 0093 0000 		sts wasReset.1698,r16 + 614               	.L54: + 615 03fa 8CE9      		 ldi r24,lo8(412) + 616 03fc 91E0      	    ldi r25,hi8(412) + 617 03fe 0197      	    1:sbiw r24,1 + 618 0400 01F4      	    brne 1b + 619 0402 0000      		nop + 620 0404 8091 0000 		lds r24,events + 621 0408 8823      		tst r24 + 622 040a 01F4      		brne .L68 + 623 040c 0894      		sec + 624 040e E11C      		adc r14,__zero_reg__ + 625 0410 F11C      		adc r15,__zero_reg__ + 626 0412 00C0      		rjmp .L56 + 627               	.L68: +GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cckyYI40.s 			page 12 + + + 628 0414 EE24      		clr r14 + 629 0416 FF24      		clr r15 + 630               	.L56: + 631 0418 80FF      		sbrs r24,0 + 632 041a 00C0      		rjmp .L57 + 633               	/* #APP */ + 634               	 ;  117 "main.c" 1 + 635 041c F894      		cli + 636               	 ;  0 "" 2 + 637               	/* #NOAPP */ + 638 041e E091 0000 		lds r30,currentAddress + 639 0422 F091 0000 		lds r31,currentAddress+1 + 640 0426 3297      		sbiw r30,2 + 641 0428 83E0      		ldi r24,lo8(3) + 642               	/* #APP */ + 643               	 ;  118 "main.c" 1 + 644 042a 8093 5700 		sts 87, r24 + 645 042e E895      		spm + 646               		 + 647               	 ;  0 "" 2 + 648               	/* #NOAPP */ + 649               	.L58: + 650 0430 07B6      		in __tmp_reg__,87-32 + 651 0432 00FC      		sbrc __tmp_reg__,0 + 652 0434 00C0      		rjmp .L58 + 653               	/* #APP */ + 654               	 ;  120 "main.c" 1 + 655 0436 7894      		sei + 656               	 ;  0 "" 2 + 657               	/* #NOAPP */ + 658               	.L57: + 659 0438 8091 0000 		lds r24,events + 660 043c 81FF      		sbrs r24,1 + 661 043e 00C0      		rjmp .L59 + 662 0440 A9E3      		 ldi r26,lo8(8249) + 663 0442 B0E2      	    ldi r27,hi8(8249) + 664 0444 1197      	    1:sbiw r26,1 + 665 0446 01F4      	    brne 1b + 666 0448 00C0      		rjmp . + 667 044a 0000      		nop + 668 044c 8091 0000 		lds r24,currentAddress + 669 0450 9091 0000 		lds r25,currentAddress+1 + 670 0454 8F73      		andi r24,lo8(63) + 671 0456 9070      		andi r25,hi8(63) + 672 0458 0097      		sbiw r24,0 + 673 045a 01F0      		breq .L60 + 674 045c 00D0      		rcall fillFlashWithVectors + 675 045e 00C0      		rjmp .L59 + 676               	.L60: + 677 0460 00D0      		rcall writeFlashPage + 678               	.L59: + 679 0462 8091 0000 		lds r24,events + 680 0466 82FD      		sbrc r24,2 + 681 0468 00C0      		rjmp .L61 + 682 046a B1E5      		ldi r27,lo8(-15535) + 683 046c EB16      		cp r14,r27 + 684 046e B3EC      		ldi r27,hi8(-15535) +GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cckyYI40.s 			page 13 + + + 685 0470 FB06      		cpc r15,r27 + 686 0472 00F0      		brlo .L62 + 687               	.L61: + 688 0474 E1E2      		 ldi r30,lo8(-24287) + 689 0476 F1EA      	    ldi r31,hi8(-24287) + 690 0478 3197      	    1:sbiw r30,1 + 691 047a 01F4      	    brne 1b + 692 047c 00C0      		rjmp . + 693 047e 0000      		nop + 694               	/* #APP */ + 695               	 ;  190 "main.c" 1 + 696 0480 F894      		cli + 697               	 ;  0 "" 2 + 698               	/* #NOAPP */ + 699 0482 1BBE      		out 91-32,__zero_reg__ + 700 0484 15BA      		out 53-32,__zero_reg__ + 701 0486 1092 5F02 		sts 607,__zero_reg__ + 702 048a 1092 5E02 		sts 606,__zero_reg__ + 703               	/* #APP */ + 704               	 ;  206 "main.c" 1 + 705 048e 00C0      		rjmp __vectors - 4 + 706               	 ;  0 "" 2 + 707               	/* #NOAPP */ + 708               	.L62: + 709 0490 1092 0000 		sts events,__zero_reg__ + 710 0494 00C0      		rjmp .L63 + 711               		.size	main, .-main + 712               	.global	usbTxLen + 713               		.data + 714               		.type	usbTxLen, @object + 715               		.size	usbTxLen, 1 + 716               	usbTxLen: + 717 0000 5A        		.byte	90 + 718               	.global	usbDescriptorString0 + 719               		.section	.progmem.data,"a",@progbits + 720               		.type	usbDescriptorString0, @object + 721               		.size	usbDescriptorString0, 4 + 722               	usbDescriptorString0: + 723 0000 04        		.byte	4 + 724 0001 03        		.byte	3 + 725 0002 09        		.byte	9 + 726 0003 04        		.byte	4 + 727               	.global	usbDescriptorStringVendor + 728               		.type	usbDescriptorStringVendor, @object + 729               		.size	usbDescriptorStringVendor, 34 + 730               	usbDescriptorStringVendor: + 731 0004 2203      		.word	802 + 732 0006 6300      		.word	99 + 733 0008 7200      		.word	114 + 734 000a 6500      		.word	101 + 735 000c 6100      		.word	97 + 736 000e 7400      		.word	116 + 737 0010 6900      		.word	105 + 738 0012 7600      		.word	118 + 739 0014 6500      		.word	101 + 740 0016 7000      		.word	112 + 741 0018 6F00      		.word	111 +GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cckyYI40.s 			page 14 + + + 742 001a 6E00      		.word	110 + 743 001c 7900      		.word	121 + 744 001e 2E00      		.word	46 + 745 0020 6300      		.word	99 + 746 0022 6F00      		.word	111 + 747 0024 6D00      		.word	109 + 748               	.global	usbDescriptorStringDevice + 749               		.type	usbDescriptorStringDevice, @object + 750               		.size	usbDescriptorStringDevice, 12 + 751               	usbDescriptorStringDevice: + 752 0026 0C03      		.word	780 + 753 0028 7500      		.word	117 + 754 002a 4200      		.word	66 + 755 002c 6F00      		.word	111 + 756 002e 6F00      		.word	111 + 757 0030 7400      		.word	116 + 758               	.global	usbDescriptorDevice + 759               		.type	usbDescriptorDevice, @object + 760               		.size	usbDescriptorDevice, 18 + 761               	usbDescriptorDevice: + 762 0032 12        		.byte	18 + 763 0033 01        		.byte	1 + 764 0034 10        		.byte	16 + 765 0035 01        		.byte	1 + 766 0036 FF        		.byte	-1 + 767 0037 00        		.byte	0 + 768 0038 00        		.byte	0 + 769 0039 08        		.byte	8 + 770 003a C0        		.byte	-64 + 771 003b 16        		.byte	22 + 772 003c DC        		.byte	-36 + 773 003d 05        		.byte	5 + 774 003e 01        		.byte	1 + 775 003f 00        		.byte	0 + 776 0040 01        		.byte	1 + 777 0041 02        		.byte	2 + 778 0042 00        		.byte	0 + 779 0043 01        		.byte	1 + 780               	.global	usbDescriptorConfiguration + 781               		.type	usbDescriptorConfiguration, @object + 782               		.size	usbDescriptorConfiguration, 18 + 783               	usbDescriptorConfiguration: + 784 0044 09        		.byte	9 + 785 0045 02        		.byte	2 + 786 0046 12        		.byte	18 + 787 0047 00        		.byte	0 + 788 0048 01        		.byte	1 + 789 0049 01        		.byte	1 + 790 004a 00        		.byte	0 + 791 004b 80        		.byte	-128 + 792 004c 32        		.byte	50 + 793 004d 09        		.byte	9 + 794 004e 04        		.byte	4 + 795 004f 00        		.byte	0 + 796 0050 00        		.byte	0 + 797 0051 00        		.byte	0 + 798 0052 00        		.byte	0 +GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cckyYI40.s 			page 15 + + + 799 0053 00        		.byte	0 + 800 0054 00        		.byte	0 + 801 0055 00        		.byte	0 + 802               		.comm usbMsgPtr,2,1 + 803               		.comm usbRxToken,1,1 + 804               		.comm usbConfiguration,1,1 + 805               		.comm usbRxBuf,22,1 + 806               		.comm usbInputBufOffset,1,1 + 807               		.comm usbDeviceAddr,1,1 + 808               		.comm usbNewDeviceAddr,1,1 + 809               		.comm usbRxLen,1,1 + 810               		.comm usbCurrentTok,1,1 + 811               		.comm usbTxBuf,11,1 + 812               		.lcomm currentAddress,2 + 813               		.lcomm events,1 + 814               		.lcomm vectorTemp,4 + 815               		.data + 816               		.type	usbMsgLen, @object + 817               		.size	usbMsgLen, 1 + 818               	usbMsgLen: + 819 0001 FF        		.byte	-1 + 820               		.lcomm usbMsgFlags,1 + 821               		.lcomm writeLength,1 + 822               		.type	replyBuffer.1756, @object + 823               		.size	replyBuffer.1756, 5 + 824               	replyBuffer.1756: + 825 0002 01        		.byte	1 + 826 0003 14        		.byte	20 + 827 0004 FA        		.byte	-6 + 828 0005 40        		.byte	64 + 829 0006 14        		.byte	20 + 830               		.lcomm wasReset.1698,1 + 831               	.global __do_copy_data + 832               	.global __do_clear_bss +GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cckyYI40.s 			page 16  DEFINED SYMBOLS                              *ABS*:00000000 main.c -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccMGKblz.s:2      *ABS*:0000003f __SREG__ -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccMGKblz.s:3      *ABS*:0000003e __SP_H__ -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccMGKblz.s:4      *ABS*:0000003d __SP_L__ -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccMGKblz.s:5      *ABS*:00000034 __CCP__ -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccMGKblz.s:6      *ABS*:00000000 __tmp_reg__ -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccMGKblz.s:7      *ABS*:00000001 __zero_reg__ -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccMGKblz.s:10     .text:00000000 writeFlashPage +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cckyYI40.s:2      *ABS*:0000003f __SREG__ +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cckyYI40.s:3      *ABS*:0000003e __SP_H__ +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cckyYI40.s:4      *ABS*:0000003d __SP_L__ +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cckyYI40.s:5      *ABS*:00000034 __CCP__ +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cckyYI40.s:6      *ABS*:00000000 __tmp_reg__ +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cckyYI40.s:7      *ABS*:00000001 __zero_reg__ +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cckyYI40.s:10     .text:00000000 writeFlashPage                               .bss:00000000 currentAddress -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccMGKblz.s:44     .text:0000001e writeWordToPageBuffer -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccMGKblz.s:818    .bss:00000003 vectorTemp -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccMGKblz.s:817    .bss:00000002 events -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccMGKblz.s:138    .text:000000b6 fillFlashWithVectors -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccMGKblz.s:166    .init3:00000000 PushMagicWord -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccMGKblz.s:190    .text:000000dc main +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cckyYI40.s:44     .text:0000001e writeWordToPageBuffer +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cckyYI40.s:813    .bss:00000003 vectorTemp +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cckyYI40.s:812    .bss:00000002 events +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cckyYI40.s:138    .text:000000b6 fillFlashWithVectors +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cckyYI40.s:166    .init3:00000000 PushMagicWord +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cckyYI40.s:190    .text:000000dc main                              *COM*:00000001 usbRxLen                              *COM*:00000001 usbInputBufOffset                              *COM*:00000016 usbRxBuf                              *COM*:00000001 usbRxToken                              *COM*:0000000b usbTxBuf -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccMGKblz.s:721    .data:00000000 usbTxLen -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccMGKblz.s:819    .bss:00000007 usbMsgFlags -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccMGKblz.s:829    .data:00000002 replyBuffer.1756 +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cckyYI40.s:716    .data:00000000 usbTxLen +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cckyYI40.s:814    .bss:00000007 usbMsgFlags +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cckyYI40.s:824    .data:00000002 replyBuffer.1756                              *COM*:00000002 usbMsgPtr -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccMGKblz.s:825    .bss:00000008 writeLength +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cckyYI40.s:820    .bss:00000008 writeLength                              *COM*:00000001 usbNewDeviceAddr -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccMGKblz.s:766    .progmem.data:00000032 usbDescriptorDevice -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccMGKblz.s:788    .progmem.data:00000044 usbDescriptorConfiguration -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccMGKblz.s:727    .progmem.data:00000000 usbDescriptorString0 -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccMGKblz.s:735    .progmem.data:00000004 usbDescriptorStringVendor -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccMGKblz.s:756    .progmem.data:00000026 usbDescriptorStringDevice +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cckyYI40.s:761    .progmem.data:00000032 usbDescriptorDevice +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cckyYI40.s:783    .progmem.data:00000044 usbDescriptorConfiguration +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cckyYI40.s:722    .progmem.data:00000000 usbDescriptorString0 +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cckyYI40.s:730    .progmem.data:00000004 usbDescriptorStringVendor +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cckyYI40.s:751    .progmem.data:00000026 usbDescriptorStringDevice                              *COM*:00000001 usbConfiguration -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccMGKblz.s:823    .data:00000001 usbMsgLen +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cckyYI40.s:818    .data:00000001 usbMsgLen                              *COM*:00000001 usbDeviceAddr -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccMGKblz.s:826    .bss:00000009 wasReset.1698 +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//cckyYI40.s:821    .bss:00000009 wasReset.1698                              *COM*:00000001 usbCurrentTok  UNDEFINED SYMBOLS diff --git a/firmware/main.hex b/firmware/main.hex index c71b27a..27ab57c 100644 --- a/firmware/main.hex +++ b/firmware/main.hex @@ -6,10 +6,10 @@  :1015500012011001FF000008C016DC0501000102A5
  :10156000000109021200010100803209040000009C
  :101570000000000011241FBECFE5D2E0DEBFCDBFCA
 -:1015800000EB0F9307E00F9310E0A0E6B0E0E8EE69
 +:1015800000EB0F9307E00F9310E0A0E6B0E0E6ED6C
  :10159000FDE102C005900D92A836B107D9F710E021
  :1015A000A8E6B0E001C01D92AC39B107E1F7FAD16D
 -:1015B00019C4A6CFA82FB92F80E090E041E050EAEF
 +:1015B00010C4A6CFA82FB92F80E090E041E050EAF8
  :1015C000609530E009C02D9182279795879510F09E
  :1015D00084279527305EC8F36F5FA8F30895EADF8C
  :1015E0008D939D930895A6E088279927AA9569F081
 @@ -79,9 +79,9 @@  :1019E0001092680087B3836087BBC09AC198AC9A95
  :1019F0008BB780628BBFBB9A8FE49DE2A9E18150D7
  :101A00009040A040E1F700C00000BB987894EE241D
 -:101A1000FF2420918200235027FDF9C080917F0090
 +:101A1000FF2420918200235027FDF0C080917F0099
  :101A2000ECE0F0E0E81BF109EA57FF4F80917E00FF
 -:101A30008D3209F0A0C0283009F0E7C083EC809314
 +:101A30008D3209F0A0C0283009F0DEC083EC80931D
  :101A400072008AE58093600010926F00908190761A
  :101A50008181992311F1882341F482E690E09093EB
  :101A600081008093800025E07CC0813079F4C098AB
 @@ -101,46 +101,45 @@  :101B400006C085E890E002C08BE790E021E090932A
  :101B500081008093800005C0268180E880936F001B
  :101B600007C08781882321F48681821708F4282FF3
 -:101B7000209361004AC080916F0087FF46C080912A
 +:101B70002093610041C080916F0087FF3DC080913C
  :101B80007000821B809370008F018091680090919B
  :101B90006900009749F4D8018D919C911197909319
  :101BA0006C0080936B0014C08430910541F4F801FF
  :101BB0008081918190936E0080936D0009C0F4E163
 -:101BC0008A3F9F0728F081E180935700E89512C073
 -:101BD000D8018D919D918D01298385DE80916800CA
 -:101BE0009091690002969093690080936800298122
 -:101BF000225059F680917000882339F480916A0050
 -:101C0000826080936A00109261001092820080913D
 -:101C1000600084FF47C0809161008F3F09F442C09B
 -:101C2000082F893008F008E0801B809361008091C4
 -:101C3000720098E8892780937200002339F1E091BF
 -:101C40008000F091810090916F00802F815096FF6D
 -:101C50000CC090E08C589F4FA3E7B0E024912D93E7
 -:101C60003196A817B907D1F70DC09F0190E08C58A5
 -:101C70009F4FA3E7B0E0F90141919F014D93A81751
 -:101C8000B907C9F7F0938100E093800083E790E003
 -:101C9000602FA5DC0C5F0C3019F08FEF8093610092
 -:101CA0000093600084E196B3987131F48150D9F7C4
 -:101CB0001092830010927D0001E0811100E080917C
 -:101CC0007100801739F0002319F4F89451D07894FA
 -:101CD000009371008CE991E00197F1F70000809189
 -:101CE0006A00882321F40894E11CF11C02C0EE2450
 -:101CF000FF2480FF0EC0F894E0916800F091690025
 -:101D0000329783E080935700E89507B600FCFDCF3B
 -:101D1000789480916A0081FF11C0A9E3B0E2119725
 -:101D2000F1F700C0000080916800909169008F7306
 -:101D30009070009711F023DE01C0C6DD80916A002B
 -:101D400082FD05C0B1E5EB16B3ECFB0670F0E1E2F5
 -:101D5000F1EA3197F1F700C00000F8941BBE15BA04
 -:101D600010925F0210925E02C9CB10926A0051CEAF
 -:101D7000FF920F931F93CF93DF93C8E0D0E010E062
 -:101D800000E8F12EF00EF1BE2EDC29E0843392073C
 -:101D90000CF41F2D06952197A1F7212F215021BF6B
 -:101DA000EC01012F10C01FDC8453994097FF03C042
 -:101DB000909581959F4F8C179D0714F401B7EC0106
 -:101DC00081B78F5F81BF21B730E0812F90E001960E
 -:101DD0008217930744F701BFDF91CF911F910F91B5
 -:081DE000FF900895F894FFCF75
 -:081DE8005AFF0114FA40140037
 +:101BC0008A3F9F0728F081E180935700E89509C07C
 +:101BD000D8018D919D918D01298385DE2981225027
 +:101BE000A1F680917000882339F480916A008260A8
 +:101BF00080936A00109261001092820080916000D0
 +:101C000084FF47C0809161008F3F09F442C0082FD4
 +:101C1000893008F008E0801B809361008091720099
 +:101C200098E8892780937200002339F1E0918000C1
 +:101C3000F091810090916F00802F815096FF0CC031
 +:101C400090E08C589F4FA3E7B0E024912D933196FC
 +:101C5000A817B907D1F70DC09F0190E08C589F4F8E
 +:101C6000A3E7B0E0F90141919F014D93A817B9078F
 +:101C7000C9F7F0938100E093800083E790E0602F44
 +:101C8000AEDC0C5F0C3019F08FEF80936100009395
 +:101C9000600084E196B3987131F48150D9F71092C5
 +:101CA000830010927D0001E0811100E080917100BD
 +:101CB000801739F0002319F4F89451D078940093E8
 +:101CC00071008CE991E00197F1F7000080916A00C2
 +:101CD000882321F40894E11CF11C02C0EE24FF24A7
 +:101CE00080FF0EC0F894E0916800F091690032978F
 +:101CF00083E080935700E89507B600FCFDCF789409
 +:101D000080916A0081FF11C0A9E3B0E21197F1F759
 +:101D100000C0000080916800909169008F739070FE
 +:101D2000009711F02CDE01C0CFDD80916A0082FDAA
 +:101D300005C0B1E5EB16B3ECFB0670F0E1E2F1EAA9
 +:101D40003197F1F700C00000F8941BBE15BA10924D
 +:101D50005F0210925E02D2CB10926A005ACEFF92BE
 +:101D60000F931F93CF93DF93C8E0D0E010E000E81B
 +:101D7000F12EF00EF1BE37DC29E0843392070CF42B
 +:101D80001F2D06952197A1F7212F215021BFEC018E
 +:101D9000012F10C028DC8453994097FF03C0909511
 +:101DA00081959F4F8C179D0714F401B7EC0181B703
 +:101DB0008F5F81BF21B730E0812F90E001968217BD
 +:101DC000930744F701BFDF91CF911F910F91FF90CF
 +:061DD0000895F894FFCF16
 +:081DD6005AFF0114FA40140049
  :0400000300001500E4
  :00000001FF
 diff --git a/firmware/main.map b/firmware/main.map index fddc06e..c5f2234 100644 --- a/firmware/main.map +++ b/firmware/main.map @@ -158,7 +158,7 @@ LOAD /usr/local/CrossPack-AVR-20120217/lib/gcc/avr/4.5.1/avr25/libgcc.a  .rela.plt   *(.rela.plt) -.text           0x00001500      0x8e8 +.text           0x00001500      0x8d6   *(.vectors)   .vectors       0x00001500       0x1e /usr/local/CrossPack-AVR-20120217/lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn85.o                  0x00001500                __vectors @@ -241,17 +241,17 @@ LOAD /usr/local/CrossPack-AVR-20120217/lib/gcc/avr/4.5.1/avr25/libgcc.a                  0x000015de                usbCrc16Append                  0x000015e6                usbMeasureFrameLength                  0x0000160c                __vector_2 - .text          0x000018c8      0x4a8 main.o + .text          0x000018c8      0x496 main.o                  0x000019a4                main - .text          0x00001d70       0x74 libs-device/osccal.o -                0x00001d70                calibrateOscillator -                0x00001de4                . = ALIGN (0x2) + .text          0x00001d5e       0x74 libs-device/osccal.o +                0x00001d5e                calibrateOscillator +                0x00001dd2                . = ALIGN (0x2)   *(.text.*) -                0x00001de4                . = ALIGN (0x2) +                0x00001dd2                . = ALIGN (0x2)   *(.fini9) - .fini9         0x00001de4        0x0 /usr/local/CrossPack-AVR-20120217/lib/gcc/avr/4.5.1/avr25/libgcc.a(_exit.o) -                0x00001de4                exit -                0x00001de4                _exit + .fini9         0x00001dd2        0x0 /usr/local/CrossPack-AVR-20120217/lib/gcc/avr/4.5.1/avr25/libgcc.a(_exit.o) +                0x00001dd2                exit +                0x00001dd2                _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         0x00001de4        0x4 /usr/local/CrossPack-AVR-20120217/lib/gcc/avr/4.5.1/avr25/libgcc.a(_exit.o) + .fini0         0x00001dd2        0x4 /usr/local/CrossPack-AVR-20120217/lib/gcc/avr/4.5.1/avr25/libgcc.a(_exit.o)   *(.fini0) -                0x00001de8                _etext = . +                0x00001dd6                _etext = . -.data           0x00800060        0x8 load address 0x00001de8 +.data           0x00800060        0x8 load address 0x00001dd6                  0x00800060                PROVIDE (__data_start, .)   *(.data)   .data          0x00800060        0x7 main.o @@ -306,8 +306,8 @@ LOAD /usr/local/CrossPack-AVR-20120217/lib/gcc/avr/4.5.1/avr25/libgcc.a                  0x00800085                usbConfiguration                  0x00800086                usbRxBuf                  0x0080009c                PROVIDE (__bss_end, .) -                0x00001de8                __data_load_start = LOADADDR (.data) -                0x00001df0                __data_load_end = (__data_load_start + SIZEOF (.data)) +                0x00001dd6                __data_load_start = LOADADDR (.data) +                0x00001dde                __data_load_end = (__data_load_start + SIZEOF (.data))  .noinit         0x0080009c        0x0                  0x0080009c                PROVIDE (__noinit_start, .) diff --git a/firmware/main.o b/firmware/main.oBinary files differ index 18cd008..7a2f8d1 100644 --- a/firmware/main.o +++ b/firmware/main.o diff --git a/firmware/nyan-cat.bin b/firmware/nyan-cat.binBinary files differ new file mode 100644 index 0000000..cb463d8 --- /dev/null +++ b/firmware/nyan-cat.bin diff --git a/firmware/temp-dump.bin b/firmware/temp-dump.binBinary files differ index c6f4c8e..cbae830 100644 --- a/firmware/temp-dump.bin +++ b/firmware/temp-dump.bin diff --git a/firmware/upload.rb b/firmware/upload.rb index c68b02c..171bdfa 100644 --- a/firmware/upload.rb +++ b/firmware/upload.rb @@ -98,8 +98,13 @@ thinklet = thinklets.first  puts "First thinklet: #{thinklet.info.inspect}" -test_data = ("---- Hello World! ----" * 1).encode("BINARY") -puts "Attempting to write '#{test_data}' to first thinklet's program memory" +if ARGV.first +  test_data = open(ARGV.first).read +else +  test_data = ("---- Hello World! ----" * 1).encode("BINARY") +end +puts "Attempting to write '#{test_data.inspect}' to first thinklet's program memory" +puts "Bytes: #{test_data.bytes.to_a.inspect}"  thinklet.program = test_data  puts "That seems to have gone well! Telling thinklet to run program..." diff --git a/firmware/usbdrv/oddebug.c.lst b/firmware/usbdrv/oddebug.c.lst index 5df64f9..1bcf2d7 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//ccre230i.s 			page 1 +GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccWFeAjP.s 			page 1     1               		.file	"oddebug.c" @@ -8,16 +8,16 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccre230i.s 			page     5               	__CCP__ = 0x34     6               	__tmp_reg__ = 0     7               	__zero_reg__ = 1 -GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccre230i.s 			page 2 +GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccWFeAjP.s 			page 2  DEFINED SYMBOLS                              *ABS*:00000000 oddebug.c -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccre230i.s:2      *ABS*:0000003f __SREG__ -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccre230i.s:3      *ABS*:0000003e __SP_H__ -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccre230i.s:4      *ABS*:0000003d __SP_L__ -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccre230i.s:5      *ABS*:00000034 __CCP__ -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccre230i.s:6      *ABS*:00000000 __tmp_reg__ -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccre230i.s:7      *ABS*:00000001 __zero_reg__ +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccWFeAjP.s:2      *ABS*:0000003f __SREG__ +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccWFeAjP.s:3      *ABS*:0000003e __SP_H__ +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccWFeAjP.s:4      *ABS*:0000003d __SP_L__ +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccWFeAjP.s:5      *ABS*:00000034 __CCP__ +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccWFeAjP.s:6      *ABS*:00000000 __tmp_reg__ +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccWFeAjP.s:7      *ABS*:00000001 __zero_reg__  NO UNDEFINED SYMBOLS | 
