From 0c0436f47c296513dace43d3ba20e3cc36f8f527 Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Sun, 25 Mar 2012 17:46:26 +0200 Subject: Board, rev A. --- firmware/VirtualSerial.lst | 738 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 738 insertions(+) create mode 100644 firmware/VirtualSerial.lst (limited to 'firmware/VirtualSerial.lst') diff --git a/firmware/VirtualSerial.lst b/firmware/VirtualSerial.lst new file mode 100644 index 0000000..bc2df8c --- /dev/null +++ b/firmware/VirtualSerial.lst @@ -0,0 +1,738 @@ + 1 .file "VirtualSerial.c" + 2 __SREG__ = 0x3f + 3 __SP_H__ = 0x3e + 4 __SP_L__ = 0x3d + 5 __CCP__ = 0x34 + 6 __tmp_reg__ = 0 + 7 __zero_reg__ = 1 + 15 .Ltext0: + 16 .section .text.lock_timer_setup,"ax",@progbits + 17 .global lock_timer_setup + 19 lock_timer_setup: + 20 .LFB86: + 21 .LSM0: + 22 /* prologue: function */ + 23 /* frame size = 0 */ + 24 .LSM1: + 25 0000 E0E8 ldi r30,lo8(128) + 26 0002 F0E0 ldi r31,hi8(128) + 27 0004 F093 8900 sts (136)+1,r31 + 28 0008 E093 8800 sts 136,r30 + 29 .LSM2: + 30 000c 88E0 ldi r24,lo8(8) + 31 000e 8083 st Z,r24 + 32 .LSM3: + 33 0010 84E0 ldi r24,lo8(4) + 34 0012 8093 8100 sts 129,r24 + 35 .LSM4: + 36 0016 82E0 ldi r24,lo8(2) + 37 0018 8093 6F00 sts 111,r24 + 38 /* epilogue start */ + 39 .LSM5: + 40 001c 0895 ret + 41 .LFE86: + 43 .section .text.lock_timer_reset,"ax",@progbits + 44 .global lock_timer_reset + 46 lock_timer_reset: + 47 .LFB87: + 48 .LSM6: + 49 /* prologue: function */ + 50 /* frame size = 0 */ + 51 .LSM7: + 52 0000 1092 0000 sts lock_timer_ticks,__zero_reg__ + 53 /* epilogue start */ + 54 .LSM8: + 55 0004 0895 ret + 56 .LFE87: + 58 .section .text.EVENT_USB_Device_Connect,"ax",@progbits + 59 .global EVENT_USB_Device_Connect + 61 EVENT_USB_Device_Connect: + 62 .LFB93: + 63 .LSM9: + 64 /* prologue: function */ + 65 /* frame size = 0 */ + 66 /* epilogue start */ + 67 .LSM10: + 68 0000 0895 ret + 69 .LFE93: + 71 .section .text.EVENT_USB_Device_Disconnect,"ax",@progbits + 72 .global EVENT_USB_Device_Disconnect + 74 EVENT_USB_Device_Disconnect: + 75 .LFB94: + 76 .LSM11: + 77 /* prologue: function */ + 78 /* frame size = 0 */ + 79 /* epilogue start */ + 80 .LSM12: + 81 0000 0895 ret + 82 .LFE94: + 84 .section .text.__vector_15,"ax",@progbits + 85 .global __vector_15 + 87 __vector_15: + 88 .LFB97: + 89 .LSM13: + 90 0000 1F92 push __zero_reg__ + 91 0002 0F92 push r0 + 92 0004 0FB6 in r0,__SREG__ + 93 0006 0F92 push r0 + 94 0008 1124 clr __zero_reg__ + 95 000a 8F93 push r24 + 96 /* prologue: Signal */ + 97 /* frame size = 0 */ + 98 .LSM14: + 99 000c 1D99 sbic 35-32,5 + 100 .LSM15: + 101 000e 2C9A sbi 37-32,4 + 102 .L10: + 103 .LSM16: + 104 0010 8091 0000 lds r24,lock_timer_ticks + 105 0014 8F3F cpi r24,lo8(-1) + 106 0016 01F0 breq .L13 + 107 .LSM17: + 108 0018 8091 0000 lds r24,lock_timer_ticks + 109 001c 8E31 cpi r24,lo8(30) + 110 001e 00F4 brsh .L12 + 111 .LSM18: + 112 0020 8091 0000 lds r24,lock_timer_ticks + 113 0024 8F5F subi r24,lo8(-(1)) + 114 0026 00C0 rjmp .L14 + 115 .L12: + 116 .LSM19: + 117 0028 2C9A sbi 37-32,4 + 118 .LSM20: + 119 002a 8FEF ldi r24,lo8(-1) + 120 .L14: + 121 002c 8093 0000 sts lock_timer_ticks,r24 + 122 .L13: + 123 /* epilogue start */ + 124 .LSM21: + 125 0030 8F91 pop r24 + 126 0032 0F90 pop r0 + 127 0034 0FBE out __SREG__,r0 + 128 0036 0F90 pop r0 + 129 0038 1F90 pop __zero_reg__ + 130 003a 1895 reti + 131 .LFE97: + 133 .section .text.EVENT_USB_Device_ControlRequest,"ax",@progbits + 134 .global EVENT_USB_Device_ControlRequest + 136 EVENT_USB_Device_ControlRequest: + 137 .LFB96: + 138 .LSM22: + 139 /* prologue: function */ + 140 /* frame size = 0 */ + 141 .LSM23: + 142 0000 80E0 ldi r24,lo8(VirtualSerial_CDC_Interface) + 143 0002 90E0 ldi r25,hi8(VirtualSerial_CDC_Interface) + 144 0004 0E94 0000 call CDC_Device_ProcessControlRequest + 145 /* epilogue start */ + 146 .LSM24: + 147 0008 0895 ret + 148 .LFE96: + 150 .section .text.EVENT_USB_Device_ConfigurationChanged,"ax",@progbits + 151 .global EVENT_USB_Device_ConfigurationChanged + 153 EVENT_USB_Device_ConfigurationChanged: + 154 .LFB95: + 155 .LSM25: + 156 /* prologue: function */ + 157 /* frame size = 0 */ + 158 .LSM26: + 159 0000 80E0 ldi r24,lo8(VirtualSerial_CDC_Interface) + 160 0002 90E0 ldi r25,hi8(VirtualSerial_CDC_Interface) + 161 0004 0E94 0000 call CDC_Device_ConfigureEndpoints + 162 /* epilogue start */ + 163 .LSM27: + 164 0008 0895 ret + 165 .LFE95: + 167 .data + 168 .LC0: + 169 0000 4865 6C6C .string "Hello, World!\r\n" + 169 6F2C 2057 + 169 6F72 6C64 + 169 210D 0A00 + 170 .LC1: + 171 0010 5265 626F .string "Rebooting!\r\n" + 171 6F74 696E + 171 6721 0D0A + 171 00 + 172 .section .text.CheckPinStatus,"ax",@progbits + 173 .global CheckPinStatus + 175 CheckPinStatus: + 176 .LFB92: + 177 .LSM28: + 178 /* prologue: function */ + 179 /* frame size = 0 */ + 180 .LSM29: + 181 0000 1E9B sbis 35-32,6 + 182 0002 00C0 rjmp .L20 + 183 0004 20E0 ldi r18,lo8(0) + 184 0006 30E0 ldi r19,hi8(0) + 185 .LVL0: + 186 0008 00C0 rjmp .L21 + 187 .LVL1: + 188 .L20: + 189 .LSM30: + 190 000a 1092 0000 sts ActionSent.3565,__zero_reg__ + 191 000e 20E0 ldi r18,lo8(.LC0) + 192 0010 30E0 ldi r19,hi8(.LC0) + 193 .LVL2: + 194 .L21: + 195 .LSM31: + 196 0012 1F99 sbic 35-32,7 + 197 0014 00C0 rjmp .L22 + 198 .LSM32: + 199 0016 1092 0000 sts ActionSent.3565,__zero_reg__ + 200 .LSM33: + 201 001a 1092 0000 sts (running)+1,__zero_reg__ + 202 001e 1092 0000 sts running,__zero_reg__ + 203 0022 20E0 ldi r18,lo8(.LC1) + 204 0024 30E0 ldi r19,hi8(.LC1) + 205 0026 00C0 rjmp .L23 + 206 .L22: + 207 .LSM34: + 208 0028 2115 cp r18,__zero_reg__ + 209 002a 3105 cpc r19,__zero_reg__ + 210 002c 01F0 breq .L26 + 211 .L23: + 212 002e 8091 0000 lds r24,ActionSent.3565 + 213 0032 8823 tst r24 + 214 0034 01F4 brne .L26 + 215 .LSM35: + 216 0036 81E0 ldi r24,lo8(1) + 217 0038 8093 0000 sts ActionSent.3565,r24 + 218 .LSM36: + 219 003c C901 movw r24,r18 + 220 003e 60E0 ldi r22,lo8(USBSerialStream) + 221 0040 70E0 ldi r23,hi8(USBSerialStream) + 222 0042 0E94 0000 call fputs + 223 .LVL3: + 224 0046 88EE ldi r24,lo8(1000) + 225 0048 93E0 ldi r25,hi8(1000) + 226 .LVL4: + 227 .LBB22: + 228 .LBB23: + 229 .LBB24: + 230 .LBB25: + 231 .LSM37: + 232 004a 20E9 ldi r18,lo8(400) + 233 004c 31E0 ldi r19,hi8(400) + 234 .L25: + 235 004e F901 movw r30,r18 + 236 .LVL5: + 237 /* #APP */ + 238 ; 105 "/usr/lib/gcc/avr/4.3.5/../../../avr/include/util/delay_basic.h" 1 + 239 0050 3197 1: sbiw r30,1 + 240 0052 01F4 brne 1b + 241 ; 0 "" 2 + 242 /* #NOAPP */ + 243 .LBE25: + 244 .LBE24: + 245 .LSM38: + 246 0054 0197 sbiw r24,1 + 247 .LSM39: + 248 0056 01F4 brne .L25 + 249 .LVL6: + 250 .L26: + 251 0058 0895 ret + 252 .LBE23: + 253 .LBE22: + 254 .LFE92: + 256 .section .text.SetupHardware,"ax",@progbits + 257 .global SetupHardware + 259 SetupHardware: + 260 .LFB91: + 261 .LSM40: + 262 /* prologue: function */ + 263 /* frame size = 0 */ + 264 .LSM41: + 265 0000 84B7 in r24,84-32 + 266 0002 877F andi r24,lo8(-9) + 267 0004 84BF out 84-32,r24 + 268 .LSM42: + 269 0006 2EE0 ldi r18,lo8(14) + 270 0008 88E1 ldi r24,lo8(24) + 271 000a 90E0 ldi r25,hi8(24) + 272 /* #APP */ + 273 ; 212 "VirtualSerial.c" 1 + 274 000c 0FB6 in __tmp_reg__,__SREG__ + 275 000e F894 cli + 276 0010 A895 wdr + 277 0012 8093 6000 sts 96,r24 + 278 0016 0FBE out __SREG__,__tmp_reg__ + 279 0018 2093 6000 sts 96,r18 + 280 + 281 ; 0 "" 2 + 282 /* #NOAPP */ + 283 .LBB26: + 284 .LBB27: + 285 .LSM43: + 286 001c 90E0 ldi r25,lo8(0) + 287 001e 80E8 ldi r24,lo8(-128) + 288 /* #APP */ + 289 ; 1394 "/usr/lib/gcc/avr/4.3.5/../../../avr/include/avr/power.h" 1 + 290 0020 0FB6 in __tmp_reg__,__SREG__ + 291 0022 F894 cli + 292 0024 8093 6100 sts 97, r24 + 293 0028 9093 6100 sts 97, r25 + 294 002c 0FBE out __SREG__, __tmp_reg__ + 295 ; 0 "" 2 + 296 /* #NOAPP */ + 297 .LBE27: + 298 .LBE26: + 299 .LSM44: + 300 002e 0E94 0000 call USB_Init + 301 /* epilogue start */ + 302 .LSM45: + 303 0032 0895 ret + 304 .LFE91: + 306 .data + 307 .LC2: + 308 001d 636F 6C61 .string "cola" + 308 00 + 309 .LC3: + 310 0022 6D6D 6D21 .string "mmm! LED toggeled\r\n" + 310 204C 4544 + 310 2074 6F67 + 310 6765 6C65 + 310 640D 0A00 + 311 .LC4: + 312 0036 7265 626F .string "reboot" + 312 6F74 00 + 313 .LC5: + 314 003d 7265 7365 .string "reset" + 314 7400 + 315 .LC6: + 316 0043 746F 6767 .string "toggle" + 316 6C65 00 + 317 .LC7: + 318 004a 546F 6767 .string "Toggling Magnet Lock\r\n" + 318 6C69 6E67 + 318 204D 6167 + 318 6E65 7420 + 318 4C6F 636B + 319 .LC8: + 320 0061 6C6F 636B .string "lock" + 320 00 + 321 .LC9: + 322 0066 7374 6174 .string "status: locked\n" + 322 7573 3A20 + 322 6C6F 636B + 322 6564 0A00 + 323 .LC10: + 324 0076 756E 6C6F .string "unlock" + 324 636B 00 + 325 .LC11: + 326 007d 7374 6174 .string "status: unlocked\n" + 326 7573 3A20 + 326 756E 6C6F + 326 636B 6564 + 326 0A00 + 327 .LC12: + 328 008f 646F 6F72 .string "doorstatus" + 328 7374 6174 + 328 7573 00 + 329 .LC13: + 330 009a 646F 6F72 .string "doorstatus: open\n" + 330 7374 6174 + 330 7573 3A20 + 330 6F70 656E + 330 0A00 + 331 .LC14: + 332 00ac 646F 6F72 .string "doorstatus: closed\n" + 332 7374 6174 + 332 7573 3A20 + 332 636C 6F73 + 332 6564 0A00 + 333 .section .text.handle_command,"ax",@progbits + 334 .global handle_command + 336 handle_command: + 337 .LFB89: + 338 .LSM46: + 339 .LVL7: + 340 0000 CF93 push r28 + 341 0002 DF93 push r29 + 342 /* prologue: function */ + 343 /* frame size = 0 */ + 344 0004 EC01 movw r28,r24 + 345 .LSM47: + 346 0006 80E0 ldi r24,lo8(.LC2) + 347 0008 90E0 ldi r25,hi8(.LC2) + 348 .LVL8: + 349 000a BE01 movw r22,r28 + 350 000c 0E94 0000 call strcmp + 351 0010 0097 sbiw r24,0 + 352 0012 01F4 brne .L31 + 353 .LSM48: + 354 0014 85B1 in r24,37-32 + 355 0016 90E2 ldi r25,lo8(32) + 356 0018 8927 eor r24,r25 + 357 001a 85B9 out 37-32,r24 + 358 .LSM49: + 359 001c 80E0 ldi r24,lo8(.LC3) + 360 001e 90E0 ldi r25,hi8(.LC3) + 361 0020 00C0 rjmp .L40 + 362 .L31: + 363 .LSM50: + 364 0022 80E0 ldi r24,lo8(.LC4) + 365 0024 90E0 ldi r25,hi8(.LC4) + 366 0026 BE01 movw r22,r28 + 367 0028 0E94 0000 call strcmp + 368 002c 0097 sbiw r24,0 + 369 002e 01F0 breq .L33 + 370 0030 80E0 ldi r24,lo8(.LC5) + 371 0032 90E0 ldi r25,hi8(.LC5) + 372 0034 BE01 movw r22,r28 + 373 0036 0E94 0000 call strcmp + 374 003a 0097 sbiw r24,0 + 375 003c 01F4 brne .L34 + 376 .L33: + 377 .LSM51: + 378 003e 80E0 ldi r24,lo8(.LC1) + 379 0040 90E0 ldi r25,hi8(.LC1) + 380 0042 60E0 ldi r22,lo8(USBSerialStream) + 381 0044 70E0 ldi r23,hi8(USBSerialStream) + 382 0046 0E94 0000 call fputs + 383 .LSM52: + 384 004a 1092 0000 sts (running)+1,__zero_reg__ + 385 004e 1092 0000 sts running,__zero_reg__ + 386 0052 00C0 rjmp .L39 + 387 .L34: + 388 .LSM53: + 389 0054 80E0 ldi r24,lo8(.LC6) + 390 0056 90E0 ldi r25,hi8(.LC6) + 391 0058 BE01 movw r22,r28 + 392 005a 0E94 0000 call strcmp + 393 005e 0097 sbiw r24,0 + 394 0060 01F4 brne .L35 + 395 .LSM54: + 396 0062 80E0 ldi r24,lo8(.LC7) + 397 0064 90E0 ldi r25,hi8(.LC7) + 398 0066 60E0 ldi r22,lo8(USBSerialStream) + 399 0068 70E0 ldi r23,hi8(USBSerialStream) + 400 006a 0E94 0000 call fputs + 401 .LSM55: + 402 006e 85B1 in r24,37-32 + 403 0070 90E1 ldi r25,lo8(16) + 404 0072 8927 eor r24,r25 + 405 0074 85B9 out 37-32,r24 + 406 0076 00C0 rjmp .L39 + 407 .L35: + 408 .LSM56: + 409 0078 80E0 ldi r24,lo8(.LC8) + 410 007a 90E0 ldi r25,hi8(.LC8) + 411 007c BE01 movw r22,r28 + 412 007e 0E94 0000 call strcmp + 413 0082 0097 sbiw r24,0 + 414 0084 01F4 brne .L36 + 415 .LSM57: + 416 0086 80E0 ldi r24,lo8(.LC9) + 417 0088 90E0 ldi r25,hi8(.LC9) + 418 008a 60E0 ldi r22,lo8(USBSerialStream) + 419 008c 70E0 ldi r23,hi8(USBSerialStream) + 420 008e 0E94 0000 call fputs + 421 .LSM58: + 422 0092 2C9A sbi 37-32,4 + 423 0094 00C0 rjmp .L39 + 424 .L36: + 425 .LSM59: + 426 0096 80E0 ldi r24,lo8(.LC10) + 427 0098 90E0 ldi r25,hi8(.LC10) + 428 009a BE01 movw r22,r28 + 429 009c 0E94 0000 call strcmp + 430 00a0 0097 sbiw r24,0 + 431 00a2 01F4 brne .L37 + 432 .LSM60: + 433 00a4 80E0 ldi r24,lo8(.LC11) + 434 00a6 90E0 ldi r25,hi8(.LC11) + 435 00a8 60E0 ldi r22,lo8(USBSerialStream) + 436 00aa 70E0 ldi r23,hi8(USBSerialStream) + 437 00ac 0E94 0000 call fputs + 438 .LSM61: + 439 00b0 2C98 cbi 37-32,4 + 440 .LSM62: + 441 00b2 0E94 0000 call lock_timer_reset + 442 00b6 00C0 rjmp .L39 + 443 .L37: + 444 .LSM63: + 445 00b8 80E0 ldi r24,lo8(.LC12) + 446 00ba 90E0 ldi r25,hi8(.LC12) + 447 00bc BE01 movw r22,r28 + 448 00be 0E94 0000 call strcmp + 449 00c2 0097 sbiw r24,0 + 450 00c4 01F4 brne .L39 + 451 .LSM64: + 452 00c6 1D9B sbis 35-32,5 + 453 00c8 00C0 rjmp .L38 + 454 .LSM65: + 455 00ca 80E0 ldi r24,lo8(.LC13) + 456 00cc 90E0 ldi r25,hi8(.LC13) + 457 00ce 00C0 rjmp .L40 + 458 .L38: + 459 .LSM66: + 460 00d0 80E0 ldi r24,lo8(.LC14) + 461 00d2 90E0 ldi r25,hi8(.LC14) + 462 .L40: + 463 00d4 60E0 ldi r22,lo8(USBSerialStream) + 464 00d6 70E0 ldi r23,hi8(USBSerialStream) + 465 00d8 0E94 0000 call fputs + 466 .L39: + 467 /* epilogue start */ + 468 .LSM67: + 469 00dc DF91 pop r29 + 470 00de CF91 pop r28 + 471 .LVL9: + 472 00e0 0895 ret + 473 .LFE89: + 475 .section .text.CheckACMStatus,"ax",@progbits + 476 .global CheckACMStatus + 478 CheckACMStatus: + 479 .LFB90: + 480 .LSM68: + 481 0000 CF93 push r28 + 482 0002 DF93 push r29 + 483 /* prologue: function */ + 484 /* frame size = 0 */ + 485 0004 00C0 rjmp .L48 + 486 .LVL10: + 487 .L44: + 488 .LSM69: + 489 0006 CE01 movw r24,r28 + 490 .LVL11: + 491 0008 60E0 ldi r22,lo8(USBSerialStream) + 492 000a 70E0 ldi r23,hi8(USBSerialStream) + 493 000c 0E94 0000 call fputc + 494 .LSM70: + 495 0010 CD30 cpi r28,13 + 496 0012 D105 cpc r29,__zero_reg__ + 497 0014 01F4 brne .L43 + 498 .LSM71: + 499 0016 8AE0 ldi r24,lo8(10) + 500 0018 90E0 ldi r25,hi8(10) + 501 001a 60E0 ldi r22,lo8(USBSerialStream) + 502 001c 70E0 ldi r23,hi8(USBSerialStream) + 503 001e 0E94 0000 call fputc + 504 .LSM72: + 505 0022 8091 0000 lds r24,len.3545 + 506 0026 E82F mov r30,r24 + 507 0028 F0E0 ldi r31,lo8(0) + 508 002a E050 subi r30,lo8(-(buf.3544)) + 509 002c F040 sbci r31,hi8(-(buf.3544)) + 510 002e 1082 st Z,__zero_reg__ + 511 0030 8F5F subi r24,lo8(-(1)) + 512 0032 8093 0000 sts len.3545,r24 + 513 .LSM73: + 514 0036 80E0 ldi r24,lo8(buf.3544) + 515 0038 90E0 ldi r25,hi8(buf.3544) + 516 003a 0E94 0000 call handle_command + 517 003e 00C0 rjmp .L49 + 518 .L43: + 519 .LSM74: + 520 0040 8091 0000 lds r24,len.3545 + 521 0044 E82F mov r30,r24 + 522 0046 F0E0 ldi r31,lo8(0) + 523 0048 E050 subi r30,lo8(-(buf.3544)) + 524 004a F040 sbci r31,hi8(-(buf.3544)) + 525 004c C083 st Z,r28 + 526 004e 8F5F subi r24,lo8(-(1)) + 527 0050 8093 0000 sts len.3545,r24 + 528 .LSM75: + 529 0054 8032 cpi r24,lo8(32) + 530 0056 01F4 brne .L48 + 531 .L49: + 532 .LSM76: + 533 0058 1092 0000 sts len.3545,__zero_reg__ + 534 .L48: + 535 .LSM77: + 536 005c 80E0 ldi r24,lo8(VirtualSerial_CDC_Interface) + 537 005e 90E0 ldi r25,hi8(VirtualSerial_CDC_Interface) + 538 0060 0E94 0000 call CDC_Device_ReceiveByte + 539 0064 EC01 movw r28,r24 + 540 0066 1816 cp __zero_reg__,r24 + 541 0068 1906 cpc __zero_reg__,r25 + 542 006a 04F0 brlt .L44 + 543 .LVL12: + 544 /* epilogue start */ + 545 .LSM78: + 546 006c DF91 pop r29 + 547 006e CF91 pop r28 + 548 0070 0895 ret + 549 .LFE90: + 551 .section .text.main,"ax",@progbits + 552 .global main + 554 main: + 555 .LFB88: + 556 .LSM79: + 557 0000 CF93 push r28 + 558 0002 DF93 push r29 + 559 /* prologue: function */ + 560 /* frame size = 0 */ + 561 .LSM80: + 562 0004 81E1 ldi r24,lo8(17) + 563 0006 84B9 out 36-32,r24 + 564 .LSM81: + 565 0008 15B8 out 37-32,__zero_reg__ + 566 .LSM82: + 567 000a 0E94 0000 call SetupHardware + 568 .LSM83: + 569 000e 0E94 0000 call lock_timer_setup + 570 .LSM84: + 571 0012 80E0 ldi r24,lo8(VirtualSerial_CDC_Interface) + 572 0014 90E0 ldi r25,hi8(VirtualSerial_CDC_Interface) + 573 0016 60E0 ldi r22,lo8(USBSerialStream) + 574 0018 70E0 ldi r23,hi8(USBSerialStream) + 575 001a 0E94 0000 call CDC_Device_CreateStream + 576 .LSM85: + 577 /* #APP */ + 578 ; 109 "VirtualSerial.c" 1 + 579 001e 7894 sei + 580 ; 0 "" 2 + 581 /* #NOAPP */ + 582 .LBB28: + 583 .LBB29: + 584 .LBB30: + 585 .LBB31: + 586 .LSM86: + 587 0020 C0E9 ldi r28,lo8(400) + 588 0022 D1E0 ldi r29,hi8(400) + 589 0024 00C0 rjmp .L51 + 590 .L53: + 591 .LBE31: + 592 .LBE30: + 593 .LBE29: + 594 .LBE28: + 595 .LSM87: + 596 /* #APP */ + 597 ; 113 "VirtualSerial.c" 1 + 598 0026 A895 wdr + 599 ; 0 "" 2 + 600 /* #NOAPP */ + 601 0028 84EC ldi r24,lo8(2500) + 602 002a 99E0 ldi r25,hi8(2500) + 603 .LVL13: + 604 .L52: + 605 .LBB35: + 606 .LBB34: + 607 .LBB33: + 608 .LBB32: + 609 .LSM88: + 610 002c FE01 movw r30,r28 + 611 .LVL14: + 612 /* #APP */ + 613 ; 105 "/usr/lib/gcc/avr/4.3.5/../../../avr/include/util/delay_basic.h" 1 + 614 002e 3197 1: sbiw r30,1 + 615 0030 01F4 brne 1b + 616 ; 0 "" 2 + 617 /* #NOAPP */ + 618 .LBE32: + 619 .LBE33: + 620 .LSM89: + 621 0032 0197 sbiw r24,1 + 622 .LSM90: + 623 0034 01F4 brne .L52 + 624 .LBE34: + 625 .LBE35: + 626 .LSM91: + 627 0036 0E94 0000 call CheckACMStatus + 628 .LVL15: + 629 .LSM92: + 630 003a 80E0 ldi r24,lo8(VirtualSerial_CDC_Interface) + 631 003c 90E0 ldi r25,hi8(VirtualSerial_CDC_Interface) + 632 003e 0E94 0000 call CDC_Device_USBTask + 633 .LSM93: + 634 0042 0E94 0000 call USB_USBTask + 635 .L51: + 636 .LSM94: + 637 0046 8091 0000 lds r24,running + 638 004a 9091 0000 lds r25,(running)+1 + 639 004e 892B or r24,r25 + 640 0050 01F4 brne .L53 + 641 .LBB36: + 642 .LBB37: + 643 .LSM95: + 644 0052 8091 E000 lds r24,224 + 645 0056 8160 ori r24,lo8(1) + 646 0058 8093 E000 sts 224,r24 + 647 .LBE37: + 648 .LBE36: + 649 .LSM96: + 650 005c 2CE0 ldi r18,lo8(12) + 651 005e 88E1 ldi r24,lo8(24) + 652 0060 90E0 ldi r25,hi8(24) + 653 /* #APP */ + 654 ; 129 "VirtualSerial.c" 1 + 655 0062 0FB6 in __tmp_reg__,__SREG__ + 656 0064 F894 cli + 657 0066 A895 wdr + 658 0068 8093 6000 sts 96,r24 + 659 006c 0FBE out __SREG__,__tmp_reg__ + 660 006e 2093 6000 sts 96,r18 + 661 + 662 ; 0 "" 2 + 663 /* #NOAPP */ + 664 .L54: + 665 0072 00C0 rjmp .L54 + 666 .LFE88: + 668 .global VirtualSerial_CDC_Interface + 669 .data + 672 VirtualSerial_CDC_Interface: + 673 00c0 00 .byte 0 + 674 00c1 03 .byte 3 + 675 00c2 1000 .word 16 + 676 00c4 00 .byte 0 + 677 00c5 04 .byte 4 + 678 00c6 1000 .word 16 + 679 00c8 00 .byte 0 + 680 00c9 02 .byte 2 + 681 00ca 0800 .word 8 + 682 00cc 00 .byte 0 + 683 00cd 0000 0000 .skip 9,0 + 683 0000 0000 + 683 00 + 686 running: + 687 00d6 0100 .word 1 + 688 .lcomm ActionSent.3565,1 + 689 .lcomm len.3545,1 + 690 .lcomm buf.3544,32 + 691 .lcomm USBSerialStream,14 + 692 .lcomm lock_timer_ticks,1 + 805 .Letext0: +DEFINED SYMBOLS + *ABS*:0000000000000000 VirtualSerial.c + /tmp/ccpcr8YL.s:2 *ABS*:000000000000003f __SREG__ + /tmp/ccpcr8YL.s:3 *ABS*:000000000000003e __SP_H__ + /tmp/ccpcr8YL.s:4 *ABS*:000000000000003d __SP_L__ + /tmp/ccpcr8YL.s:5 *ABS*:0000000000000034 __CCP__ + /tmp/ccpcr8YL.s:6 *ABS*:0000000000000000 __tmp_reg__ + /tmp/ccpcr8YL.s:7 *ABS*:0000000000000001 __zero_reg__ + /tmp/ccpcr8YL.s:19 .text.lock_timer_setup:0000000000000000 lock_timer_setup + /tmp/ccpcr8YL.s:46 .text.lock_timer_reset:0000000000000000 lock_timer_reset + /tmp/ccpcr8YL.s:691 .bss:0000000000000030 lock_timer_ticks + /tmp/ccpcr8YL.s:61 .text.EVENT_USB_Device_Connect:0000000000000000 EVENT_USB_Device_Connect + /tmp/ccpcr8YL.s:74 .text.EVENT_USB_Device_Disconnect:0000000000000000 EVENT_USB_Device_Disconnect + /tmp/ccpcr8YL.s:87 .text.__vector_15:0000000000000000 __vector_15 + /tmp/ccpcr8YL.s:136 .text.EVENT_USB_Device_ControlRequest:0000000000000000 EVENT_USB_Device_ControlRequest + /tmp/ccpcr8YL.s:672 .data:00000000000000c0 VirtualSerial_CDC_Interface + /tmp/ccpcr8YL.s:153 .text.EVENT_USB_Device_ConfigurationChanged:0000000000000000 EVENT_USB_Device_ConfigurationChanged + /tmp/ccpcr8YL.s:175 .text.CheckPinStatus:0000000000000000 CheckPinStatus + .bss:0000000000000000 ActionSent.3565 + /tmp/ccpcr8YL.s:686 .data:00000000000000d6 running + /tmp/ccpcr8YL.s:690 .bss:0000000000000022 USBSerialStream + /tmp/ccpcr8YL.s:259 .text.SetupHardware:0000000000000000 SetupHardware + /tmp/ccpcr8YL.s:336 .text.handle_command:0000000000000000 handle_command + /tmp/ccpcr8YL.s:478 .text.CheckACMStatus:0000000000000000 CheckACMStatus + /tmp/ccpcr8YL.s:688 .bss:0000000000000001 len.3545 + /tmp/ccpcr8YL.s:689 .bss:0000000000000002 buf.3544 + /tmp/ccpcr8YL.s:554 .text.main:0000000000000000 main + +UNDEFINED SYMBOLS +CDC_Device_ProcessControlRequest +CDC_Device_ConfigureEndpoints +fputs +USB_Init +strcmp +fputc +CDC_Device_ReceiveByte +CDC_Device_CreateStream +CDC_Device_USBTask +USB_USBTask +__do_copy_data +__do_clear_bss -- cgit v1.2.3