⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 boot5402.lst

📁 本系统提供54系列bootloader技术解决你的启动问题
💻 LST
📖 第 1 页 / 共 5 页
字号:
         00015e 0135+
     508 00015f 7181          mvdk    *ar1, temp2     ; temp2 <-- drr0 (DUMMY WORD)
         000160 006B 
     509 000161 F074          call    ser_in          ; call SP input sub
         000162 0135+
     510 000163 7181          mvdk    *ar1, temp3     ; temp3 <-- drr0 (DUMMY WORD)
         000164 006C 
     511              
     512 000165 F074          call    ser_in          ; call SP input sub
         000166 0135+
     513 000167 7181          mvdk    *ar1, xentry    ; xentry <-- drr0 (XPC of entry point)
         000168 0061 
     514              
     515 000169 F074          call    ser_in          ; call SP input sub
         00016a 0135+
TMS320C54x COFF Assembler         Version 3.50     Thu Feb 03 13:21:23 2000
Copyright (c) 1996-1999 Texas Instruments Incorporated
bootVC5402                                                           PAGE   13

     516 00016b 7181          mvdk    *ar1, entry     ; temp0 <-- drr0 (entry point)
         00016c 0062 
     517              
     518 00016d       SP16_in_1   
     519 00016d F074          call    ser_in          ; call SP input sub
         00016e 0135+
     520 00016f 1281          ldu     *ar1, a         ; acc A <-- drr0 (section size)
     521 000170 FA45          bcd     endboot,aeq     ; section size =0 indicate boot end
         000171 00C2+
     522 000172 F110          sub     #1,a,b          ; brc = section size - 1
         000173 0001 
     523 000174 891A          stlm    b, brc          ; update block repeat counter register
     524 000175 F074          call    ser_in          ; call SP input sub
         000176 0135+
     525 000177 7181          mvdk    *ar1, dest      ; xentry <-- drr0 (XPC of dest)
         000178 0066 
     526 000179 F074          call    ser_in          ; call SP input sub
         00017a 0135+
     527 00017b 1281          ldu     *ar1, a         ; acc A <-- destination addr
     528 00017c 3C66          add     @dest, 16, a    ;
     529 00017d F072          rptb    sfxr16_in-1
         00017e 0184+
     530 00017f F074          call   ser_in           ; call SP input sub
         000180 0135+
     531 000181 1381          ldu    *ar1, b          ; acc B <-- drr0 (input dada)
     532 000182 7F0B          writa  @BL              ; [acc A] <-- acc BL
     533 000183 F000          add    #1, a            ; increment dest add
         000184 0001 
     534 000185       sfxr16_in
     535 000185 F073          b      SP16_in_1        ; check next section
         000186 016D+
     536              
     537              *****************************************************************
     538              *                       8-bit mode input clk,frm                *
     539              *****************************************************************
     540 000187       DBsreadA
     541 000187 F074          call    ser_in          ; call SP input sub
         000188 0135+
     542 000189 6F81          ld      *ar1, 8, a      ; acc A <-- junkbyte.high byte
         00018a 0C48 
     543 00018b F030          and     #0ff00h, a      ; acc A <-- high.byte
         00018c FF00 
     544 00018d 8063          stl     a, @hbyte       ; save high byte
     545 00018e F074          call    ser_in          ; call SP input sub
         00018f 0135+
     546 000190 1281          ldu     *ar1, a         ; acc A <-- junkbyte.low byte
     547 000191 F030          and     #0ffh, a        ; acc A <-- low byte
         000192 00FF 
     548 000193 1A63          or      @hbyte, a       ; acc A <-- high byte.low byte
     549 000194 FC00          ret
     550              
     551 000195       SP_in_8
     552 000195 4881          ldm     *ar1, a         ; acc A <-- DRR
     553 000196 F010          sub     #0008h, a       ; acc A = 0008
         000197 0008 
