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

📄 kernel.lst

📁 TMS320LF2401A串口烧写程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
         0020 0042' 
      94 0021 7a80                  CALL    RUN_ALGO
         0022 0074' 
      95            ;==============================================================================
      96                            ;Load & Execute PROG
      97 0023 7a80  M02             CALL    XFER_SCI_2_PROG
         0024 0042' 
      98            
      99 0025 7a80  M03             CALL    FETCH_HEADER            ;Get info on Data block
         0026 0039' 
     100 0027 1008-                 LACC    dest_addr
     101 0028 9009-                 SACL    PRG_paddr               ;Pass Flash dest addr
     102 0029 1007-                 LACC    length
     103 002a b801                  ADD     #01h                    ;adjust for actual length
     104 002b 900a-                 SACL    PRG_length              ;Pass Data block length
     105 002c ae0b-                 SPLK    #BUF_SADDR, PRG_bufaddr ;Pass Data buffer start addr
         002d 0328  
     106            
     107 002e 7a80  M04             CALL    XFER_SCI_2_DATA         ;Transfer Data block to B1
         002f 0050' 
     108 0030 7a80                  CALL    RUN_ALGO
         0031 0074' 
     109            ;==============================================================================
     110 0032 7a80                  CALL    FETCH_SCI_WORD          ;Check if more blocks to come.
         0033 005b' 
     111 0034 1006-                 LACC    data_buf                ;If non-zero, then loop
     112 0035 e308                  BCND    M03, NEQ                ;If zero then finish up.
         0036 0025' 
     113            
     114 0037 7980  DEND            B       DEND                    ;
         0038 0037' 
     115            ;===========================================================================
     116            ; Routine Name: F E T C H _ H E A D E R        Routine Type: SR
     117            ;===========================================================================
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00  Wed Apr 17 14:46:06 2002
Copyright (c) 1987-1999  Texas Instruments Incorporated 
kernel.ASM                                                           PAGE    4

     118 0039 7a80  FETCH_HEADER:   CALL    FETCH_SCI_WORD
         003a 005b' 
     119 003b 1006-                 LACC    data_buf
     120 003c 9008-                 SACL    dest_addr
     121 003d 7a80                  CALL    FETCH_SCI_WORD
         003e 005b' 
     122 003f 1006-                 LACC    data_buf
     123 0040 9007-                 SACL    length
     124 0041 ef00                  RET
     125            
     126            ;===========================================================================
     127            ; Routine Name: X F E R _ S C I _ 2 _ P R O G          Routine Type: SR
     128            ;===========================================================================
     129 0042 be45  XFER_SCI_2_PROG:SETC    CNF
     130 0043 7a80                  CALL    FETCH_HEADER
         0044 0039' 
     131 0045 8b88                  MAR     *, AR0
     132 0046 0007-                 LAR     AR0, length
     133 0047 bf80                  LACC    #ALGO_START             ;ACC=dest address
         0048 fe00  
     134            
     135 0049 7a80  XSP0            CALL    FETCH_SCI_WORD
         004a 005b' 
     136 004b a706-                 TBLW    data_buf                ;data_buff-->[ACC]
     137 004c b801                  ADD     #01h                    ;ACC++
     138 004d 7b90                  BANZ    XSP0                    ;loop "length" times
         004e 0049' 
     139 004f ef00                  RET
     140                            
     141            ;===========================================================================
     142            ; Routine Name: X F E R _ S C I _ 2 _ D A T A          Routine Type: SR
     143            ;===========================================================================
     144 0050       XFER_SCI_2_DATA:
     145 0050 8b89                  MAR     *, AR1
     146 0051 0007-                 LAR     AR0, length             ;AR0 is loop counter
     147 0052 bf09                  LAR     AR1, #BUF_SADDR         ;Dest --> B1 RAM
         0053 0328  
     148            
     149 0054 7a80  XSD0            CALL    FETCH_SCI_WORD
         0055 005b' 
     150 0056 1006-                 LACC    data_buf
     151 0057 90a8                  SACL    *+, AR0
     152 0058 7b99                  BANZ    XSD0, AR1
         0059 0054' 
     153 005a ef00                  RET
     154            
     155            ;===========================================================================
     156            ; Routine Name: F E T C H _ S C I _ W O R D            Routine Type: SR
     157            ;
     158            ; Description: Version which expects Lo byte / Hi byte sequence from Host &
     159            ;              also echos byte
     160            ;===========================================================================
     161 005b       FETCH_SCI_WORD: POINT_B1
1        005b bc06                  LDP     #06h
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00  Wed Apr 17 14:46:06 2002
Copyright (c) 1987-1999  Texas Instruments Incorporated 
kernel.ASM                                                           PAGE    5

     162 005c 9004-                 SACL    stk0
     163 005d bce0                  LDP     #SCIRXST>>7
     164 005e 4955  FSW0            BIT   SCIRXST,BIT6              ;Test RXRDY bit
     165 005f e200                  BCND  FSW0, NTC                 ;If RXRDY=0,then repeat loop 
         0060 005e' 
     166 0061 1057                  LACC    SCIRXBUF                ;First byte is Lo byte
     167 0062 9059                  SACL    SCITXBUF                ;Echo byte back
     168 0063 bfb0                  AND     #0FFh                   ;Clear upper byte
         0064 00ff  
     169                    
     170 0065 4955  FSW1            BIT   SCIRXST,BIT6              ;Test RXRDY bit
     171 0066 e200                  BCND  FSW1, NTC                 ;If RXRDY=0,then repeat loop
         0067 0065' 
     172 0068 2857                  ADD     SCIRXBUF,8              ;Concatenate Hi byte to Lo
     173 0069 be09                  SFL                             ;used because 7 is max in SACH
     174 006a 9f59                  SACH    SCITXBUF,7              ;Echo byte back (after SFL 8)
     175            
     176 006b                       POINT_B1
1        006b bc06                  LDP     #06h
     177 006c be0a                  SFR                             ;restore ACC as before
     178 006d 9006-                 SACL    data_buf                ;Save received word
     179 006e 1004-                 LACC    stk0
     180 006f ef00                  RET
     181            
     182            ;==============================================================================
     183            ; Transmit char to host subroutine.
     184            ;==============================================================================
     185 0070 bce0  SEND_CHAR       LDP     #SCITXBUF>>7
     186 0071 9059                  SACL    SCITXBUF                ;Transmit byte to host.
     187 0072                       POINT_B1
1        0072 bc06                  LDP     #06h
     188 0073 ef00                  RET
     189            
     190            
     191 0074 7a80  RUN_ALGO        CALL    ALGO_START
         0075 fe00  
     192 0076 101f-                 LACC    ERROR_FLAG
     193 0077 7a80                  CALL    SEND_CHAR       ;Indicate to host Clear finished.
         0078 0070' 
     194 0079 ef00                  RET
     195            ;==============================================================================
     196                            .end

 No Errors,  No Warnings

⌨️ 快捷键说明

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