1 ;-------------------------------------------------------- 2 ; File Created by SDCC : free open source ANSI-C Compiler 3 ; Version 4.2.0 #13081 (Linux) 4 ;-------------------------------------------------------- 5 .module board_specific 6 .optsdcc -mmcs51 --model-small 7 8 ;-------------------------------------------------------- 9 ; Public variables in this module 10 ;-------------------------------------------------------- 11 .globl _set_sleep_bits_PARM_2 12 .globl _init_board 13 .globl _write_both_9862s 14 .globl _write_9862 15 .globl _set_sleep_bits 16 .globl _la_trace_init 17 .globl _spi_write 18 .globl _init_spi 19 .globl _bitALTERA_DCLK 20 .globl _bitALTERA_DATA0 21 .globl _bitS_IN 22 .globl _bitS_OUT 23 .globl _bitS_CLK 24 .globl _EIPX6 25 .globl _EIPX5 26 .globl _EIPX4 27 .globl _PI2C 28 .globl _PUSB 29 .globl _EIEX6 30 .globl _EIEX5 31 .globl _EIEX4 32 .globl _EI2C 33 .globl _EIUSB 34 .globl _SMOD1 35 .globl _ERESI 36 .globl _RESI 37 .globl _INT6 38 .globl _CY 39 .globl _AC 40 .globl _F0 41 .globl _RS1 42 .globl _RS0 43 .globl _OV 44 .globl _FL 45 .globl _P 46 .globl _TF2 47 .globl _EXF2 48 .globl _RCLK 49 .globl _TCLK 50 .globl _EXEN2 51 .globl _TR2 52 .globl _C_T2 53 .globl _CP_RL2 54 .globl _SM01 55 .globl _SM11 56 .globl _SM21 57 .globl _REN1 58 .globl _TB81 59 .globl _RB81 60 .globl _TI1 61 .globl _RI1 62 .globl _PS1 63 .globl _PT2 64 .globl _PS0 65 .globl _PT1 66 .globl _PX1 67 .globl _PT0 68 .globl _PX0 69 .globl _EA 70 .globl _ES1 71 .globl _ET2 72 .globl _ES0 73 .globl _ET1 74 .globl _EX1 75 .globl _ET0 76 .globl _EX0 77 .globl _SM0 78 .globl _SM1 79 .globl _SM2 80 .globl _REN 81 .globl _TB8 82 .globl _RB8 83 .globl _TI 84 .globl _RI 85 .globl _TF1 86 .globl _TR1 87 .globl _TF0 88 .globl _TR0 89 .globl _IE1 90 .globl _IT1 91 .globl _IE0 92 .globl _IT0 93 .globl _SEL 94 .globl _EIP 95 .globl _B 96 .globl _EIE 97 .globl _ACC 98 .globl _EICON 99 .globl _PSW 100 .globl _TH2 101 .globl _TL2 102 .globl _RCAP2H 103 .globl _RCAP2L 104 .globl _T2CON 105 .globl _SBUF1 106 .globl _SCON1 107 .globl _GPIFSGLDATLNOX 108 .globl _GPIFSGLDATLX 109 .globl _GPIFSGLDATH 110 .globl _GPIFTRIG 111 .globl _EP01STAT 112 .globl _IP 113 .globl _OEE 114 .globl _OED 115 .globl _OEC 116 .globl _OEB 117 .globl _OEA 118 .globl _IOE 119 .globl _IOD 120 .globl _AUTOPTRSETUP 121 .globl _EP68FIFOFLGS 122 .globl _EP24FIFOFLGS 123 .globl _EP2468STAT 124 .globl _IE 125 .globl _INT4CLR 126 .globl _INT2CLR 127 .globl _IOC 128 .globl _AUTODAT2 129 .globl _AUTOPTRL2 130 .globl _AUTOPTRH2 131 .globl _AUTODAT1 132 .globl _APTR1L 133 .globl _APTR1H 134 .globl _SBUF0 135 .globl _SCON0 136 .globl _MPAGE 137 .globl _EXIF 138 .globl _IOB 139 .globl _CKCON 140 .globl _TH1 141 .globl _TH0 142 .globl _TL1 143 .globl _TL0 144 .globl _TMOD 145 .globl _TCON 146 .globl _PCON 147 .globl _DPS 148 .globl _DPH1 149 .globl _DPL1 150 .globl _DPH 151 .globl _DPL 152 .globl _SP 153 .globl _IOA 154 .globl _EP8FIFOBUF 155 .globl _EP6FIFOBUF 156 .globl _EP4FIFOBUF 157 .globl _EP2FIFOBUF 158 .globl _EP1INBUF 159 .globl _EP1OUTBUF 160 .globl _EP0BUF 161 .globl _CT4 162 .globl _CT3 163 .globl _CT2 164 .globl _CT1 165 .globl _USBTEST 166 .globl _TESTCFG 167 .globl _DBUG 168 .globl _UDMACRCQUAL 169 .globl _UDMACRCL 170 .globl _UDMACRCH 171 .globl _GPIFHOLDAMOUNT 172 .globl _FLOWSTBHPERIOD 173 .globl _FLOWSTBEDGE 174 .globl _FLOWSTB 175 .globl _FLOWHOLDOFF 176 .globl _FLOWEQ1CTL 177 .globl _FLOWEQ0CTL 178 .globl _FLOWLOGIC 179 .globl _FLOWSTATE 180 .globl _GPIFABORT 181 .globl _GPIFREADYSTAT 182 .globl _GPIFREADYCFG 183 .globl _XGPIFSGLDATLNOX 184 .globl _XGPIFSGLDATLX 185 .globl _XGPIFSGLDATH 186 .globl _EP8GPIFTRIG 187 .globl _EP8GPIFPFSTOP 188 .globl _EP8GPIFFLGSEL 189 .globl _EP6GPIFTRIG 190 .globl _EP6GPIFPFSTOP 191 .globl _EP6GPIFFLGSEL 192 .globl _EP4GPIFTRIG 193 .globl _EP4GPIFPFSTOP 194 .globl _EP4GPIFFLGSEL 195 .globl _EP2GPIFTRIG 196 .globl _EP2GPIFPFSTOP 197 .globl _EP2GPIFFLGSEL 198 .globl _GPIFTCB0 199 .globl _GPIFTCB1 200 .globl _GPIFTCB2 201 .globl _GPIFTCB3 202 .globl _GPIFADRL 203 .globl _GPIFADRH 204 .globl _GPIFCTLCFG 205 .globl _GPIFIDLECTL 206 .globl _GPIFIDLECS 207 .globl _GPIFWFSELECT 208 .globl _SETUPDAT 209 .globl _SUDPTRCTL 210 .globl _SUDPTRL 211 .globl _SUDPTRH 212 .globl _EP8FIFOBCL 213 .globl _EP8FIFOBCH 214 .globl _EP6FIFOBCL 215 .globl _EP6FIFOBCH 216 .globl _EP4FIFOBCL 217 .globl _EP4FIFOBCH 218 .globl _EP2FIFOBCL 219 .globl _EP2FIFOBCH 220 .globl _EP8FIFOFLGS 221 .globl _EP6FIFOFLGS 222 .globl _EP4FIFOFLGS 223 .globl _EP2FIFOFLGS 224 .globl _EP8CS 225 .globl _EP6CS 226 .globl _EP4CS 227 .globl _EP2CS 228 .globl _EP1INCS 229 .globl _EP1OUTCS 230 .globl _EP0CS 231 .globl _EP8BCL 232 .globl _EP8BCH 233 .globl _EP6BCL 234 .globl _EP6BCH 235 .globl _EP4BCL 236 .globl _EP4BCH 237 .globl _EP2BCL 238 .globl _EP2BCH 239 .globl _EP1INBC 240 .globl _EP1OUTBC 241 .globl _EP0BCL 242 .globl _EP0BCH 243 .globl _FNADDR 244 .globl _MICROFRAME 245 .globl _USBFRAMEL 246 .globl _USBFRAMEH 247 .globl _TOGCTL 248 .globl _WAKEUPCS 249 .globl _SUSPEND 250 .globl _USBCS 251 .globl _XAUTODAT2 252 .globl _XAUTODAT1 253 .globl _I2CTL 254 .globl _I2DAT 255 .globl _I2CS 256 .globl _PORTECFG 257 .globl _PORTCCFG 258 .globl _PORTACFG 259 .globl _INTSETUP 260 .globl _INT4IVEC 261 .globl _INT2IVEC 262 .globl _CLRERRCNT 263 .globl _ERRCNTLIM 264 .globl _USBERRIRQ 265 .globl _USBERRIE 266 .globl _GPIFIRQ 267 .globl _GPIFIE 268 .globl _EPIRQ 269 .globl _EPIE 270 .globl _USBIRQ 271 .globl _USBIE 272 .globl _NAKIRQ 273 .globl _NAKIE 274 .globl _IBNIRQ 275 .globl _IBNIE 276 .globl _EP8FIFOIRQ 277 .globl _EP8FIFOIE 278 .globl _EP6FIFOIRQ 279 .globl _EP6FIFOIE 280 .globl _EP4FIFOIRQ 281 .globl _EP4FIFOIE 282 .globl _EP2FIFOIRQ 283 .globl _EP2FIFOIE 284 .globl _OUTPKTEND 285 .globl _INPKTEND 286 .globl _EP8ISOINPKTS 287 .globl _EP6ISOINPKTS 288 .globl _EP4ISOINPKTS 289 .globl _EP2ISOINPKTS 290 .globl _EP8FIFOPFL 291 .globl _EP8FIFOPFH 292 .globl _EP6FIFOPFL 293 .globl _EP6FIFOPFH 294 .globl _EP4FIFOPFL 295 .globl _EP4FIFOPFH 296 .globl _EP2FIFOPFL 297 .globl _EP2FIFOPFH 298 .globl _EP8AUTOINLENL 299 .globl _EP8AUTOINLENH 300 .globl _EP6AUTOINLENL 301 .globl _EP6AUTOINLENH 302 .globl _EP4AUTOINLENL 303 .globl _EP4AUTOINLENH 304 .globl _EP2AUTOINLENL 305 .globl _EP2AUTOINLENH 306 .globl _EP8FIFOCFG 307 .globl _EP6FIFOCFG 308 .globl _EP4FIFOCFG 309 .globl _EP2FIFOCFG 310 .globl _EP8CFG 311 .globl _EP6CFG 312 .globl _EP4CFG 313 .globl _EP2CFG 314 .globl _EP1INCFG 315 .globl _EP1OUTCFG 316 .globl _REVCTL 317 .globl _REVID 318 .globl _FIFOPINPOLAR 319 .globl _UART230 320 .globl _BPADDRL 321 .globl _BPADDRH 322 .globl _BREAKPT 323 .globl _FIFORESET 324 .globl _PINFLAGSCD 325 .globl _PINFLAGSAB 326 .globl _IFCONFIG 327 .globl _CPUCS 328 .globl _RES_WAVEDATA_END 329 .globl _GPIF_WAVE_DATA 330 .globl _write_both_9862s_PARM_2 331 .globl _write_9862_PARM_3 332 .globl _write_9862_PARM_2 333 .globl _set_led_0 334 .globl _set_led_1 335 .globl _toggle_led_0 336 .globl _toggle_led_1 337 ;-------------------------------------------------------- 338 ; special function registers 339 ;-------------------------------------------------------- 340 .area RSEG (ABS,DATA) 000000 341 .org 0x0000 000080 342 _IOA = 0x0080 000081 343 _SP = 0x0081 000082 344 _DPL = 0x0082 000083 345 _DPH = 0x0083 000084 346 _DPL1 = 0x0084 000085 347 _DPH1 = 0x0085 000086 348 _DPS = 0x0086 000087 349 _PCON = 0x0087 000088 350 _TCON = 0x0088 000089 351 _TMOD = 0x0089 00008A 352 _TL0 = 0x008a 00008B 353 _TL1 = 0x008b 00008C 354 _TH0 = 0x008c 00008D 355 _TH1 = 0x008d 00008E 356 _CKCON = 0x008e 000090 357 _IOB = 0x0090 000091 358 _EXIF = 0x0091 000092 359 _MPAGE = 0x0092 000098 360 _SCON0 = 0x0098 000099 361 _SBUF0 = 0x0099 00009A 362 _APTR1H = 0x009a 00009B 363 _APTR1L = 0x009b 00009C 364 _AUTODAT1 = 0x009c 00009D 365 _AUTOPTRH2 = 0x009d 00009E 366 _AUTOPTRL2 = 0x009e 00009F 367 _AUTODAT2 = 0x009f 0000A0 368 _IOC = 0x00a0 0000A1 369 _INT2CLR = 0x00a1 0000A2 370 _INT4CLR = 0x00a2 0000A8 371 _IE = 0x00a8 0000AA 372 _EP2468STAT = 0x00aa 0000AB 373 _EP24FIFOFLGS = 0x00ab 0000AC 374 _EP68FIFOFLGS = 0x00ac 0000AF 375 _AUTOPTRSETUP = 0x00af 0000B0 376 _IOD = 0x00b0 0000B1 377 _IOE = 0x00b1 0000B2 378 _OEA = 0x00b2 0000B3 379 _OEB = 0x00b3 0000B4 380 _OEC = 0x00b4 0000B5 381 _OED = 0x00b5 0000B6 382 _OEE = 0x00b6 0000B8 383 _IP = 0x00b8 0000BA 384 _EP01STAT = 0x00ba 0000BB 385 _GPIFTRIG = 0x00bb 0000BD 386 _GPIFSGLDATH = 0x00bd 0000BE 387 _GPIFSGLDATLX = 0x00be 0000BF 388 _GPIFSGLDATLNOX = 0x00bf 0000C0 389 _SCON1 = 0x00c0 0000C1 390 _SBUF1 = 0x00c1 0000C8 391 _T2CON = 0x00c8 0000CA 392 _RCAP2L = 0x00ca 0000CB 393 _RCAP2H = 0x00cb 0000CC 394 _TL2 = 0x00cc 0000CD 395 _TH2 = 0x00cd 0000D0 396 _PSW = 0x00d0 0000D8 397 _EICON = 0x00d8 0000E0 398 _ACC = 0x00e0 0000E8 399 _EIE = 0x00e8 0000F0 400 _B = 0x00f0 0000F8 401 _EIP = 0x00f8 402 ;-------------------------------------------------------- 403 ; special function bits 404 ;-------------------------------------------------------- 405 .area RSEG (ABS,DATA) 000000 406 .org 0x0000 000086 407 _SEL = 0x0086 000088 408 _IT0 = 0x0088 000089 409 _IE0 = 0x0089 00008A 410 _IT1 = 0x008a 00008B 411 _IE1 = 0x008b 00008C 412 _TR0 = 0x008c 00008D 413 _TF0 = 0x008d 00008E 414 _TR1 = 0x008e 00008F 415 _TF1 = 0x008f 000098 416 _RI = 0x0098 000099 417 _TI = 0x0099 00009A 418 _RB8 = 0x009a 00009B 419 _TB8 = 0x009b 00009C 420 _REN = 0x009c 00009D 421 _SM2 = 0x009d 00009E 422 _SM1 = 0x009e 00009F 423 _SM0 = 0x009f 0000A8 424 _EX0 = 0x00a8 0000A9 425 _ET0 = 0x00a9 0000AA 426 _EX1 = 0x00aa 0000AB 427 _ET1 = 0x00ab 0000AC 428 _ES0 = 0x00ac 0000AD 429 _ET2 = 0x00ad 0000AE 430 _ES1 = 0x00ae 0000AF 431 _EA = 0x00af 0000B8 432 _PX0 = 0x00b8 0000B9 433 _PT0 = 0x00b9 0000BA 434 _PX1 = 0x00ba 0000BB 435 _PT1 = 0x00bb 0000BC 436 _PS0 = 0x00bc 0000BD 437 _PT2 = 0x00bd 0000BE 438 _PS1 = 0x00be 0000C0 439 _RI1 = 0x00c0 0000C1 440 _TI1 = 0x00c1 0000C2 441 _RB81 = 0x00c2 0000C3 442 _TB81 = 0x00c3 0000C4 443 _REN1 = 0x00c4 0000C5 444 _SM21 = 0x00c5 0000C6 445 _SM11 = 0x00c6 0000C7 446 _SM01 = 0x00c7 0000C8 447 _CP_RL2 = 0x00c8 0000C9 448 _C_T2 = 0x00c9 0000CA 449 _TR2 = 0x00ca 0000CB 450 _EXEN2 = 0x00cb 0000CC 451 _TCLK = 0x00cc 0000CD 452 _RCLK = 0x00cd 0000CE 453 _EXF2 = 0x00ce 0000CF 454 _TF2 = 0x00cf 0000D0 455 _P = 0x00d0 0000D1 456 _FL = 0x00d1 0000D2 457 _OV = 0x00d2 0000D3 458 _RS0 = 0x00d3 0000D4 459 _RS1 = 0x00d4 0000D5 460 _F0 = 0x00d5 0000D6 461 _AC = 0x00d6 0000D7 462 _CY = 0x00d7 0000DB 463 _INT6 = 0x00db 0000DC 464 _RESI = 0x00dc 0000DD 465 _ERESI = 0x00dd 0000DF 466 _SMOD1 = 0x00df 0000E8 467 _EIUSB = 0x00e8 0000E9 468 _EI2C = 0x00e9 0000EA 469 _EIEX4 = 0x00ea 0000EB 470 _EIEX5 = 0x00eb 0000EC 471 _EIEX6 = 0x00ec 0000F8 472 _PUSB = 0x00f8 0000F9 473 _PI2C = 0x00f9 0000FA 474 _EIPX4 = 0x00fa 0000FB 475 _EIPX5 = 0x00fb 0000FC 476 _EIPX6 = 0x00fc 000080 477 _bitS_CLK = 0x0080 000081 478 _bitS_OUT = 0x0081 000082 479 _bitS_IN = 0x0082 0000A1 480 _bitALTERA_DATA0 = 0x00a1 0000A3 481 _bitALTERA_DCLK = 0x00a3 482 ;-------------------------------------------------------- 483 ; overlayable register banks 484 ;-------------------------------------------------------- 485 .area REG_BANK_0 (REL,OVR,DATA) 000000 486 .ds 8 487 ;-------------------------------------------------------- 488 ; internal ram data 489 ;-------------------------------------------------------- 490 .area DSEG (DATA) 00000D 491 _write_9862_PARM_2: 00000D 492 .ds 1 00000E 493 _write_9862_PARM_3: 00000E 494 .ds 1 00000F 495 _write_both_9862s_PARM_2: 00000F 496 .ds 1 497 ;-------------------------------------------------------- 498 ; overlayable items in internal ram 499 ;-------------------------------------------------------- 500 .area OSEG (OVR,DATA) 501 .area OSEG (OVR,DATA) 502 .area OSEG (OVR,DATA) 00001B 503 _set_sleep_bits_PARM_2: 00001B 504 .ds 1 505 ;-------------------------------------------------------- 506 ; indirectly addressable internal ram data 507 ;-------------------------------------------------------- 508 .area ISEG (DATA) 509 ;-------------------------------------------------------- 510 ; absolute internal ram data 511 ;-------------------------------------------------------- 512 .area IABS (ABS,DATA) 513 .area IABS (ABS,DATA) 514 ;-------------------------------------------------------- 515 ; bit data 516 ;-------------------------------------------------------- 517 .area BSEG (BIT) 518 ;-------------------------------------------------------- 519 ; paged external ram data 520 ;-------------------------------------------------------- 521 .area PSEG (PAG,XDATA) 522 ;-------------------------------------------------------- 523 ; external ram data 524 ;-------------------------------------------------------- 525 .area XSEG (XDATA) 00E400 526 _GPIF_WAVE_DATA = 0xe400 00E480 527 _RES_WAVEDATA_END = 0xe480 00E600 528 _CPUCS = 0xe600 00E601 529 _IFCONFIG = 0xe601 00E602 530 _PINFLAGSAB = 0xe602 00E603 531 _PINFLAGSCD = 0xe603 00E604 532 _FIFORESET = 0xe604 00E605 533 _BREAKPT = 0xe605 00E606 534 _BPADDRH = 0xe606 00E607 535 _BPADDRL = 0xe607 00E608 536 _UART230 = 0xe608 00E609 537 _FIFOPINPOLAR = 0xe609 00E60A 538 _REVID = 0xe60a 00E60B 539 _REVCTL = 0xe60b 00E610 540 _EP1OUTCFG = 0xe610 00E611 541 _EP1INCFG = 0xe611 00E612 542 _EP2CFG = 0xe612 00E613 543 _EP4CFG = 0xe613 00E614 544 _EP6CFG = 0xe614 00E615 545 _EP8CFG = 0xe615 00E618 546 _EP2FIFOCFG = 0xe618 00E619 547 _EP4FIFOCFG = 0xe619 00E61A 548 _EP6FIFOCFG = 0xe61a 00E61B 549 _EP8FIFOCFG = 0xe61b 00E620 550 _EP2AUTOINLENH = 0xe620 00E621 551 _EP2AUTOINLENL = 0xe621 00E622 552 _EP4AUTOINLENH = 0xe622 00E623 553 _EP4AUTOINLENL = 0xe623 00E624 554 _EP6AUTOINLENH = 0xe624 00E625 555 _EP6AUTOINLENL = 0xe625 00E626 556 _EP8AUTOINLENH = 0xe626 00E627 557 _EP8AUTOINLENL = 0xe627 00E630 558 _EP2FIFOPFH = 0xe630 00E631 559 _EP2FIFOPFL = 0xe631 00E632 560 _EP4FIFOPFH = 0xe632 00E633 561 _EP4FIFOPFL = 0xe633 00E634 562 _EP6FIFOPFH = 0xe634 00E635 563 _EP6FIFOPFL = 0xe635 00E636 564 _EP8FIFOPFH = 0xe636 00E637 565 _EP8FIFOPFL = 0xe637 00E640 566 _EP2ISOINPKTS = 0xe640 00E641 567 _EP4ISOINPKTS = 0xe641 00E642 568 _EP6ISOINPKTS = 0xe642 00E643 569 _EP8ISOINPKTS = 0xe643 00E648 570 _INPKTEND = 0xe648 00E649 571 _OUTPKTEND = 0xe649 00E650 572 _EP2FIFOIE = 0xe650 00E651 573 _EP2FIFOIRQ = 0xe651 00E652 574 _EP4FIFOIE = 0xe652 00E653 575 _EP4FIFOIRQ = 0xe653 00E654 576 _EP6FIFOIE = 0xe654 00E655 577 _EP6FIFOIRQ = 0xe655 00E656 578 _EP8FIFOIE = 0xe656 00E657 579 _EP8FIFOIRQ = 0xe657 00E658 580 _IBNIE = 0xe658 00E659 581 _IBNIRQ = 0xe659 00E65A 582 _NAKIE = 0xe65a 00E65B 583 _NAKIRQ = 0xe65b 00E65C 584 _USBIE = 0xe65c 00E65D 585 _USBIRQ = 0xe65d 00E65E 586 _EPIE = 0xe65e 00E65F 587 _EPIRQ = 0xe65f 00E660 588 _GPIFIE = 0xe660 00E661 589 _GPIFIRQ = 0xe661 00E662 590 _USBERRIE = 0xe662 00E663 591 _USBERRIRQ = 0xe663 00E664 592 _ERRCNTLIM = 0xe664 00E665 593 _CLRERRCNT = 0xe665 00E666 594 _INT2IVEC = 0xe666 00E667 595 _INT4IVEC = 0xe667 00E668 596 _INTSETUP = 0xe668 00E670 597 _PORTACFG = 0xe670 00E671 598 _PORTCCFG = 0xe671 00E672 599 _PORTECFG = 0xe672 00E678 600 _I2CS = 0xe678 00E679 601 _I2DAT = 0xe679 00E67A 602 _I2CTL = 0xe67a 00E67B 603 _XAUTODAT1 = 0xe67b 00E67C 604 _XAUTODAT2 = 0xe67c 00E680 605 _USBCS = 0xe680 00E681 606 _SUSPEND = 0xe681 00E682 607 _WAKEUPCS = 0xe682 00E683 608 _TOGCTL = 0xe683 00E684 609 _USBFRAMEH = 0xe684 00E685 610 _USBFRAMEL = 0xe685 00E686 611 _MICROFRAME = 0xe686 00E687 612 _FNADDR = 0xe687 00E68A 613 _EP0BCH = 0xe68a 00E68B 614 _EP0BCL = 0xe68b 00E68D 615 _EP1OUTBC = 0xe68d 00E68F 616 _EP1INBC = 0xe68f 00E690 617 _EP2BCH = 0xe690 00E691 618 _EP2BCL = 0xe691 00E694 619 _EP4BCH = 0xe694 00E695 620 _EP4BCL = 0xe695 00E698 621 _EP6BCH = 0xe698 00E699 622 _EP6BCL = 0xe699 00E69C 623 _EP8BCH = 0xe69c 00E69D 624 _EP8BCL = 0xe69d 00E6A0 625 _EP0CS = 0xe6a0 00E6A1 626 _EP1OUTCS = 0xe6a1 00E6A2 627 _EP1INCS = 0xe6a2 00E6A3 628 _EP2CS = 0xe6a3 00E6A4 629 _EP4CS = 0xe6a4 00E6A5 630 _EP6CS = 0xe6a5 00E6A6 631 _EP8CS = 0xe6a6 00E6A7 632 _EP2FIFOFLGS = 0xe6a7 00E6A8 633 _EP4FIFOFLGS = 0xe6a8 00E6A9 634 _EP6FIFOFLGS = 0xe6a9 00E6AA 635 _EP8FIFOFLGS = 0xe6aa 00E6AB 636 _EP2FIFOBCH = 0xe6ab 00E6AC 637 _EP2FIFOBCL = 0xe6ac 00E6AD 638 _EP4FIFOBCH = 0xe6ad 00E6AE 639 _EP4FIFOBCL = 0xe6ae 00E6AF 640 _EP6FIFOBCH = 0xe6af 00E6B0 641 _EP6FIFOBCL = 0xe6b0 00E6B1 642 _EP8FIFOBCH = 0xe6b1 00E6B2 643 _EP8FIFOBCL = 0xe6b2 00E6B3 644 _SUDPTRH = 0xe6b3 00E6B4 645 _SUDPTRL = 0xe6b4 00E6B5 646 _SUDPTRCTL = 0xe6b5 00E6B8 647 _SETUPDAT = 0xe6b8 00E6C0 648 _GPIFWFSELECT = 0xe6c0 00E6C1 649 _GPIFIDLECS = 0xe6c1 00E6C2 650 _GPIFIDLECTL = 0xe6c2 00E6C3 651 _GPIFCTLCFG = 0xe6c3 00E6C4 652 _GPIFADRH = 0xe6c4 00E6C5 653 _GPIFADRL = 0xe6c5 00E6CE 654 _GPIFTCB3 = 0xe6ce 00E6CF 655 _GPIFTCB2 = 0xe6cf 00E6D0 656 _GPIFTCB1 = 0xe6d0 00E6D1 657 _GPIFTCB0 = 0xe6d1 00E6D2 658 _EP2GPIFFLGSEL = 0xe6d2 00E6D3 659 _EP2GPIFPFSTOP = 0xe6d3 00E6D4 660 _EP2GPIFTRIG = 0xe6d4 00E6DA 661 _EP4GPIFFLGSEL = 0xe6da 00E6DB 662 _EP4GPIFPFSTOP = 0xe6db 00E6DC 663 _EP4GPIFTRIG = 0xe6dc 00E6E2 664 _EP6GPIFFLGSEL = 0xe6e2 00E6E3 665 _EP6GPIFPFSTOP = 0xe6e3 00E6E4 666 _EP6GPIFTRIG = 0xe6e4 00E6EA 667 _EP8GPIFFLGSEL = 0xe6ea 00E6EB 668 _EP8GPIFPFSTOP = 0xe6eb 00E6EC 669 _EP8GPIFTRIG = 0xe6ec 00E6F0 670 _XGPIFSGLDATH = 0xe6f0 00E6F1 671 _XGPIFSGLDATLX = 0xe6f1 00E6F2 672 _XGPIFSGLDATLNOX = 0xe6f2 00E6F3 673 _GPIFREADYCFG = 0xe6f3 00E6F4 674 _GPIFREADYSTAT = 0xe6f4 00E6F5 675 _GPIFABORT = 0xe6f5 00E6C6 676 _FLOWSTATE = 0xe6c6 00E6C7 677 _FLOWLOGIC = 0xe6c7 00E6C8 678 _FLOWEQ0CTL = 0xe6c8 00E6C9 679 _FLOWEQ1CTL = 0xe6c9 00E6CA 680 _FLOWHOLDOFF = 0xe6ca 00E6CB 681 _FLOWSTB = 0xe6cb 00E6CC 682 _FLOWSTBEDGE = 0xe6cc 00E6CD 683 _FLOWSTBHPERIOD = 0xe6cd 00E60C 684 _GPIFHOLDAMOUNT = 0xe60c 00E67D 685 _UDMACRCH = 0xe67d 00E67E 686 _UDMACRCL = 0xe67e 00E67F 687 _UDMACRCQUAL = 0xe67f 00E6F8 688 _DBUG = 0xe6f8 00E6F9 689 _TESTCFG = 0xe6f9 00E6FA 690 _USBTEST = 0xe6fa 00E6FB 691 _CT1 = 0xe6fb 00E6FC 692 _CT2 = 0xe6fc 00E6FD 693 _CT3 = 0xe6fd 00E6FE 694 _CT4 = 0xe6fe 00E740 695 _EP0BUF = 0xe740 00E780 696 _EP1OUTBUF = 0xe780 00E7C0 697 _EP1INBUF = 0xe7c0 00F000 698 _EP2FIFOBUF = 0xf000 00F400 699 _EP4FIFOBUF = 0xf400 00F800 700 _EP6FIFOBUF = 0xf800 00FC00 701 _EP8FIFOBUF = 0xfc00 001809 702 _xbuf: 001809 703 .ds 1 704 ;-------------------------------------------------------- 705 ; absolute external ram data 706 ;-------------------------------------------------------- 707 .area XABS (ABS,XDATA) 708 ;-------------------------------------------------------- 709 ; external initialized ram data 710 ;-------------------------------------------------------- 711 .area HOME (CODE) 712 .area GSINIT0 (CODE) 713 .area GSINIT1 (CODE) 714 .area GSINIT2 (CODE) 715 .area GSINIT3 (CODE) 716 .area GSINIT4 (CODE) 717 .area GSINIT5 (CODE) 718 .area GSINIT (CODE) 719 .area GSFINAL (CODE) 720 .area CSEG (CODE) 721 ;-------------------------------------------------------- 722 ; global & static initialisations 723 ;-------------------------------------------------------- 724 .area HOME (CODE) 725 .area GSINIT (CODE) 726 .area GSFINAL (CODE) 727 .area GSINIT (CODE) 728 ;-------------------------------------------------------- 729 ; Home 730 ;-------------------------------------------------------- 731 .area HOME (CODE) 732 .area HOME (CODE) 733 ;-------------------------------------------------------- 734 ; code 735 ;-------------------------------------------------------- 736 .area CSEG (CODE) 737 ;------------------------------------------------------------ 738 ;Allocation info for local variables in function 'set_led_0' 739 ;------------------------------------------------------------ 740 ;on Allocated to registers r7 741 ;------------------------------------------------------------ 742 ; board_specific.c:27: set_led_0 (unsigned char on) 743 ; ----------------------------------------- 744 ; function set_led_0 745 ; ----------------------------------------- 0005E1 746 _set_led_0: 000007 747 ar7 = 0x07 000006 748 ar6 = 0x06 000005 749 ar5 = 0x05 000004 750 ar4 = 0x04 000003 751 ar3 = 0x03 000002 752 ar2 = 0x02 000001 753 ar1 = 0x01 000000 754 ar0 = 0x00 755 ; board_specific.c:29: if (!on) // active low 0005E1 E5 82 [12] 756 mov a,dpl 0005E3 70 04 [24] 757 jnz 00102$ 758 ; board_specific.c:30: USRP_PC |= bmPC_LED0; 0005E5 43 A0 40 [24] 759 orl _IOC,#0x40 0005E8 22 [24] 760 ret 0005E9 761 00102$: 762 ; board_specific.c:32: USRP_PC &= ~bmPC_LED0; 0005E9 53 A0 BF [24] 763 anl _IOC,#0xbf 764 ; board_specific.c:33: } 0005EC 22 [24] 765 ret 766 ;------------------------------------------------------------ 767 ;Allocation info for local variables in function 'set_led_1' 768 ;------------------------------------------------------------ 769 ;on Allocated to registers r7 770 ;------------------------------------------------------------ 771 ; board_specific.c:36: set_led_1 (unsigned char on) 772 ; ----------------------------------------- 773 ; function set_led_1 774 ; ----------------------------------------- 0005ED 775 _set_led_1: 776 ; board_specific.c:38: if (!on) // active low 0005ED E5 82 [12] 777 mov a,dpl 0005EF 70 04 [24] 778 jnz 00102$ 779 ; board_specific.c:39: USRP_PC |= bmPC_LED1; 0005F1 43 A0 80 [24] 780 orl _IOC,#0x80 0005F4 22 [24] 781 ret 0005F5 782 00102$: 783 ; board_specific.c:41: USRP_PC &= ~bmPC_LED1; 0005F5 53 A0 7F [24] 784 anl _IOC,#0x7f 785 ; board_specific.c:42: } 0005F8 22 [24] 786 ret 787 ;------------------------------------------------------------ 788 ;Allocation info for local variables in function 'toggle_led_0' 789 ;------------------------------------------------------------ 790 ; board_specific.c:45: toggle_led_0 (void) 791 ; ----------------------------------------- 792 ; function toggle_led_0 793 ; ----------------------------------------- 0005F9 794 _toggle_led_0: 795 ; board_specific.c:47: USRP_PC ^= bmPC_LED0; 0005F9 63 A0 40 [24] 796 xrl _IOC,#0x40 797 ; board_specific.c:48: } 0005FC 22 [24] 798 ret 799 ;------------------------------------------------------------ 800 ;Allocation info for local variables in function 'toggle_led_1' 801 ;------------------------------------------------------------ 802 ; board_specific.c:51: toggle_led_1 (void) 803 ; ----------------------------------------- 804 ; function toggle_led_1 805 ; ----------------------------------------- 0005FD 806 _toggle_led_1: 807 ; board_specific.c:53: USRP_PC ^= bmPC_LED1; 0005FD 63 A0 80 [24] 808 xrl _IOC,#0x80 809 ; board_specific.c:54: } 000600 22 [24] 810 ret 811 ;------------------------------------------------------------ 812 ;Allocation info for local variables in function 'la_trace_init' 813 ;------------------------------------------------------------ 814 ; board_specific.c:57: la_trace_init (void) 815 ; ----------------------------------------- 816 ; function la_trace_init 817 ; ----------------------------------------- 000601 818 _la_trace_init: 819 ; board_specific.c:59: } 000601 22 [24] 820 ret 821 ;------------------------------------------------------------ 822 ;Allocation info for local variables in function 'set_sleep_bits' 823 ;------------------------------------------------------------ 824 ;mask Allocated with name '_set_sleep_bits_PARM_2' 825 ;bits Allocated to registers 826 ;------------------------------------------------------------ 827 ; board_specific.c:62: set_sleep_bits (unsigned char bits, unsigned char mask) 828 ; ----------------------------------------- 829 ; function set_sleep_bits 830 ; ----------------------------------------- 000602 831 _set_sleep_bits: 832 ; board_specific.c:65: } 000602 22 [24] 833 ret 834 ;------------------------------------------------------------ 835 ;Allocation info for local variables in function 'write_9862' 836 ;------------------------------------------------------------ 837 ;regno Allocated with name '_write_9862_PARM_2' 838 ;value Allocated with name '_write_9862_PARM_3' 839 ;which Allocated to registers r7 840 ;------------------------------------------------------------ 841 ; board_specific.c:70: write_9862 (unsigned char which, unsigned char regno, unsigned char value) 842 ; ----------------------------------------- 843 ; function write_9862 844 ; ----------------------------------------- 000603 845 _write_9862: 000603 AF 82 [24] 846 mov r7,dpl 847 ; board_specific.c:72: xbuf[0] = value; 000605 90 18 09 [24] 848 mov dptr,#_xbuf 000608 E5 0E [12] 849 mov a,_write_9862_PARM_3 00060A F0 [24] 850 movx @dptr,a 851 ; board_specific.c:74: spi_write (0, regno & 0x3f, 00060B E5 0D [12] 852 mov a,_write_9862_PARM_2 00060D 54 3F [12] 853 anl a,#0x3f 00060F FE [12] 854 mov r6,a 855 ; board_specific.c:75: which == 0 ? SPI_ENABLE_CODEC_A : SPI_ENABLE_CODEC_B, 000610 EF [12] 856 mov a,r7 000611 70 05 [24] 857 jnz 00103$ 000613 7D 02 [12] 858 mov r5,#0x02 000615 FF [12] 859 mov r7,a 000616 80 04 [24] 860 sjmp 00104$ 000618 861 00103$: 000618 7D 04 [12] 862 mov r5,#0x04 00061A 7F 00 [12] 863 mov r7,#0x00 00061C 864 00104$: 00061C 8D 29 [24] 865 mov _spi_write_PARM_3,r5 866 ; board_specific.c:77: xbuf, 1); 00061E 8E 28 [24] 867 mov _spi_write_PARM_2,r6 000620 75 2A 20 [24] 868 mov _spi_write_PARM_4,#0x20 000623 75 2B 09 [24] 869 mov _spi_write_PARM_5,#_xbuf 000626 75 2C 18 [24] 870 mov (_spi_write_PARM_5 + 1),#(_xbuf >> 8) 000629 75 2D 01 [24] 871 mov _spi_write_PARM_6,#0x01 00062C 75 82 00 [24] 872 mov dpl,#0x00 873 ; board_specific.c:78: } 00062F 02 08 E0 [24] 874 ljmp _spi_write 875 ;------------------------------------------------------------ 876 ;Allocation info for local variables in function 'write_both_9862s' 877 ;------------------------------------------------------------ 878 ;value Allocated with name '_write_both_9862s_PARM_2' 879 ;regno Allocated to registers r7 880 ;------------------------------------------------------------ 881 ; board_specific.c:81: write_both_9862s (unsigned char regno, unsigned char value) 882 ; ----------------------------------------- 883 ; function write_both_9862s 884 ; ----------------------------------------- 000632 885 _write_both_9862s: 000632 AF 82 [24] 886 mov r7,dpl 887 ; board_specific.c:83: xbuf[0] = value; 000634 90 18 09 [24] 888 mov dptr,#_xbuf 000637 E5 0F [12] 889 mov a,_write_both_9862s_PARM_2 000639 F0 [24] 890 movx @dptr,a 891 ; board_specific.c:85: spi_write (0, regno & 0x3f, 00063A 74 3F [12] 892 mov a,#0x3f 00063C 5F [12] 893 anl a,r7 00063D F5 28 [12] 894 mov _spi_write_PARM_2,a 895 ; board_specific.c:88: xbuf, 1); 00063F 75 29 06 [24] 896 mov _spi_write_PARM_3,#0x06 000642 75 2A 20 [24] 897 mov _spi_write_PARM_4,#0x20 000645 75 2B 09 [24] 898 mov _spi_write_PARM_5,#_xbuf 000648 75 2C 18 [24] 899 mov (_spi_write_PARM_5 + 1),#(_xbuf >> 8) 00064B 75 2D 01 [24] 900 mov _spi_write_PARM_6,#0x01 00064E 75 82 00 [24] 901 mov dpl,#0x00 902 ; board_specific.c:89: } 000651 02 08 E0 [24] 903 ljmp _spi_write 904 ;------------------------------------------------------------ 905 ;Allocation info for local variables in function 'power_down_9862s' 906 ;------------------------------------------------------------ 907 ; board_specific.c:96: power_down_9862s (void) 908 ; ----------------------------------------- 909 ; function power_down_9862s 910 ; ----------------------------------------- 000654 911 _power_down_9862s: 912 ; board_specific.c:98: write_both_9862s (REG_RX_PWR_DN, 0x01); 000654 75 0F 01 [24] 913 mov _write_both_9862s_PARM_2,#0x01 000657 75 82 01 [24] 914 mov dpl,#0x01 00065A 12 06 32 [24] 915 lcall _write_both_9862s 916 ; board_specific.c:99: write_both_9862s (REG_TX_PWR_DN, 0x0f); // pwr dn digital and analog_both 00065D 75 0F 0F [24] 917 mov _write_both_9862s_PARM_2,#0x0f 000660 75 82 08 [24] 918 mov dpl,#0x08 000663 12 06 32 [24] 919 lcall _write_both_9862s 920 ; board_specific.c:100: write_both_9862s (REG_TX_MODULATOR, 0x00); // coarse & fine modulators disabled 000666 75 0F 00 [24] 921 mov _write_both_9862s_PARM_2,#0x00 000669 75 82 14 [24] 922 mov dpl,#0x14 923 ; board_specific.c:101: } 00066C 02 06 32 [24] 924 ljmp _write_both_9862s 925 ;------------------------------------------------------------ 926 ;Allocation info for local variables in function 'init_board' 927 ;------------------------------------------------------------ 928 ; board_specific.c:104: init_board (void) 929 ; ----------------------------------------- 930 ; function init_board 931 ; ----------------------------------------- 00066F 932 _init_board: 933 ; board_specific.c:106: la_trace_init (); 00066F 12 06 01 [24] 934 lcall _la_trace_init 935 ; board_specific.c:107: init_spi (); 000672 12 08 35 [24] 936 lcall _init_spi 937 ; board_specific.c:109: USRP_PC &= ~bmPC_nRESET; // active low reset 000675 53 A0 FE [24] 938 anl _IOC,#0xfe 939 ; board_specific.c:110: USRP_PC |= bmPC_nRESET; 000678 43 A0 01 [24] 940 orl _IOC,#0x01 941 ; board_specific.c:112: power_down_9862s (); 942 ; board_specific.c:113: } 00067B 02 06 54 [24] 943 ljmp _power_down_9862s 944 .area CSEG (CODE) 945 .area CONST (CODE) 946 .area CABS (ABS,CODE)