TMS320C54x COFF Assembler         Version 3.50     Thu Feb 03 13:21:23 2000
Copyright (c) 1996-1999 Texas Instruments Incorporated
bootVC5402                                                           PAGE   14

     554 000198 FC44          rc      aneq
     555 000199 F074          call    ser_in          ; call SP input sub
         00019a 0135+
     556 00019b 4881          ldm     *ar1, a         ; acc A <-- DRR
     557 00019c F010          sub     #0AAh, a        ; acc A = 00aa
         00019d 00AA 
     558 00019e FC44          rc      aneq
     559                      
     560 00019f       ser_08
     561                                              ;The dummy words are read to maintain
     562                                              ; hex converter compatibility with
     563                                              ; the 548/549
     564              
     565 00019f F074          call    DBsreadA        ; call SP double read byte from DRR
         0001a0 0187+
     566 0001a1 8069          stl     a, @temp0       ; save DUMMY WORD value in temp0
     567 0001a2 F074          call    DBsreadA        ; call SP double read byte from DRR
         0001a3 0187+
     568 0001a4 806A          stl     a, @temp1       ; save DUMMY WORD value in temp1
     569 0001a5 F074          call    DBsreadA        ; call SP double read byte from DRR
         0001a6 0187+
     570 0001a7 806B          stl     a, @temp2       ; save DUMMY WORD value in temp2
     571 0001a8 F074          call    DBsreadA        ; call SP double read byte from DRR
         0001a9 0187+
     572 0001aa 806C          stl     a, @temp3       ; save DUMMY WORD value in temp3
     573              
     574 0001ab F074          call    DBsreadA        ; call SP double read byte from DRR
         0001ac 0187+
     575 0001ad 8061          stl     a, @xentry      ; save XPC entry point
     576              
     577 0001ae F074          call    DBsreadA        ; call SP double read byte from DRR
         0001af 0187+
     578 0001b0 8062          stl     a, @entry       ; save entry point
     579              
     580 0001b1 F074  SP08_1  call    DBsreadA        ; call SP double read byte from DRR
         0001b2 0187+
     581                                              ; read section size
     582 0001b3 FA45          bcd     endboot,aeq     ; section size =0 indicate boot end
         0001b4 00C2+
     583 0001b5 F110          sub     #1,a,b          ; brc = section size - 1
         0001b6 0001 
     584 0001b7 891A          stlm    b, brc          ; update block repeat counter register
     585 0001b8 F074          call    DBsreadA        ; call SP double read byte from DRR
         0001b9 0187+
     586                                              ; read XPC of destination address
     587 0001ba 8066          stl     a,@dest         ; XPC of destination
     588 0001bb F074          call    DBsreadA        ; call SP double read byte from DRR
         0001bc 0187+
     589                                              ; read destination address
     590 0001bd 3C66          add     @dest, 16, a    ;
     591 0001be F072          rptb    sfxr08-1
         0001bf 01CF+
     592 0001c0 F074          call    ser_in          ; call SP input sub
         0001c1 0135+
     593 0001c2 6F81          ld      *ar1, 8, b      ; acc B <-- junkbyte.high byte
TMS320C54x COFF Assembler         Version 3.50     Thu Feb 03 13:21:23 2000
Copyright (c) 1996-1999 Texas Instruments Incorporated
bootVC5402                                                           PAGE   15

         0001c3 0D48 
     594 0001c4 F330          and     #0ff00h, b      ; acc B <-- high.byte
         0001c5 FF00 
     595 0001c6 8163          stl     b, @hbyte       ; save high byte
     596 0001c7 F074          call    ser_in          ; call SP input sub
         0001c8 0135+
     597 0001c9 1381          ldu     *ar1, b         ; acc B <-- junkbyte.low byte
     598 0001ca F330          and     #0ffh, b        ; acc B <-- low byte
         0001cb 00FF 
     599 0001cc 1B63          or      @hbyte, b       ; acc B <-- high byte.low byte
     600 0001cd 7F0B          writa   @BL             ; [acc A] <-- acc BL
     601 0001ce F000          add     #1, a           ; increment dest add
         0001cf 0001 
     602 0001d0       sfxr08
     603 0001d0 F073          b       SP08_1          ; check next section
         0001d1 01B1+
     604              
     605              
     606              *************************************************************************
     607              *** SPIBOOT - This routine reads a boot-table from an SPI EEPROM through
     608              ***           McBSP1.                                        1/27/99 RDP
     609              *************************************************************************
     610 0001d2       SPIBOOT
     611              *** Initialize the McBSP1 for SPI mode. ******************************
     612 0001d2 7714          stm     SPSA1, ar4      ;AR4->SPSA1
         0001d3 0048 
     613 0001d4 7715          stm     dxr11-1, ar5    ;AR5->DXR21
         0001d5 0042 
     614 0001d6 E8F9          ld      #249, a         ;Bit-rate divisor (.4Mhz @100MIPs)
     615 0001d7 F7BD          ssbx    XF              ;Drive XF high - optional hold feature.
     616 0001d8 F074          call    SPI_INIT        ;Initialize McBSP.
         0001d9 0000!
     617              ***************************************************
     618              ***** Start reading EEPROM.                   *****
     619              ***************************************************
     620 0001da 7713          stm     #0, AR3         ;Init address to read from.
         0001db 0000 
     621 0001dc F074          call    SPI_READ        ;Read address 0.
         0001dd 0000!
     622 0001de F050          xor     #08h,a          ;Checking for boot-table (08AAh)
         0001df 0008 
     623 0001e0 F844          bc      parallel, aneq  ;If not 08h, no-go. Branch to parallel.
         0001e1 0031+
     624 0001e2 6D93          mar     *AR3+           ;increment address
     625 0001e3 F074          call    SPI_READ        ;Read address 1.
         0001e4 0000!
     626 0001e5 F050          xor     #0AAh,a         ;Checking for boot-table (08AAh)
         0001e6 00AA 
     627 0001e7 F844          bc      parallel, aneq  ;If not AAh, no-go. Branch to serial init.
         0001e8 0031+
     628              ***************************************************
     629              ***** If here then booting.************************
     630              ***** The next eight addresses are skipped    *****
     631              ***** to maintain hex converter compatibility *****
     632              ***** with the 548/549 serial boot-table      *****
TMS320C54x COFF Assembler         Version 3.50     Thu Feb 03 13:21:23 2000
Copyright (c) 1996-1999 Texas Instruments Incorporated
bootVC5402                                                           PAGE   16

     633              ***************************************************
     634 0001e9 7713          stm     #0ah, AR3       ;Init address to read from.
         0001ea 000A 
     635 0001eb F074          call    SPI_READ        ;Read address 0ah.
         0001ec 0000!
     636 0001ed 6F61          stl     a, 8, xentry    ;Store xentry high-byte.
         0001ee 0C88 
     637 0001ef 6D93          mar     *ar3+           ;increment address
     638 0001f0 F074          call    SPI_READ        ;Read address 0fh.
         0001f1 0000!
     639 0001f2 1A61          or      xentry, a       ;And xentry high-byte and low-byte.
     640 0001f3 8061          stl     a, xentry       ;Store XPC entry point.
     641              
     642 0001f4 6D93          mar     *ar3+           ;Increment address.
     643 0001f5 F074          call    SPI_READ        ;Read address 010h.
         0001f6 0000!
     644 0001f7 6F62          stl     a, 8, entry     ;Store entry high-byte.
         0001f8 0C88 
     645 0001f9 6D93          mar     *ar3+           ;increment address
     646 0001fa F074          call    SPI_READ        ;Read address 011h.
         0001fb 0000!
     647 0001fc 1A62          or      entry, a        ;And entry high-byte and low-byte.
     648 0001fd 8062          stl     a, entry        ;Store PC entry point.
     649 0001fe 6D93          mar     *ar3+           ;increment address        
     650              
     651 0001ff F074  SPISECT call    SPI_READ        ;Read address 0ch.
         000200 0000!
     652 000201 6F69          stl     a, 8, temp0     ;Store size high-byte.
         000202 0C88 
     653 000203 6D93          mar     *ar3+           ;Increment address.
     654 000204 F074          call    SPI_READ        ;Read address 0dh.
         000205 0000!
     655 000206 1A69          or      temp0, a        ;And size high-byte and low-byte.
     656 000207 F845          bc      SPIEND, aeq     ;If size = 0, done.
         000208 0234+

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -