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

📄 at91stdio.lst

📁 针对arm开发板开发的can总线应用程序
💻 LST
字号:
##############################################################################
#                                                                            #
# IAR ARM ANSI C/C++ Compiler V4.41A/W32 EVALUATION    30/Oct/2007  14:47:15 #
# Copyright 1999-2005 IAR Systems. All rights reserved.                      #
#                                                                            #
#    Cpu mode        =  interwork                                            #
#    Endian          =  little                                               #
#    Stack alignment =  4                                                    #
#    Source file     =  E:\Public\AT91SAM7A3(CAN_CAN)(10K_5K)\AT91SAM7A3(CAN #
#                       _CAN)(10K_5K)\BasicCAN-SAM7A3\compil\srcIAR\at91stdi #
#                       o.c                                                  #
#    Command line    =  "E:\Public\AT91SAM7A3(CAN_CAN)(10K_5K)\AT91SAM7A3(CA #
#                       N_CAN)(10K_5K)\BasicCAN-SAM7A3\compil\srcIAR\at91std #
#                       io.c" -lC "E:\Public\AT91SAM7A3(CAN_CAN)(10K_5K)\AT9 #
#                       1SAM7A3(CAN_CAN)(10K_5K)\BasicCAN-SAM7A3\compil\RAM_ #
#                       Debug\List\" --remarks -o                            #
#                       "E:\Public\AT91SAM7A3(CAN_CAN)(10K_5K)\AT91SAM7A3(CA #
#                       N_CAN)(10K_5K)\BasicCAN-SAM7A3\compil\RAM_Debug\Obj\ #
#                       " -z2 --no_cse --no_unroll --no_inline               #
#                       --no_code_motion --no_tbaa --no_clustering           #
#                       --no_scheduling --debug --cpu_mode thumb --endian    #
#                       little --cpu ARM7TDMI --stack_align 4 --interwork    #
#                       -e --fpu None --dlib_config "D:\IAR                  #
#                       Systems\ARM\LIB\dl4tptinl8f.h" -I                    #
#                       "E:\Public\AT91SAM7A3(CAN_CAN)(10K_5K)\AT91SAM7A3(CA #
#                       N_CAN)(10K_5K)\BasicCAN-SAM7A3\compil\srcIAR\" -I    #
#                       "E:\Public\AT91SAM7A3(CAN_CAN)(10K_5K)\AT91SAM7A3(CA #
#                       N_CAN)(10K_5K)\BasicCAN-SAM7A3\compil\..\src\" -I    #
#                       "E:\Public\AT91SAM7A3(CAN_CAN)(10K_5K)\AT91SAM7A3(CA #
#                       N_CAN)(10K_5K)\BasicCAN-SAM7A3\compil\..\..\" -I     #
#                       "D:\IAR Systems\ARM\INC\"                            #
#    List file       =  E:\Public\AT91SAM7A3(CAN_CAN)(10K_5K)\AT91SAM7A3(CAN #
#                       _CAN)(10K_5K)\BasicCAN-SAM7A3\compil\RAM_Debug\List\ #
#                       at91stdio.lst                                        #
#    Object file     =  E:\Public\AT91SAM7A3(CAN_CAN)(10K_5K)\AT91SAM7A3(CAN #
#                       _CAN)(10K_5K)\BasicCAN-SAM7A3\compil\RAM_Debug\Obj\a #
#                       t91stdio.r79                                         #
#                                                                            #
#                                                                            #
##############################################################################

E:\Public\AT91SAM7A3(CAN_CAN)(10K_5K)\AT91SAM7A3(CAN_CAN)(10K_5K)\BasicCAN-SAM7A3\compil\srcIAR\at91stdio.c
      1          //  ----------------------------------------------------------------------------
      2          //          ATMEL Microcontroller Software Support  -  ROUSSET  -
      3          //  ----------------------------------------------------------------------------
      4          //  DISCLAIMER:  THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
      5          //  IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
      6          //  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
      7          //  DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
      8          //  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
      9          //  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
     10          //  OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
     11          //  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
     12          //  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
     13          //  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     14          //  ----------------------------------------------------------------------------
     15          // File Name           : at91stdio.c
     16          // Object              : stdio functions redefinition
     17          // Creation            : Application Group - v1.0 24-Aug-2005
     18          // ----------------------------------------------------------------------------
     19          #include "at91stdio.h"

   \                                 In segment CODE, align 4, keep-with-next
   \   __??Code16?? __code __interwork __atpcs unsigned int AT91F_US_TxReady(AT91PS_USART)
   \                     AT91F_US_TxReady:
   \   00000000   4169               LDR      R1,[R0, #+20]
   \   00000002   0220               MOVS     R0,#+2
   \   00000004   0840               ANDS     R0,R0,R1
   \   00000006   7047               BX       LR               ;; return

   \                                 In segment CODE, align 4, keep-with-next
   \   __??Code16?? __code __interwork __atpcs unsigned int AT91F_US_RxReady(AT91PS_USART)
   \                     AT91F_US_RxReady:
   \   00000000   4169               LDR      R1,[R0, #+20]
   \   00000002   0120               MOVS     R0,#+1
   \   00000004   0840               ANDS     R0,R0,R1
   \   00000006   7047               BX       LR               ;; return

   \                                 In segment CODE, align 4, keep-with-next
   \   __??Code16?? __code __interwork __atpcs void AT91F_US_PutChar(AT91PS_USART, int)
   \                     AT91F_US_PutChar:
   \   00000000   CA05               LSLS     R2,R1,#+23       ;; ZeroExtS R2,R1,#+23,#+23
   \   00000002   D20D               LSRS     R2,R2,#+23
   \   00000004   C261               STR      R2,[R0, #+28]
   \   00000006   7047               BX       LR               ;; return

   \                                 In segment CODE, align 4, keep-with-next
   \   __??Code16?? __code __interwork __atpcs int AT91F_US_GetChar(AT91PS_USART const)
   \                     AT91F_US_GetChar:
   \   00000000   8069               LDR      R0,[R0, #+24]
   \   00000002   C005               LSLS     R0,R0,#+23       ;; ZeroExtS R0,R0,#+23,#+23
   \   00000004   C00D               LSRS     R0,R0,#+23
   \   00000006   7047               BX       LR               ;; return
     20          
     21          // Definition for _MEMORY case

   \                                 In segment DATA_Z, align 4, align-sorted
     22          FILE *stdmem;
   \                     stdmem:
   \   00000000                      DS8 4
     23          
     24          //*----------------------------------------------------------------------------
     25          //* \fn    fputc
     26          //* \brief
     27          //*----------------------------------------------------------------------------

   \                                 In segment CODE, align 4, keep-with-next
     28          int fputc(int ch, FILE *f)
     29          {
   \                     fputc:
   \   00000000   30B5               PUSH     {R4,R5,LR}
   \   00000002   0400               MOVS     R4,R0
   \   00000004   0D00               MOVS     R5,R1
     30            if(f == stdout){
   \   00000006   0A48               LDR      R0,??fputc_0     ;; _Stdout
   \   00000008   8542               CMP      R5,R0
   \   0000000A   0CD1               BNE      ??fputc_1
     31              while (!AT91F_US_TxReady((AT91PS_USART)AT91C_BASE_DBGU));
   \                     ??fputc_2:
   \   0000000C   ....               LDR      R0,??DataTable3  ;; 0xfffffffffffff200
   \   0000000E   ........           _BLF     AT91F_US_TxReady,??AT91F_US_TxReady??rT
   \   00000012   0028               CMP      R0,#+0
   \   00000014   FAD0               BEQ      ??fputc_2
     32              AT91F_US_PutChar((AT91PS_USART)AT91C_BASE_DBGU, (char)ch);
   \   00000016   2100               MOVS     R1,R4
   \   00000018   0906               LSLS     R1,R1,#+24       ;; ZeroExtS R1,R1,#+24,#+24
   \   0000001A   090E               LSRS     R1,R1,#+24
   \   0000001C   ....               LDR      R0,??DataTable3  ;; 0xfffffffffffff200
   \   0000001E   ........           _BLF     AT91F_US_PutChar,??AT91F_US_PutChar??rT
     33              return ch;
   \   00000022   2000               MOVS     R0,R4
   \   00000024   01E0               B        ??fputc_3
     34            }
     35          
     36            if(f == stdmem){
     37            }
     38          
     39            return EOF;
   \                     ??fputc_1:
   \   00000026   0020               MOVS     R0,#+0
   \   00000028   C043               MVNS     R0,R0            ;; #-1
   \                     ??fputc_3:
   \   0000002A   30BC               POP      {R4,R5}
   \   0000002C   02BC               POP      {R1}
   \   0000002E   0847               BX       R1               ;; return
   \                     ??fputc_0:
   \   00000030   ........           DC32     _Stdout
     40          }
     41          
     42          //*----------------------------------------------------------------------------
     43          //* \fn    fgetc
     44          //* \brief
     45          //*----------------------------------------------------------------------------

   \                                 In segment CODE, align 4, keep-with-next
     46          int fgetc(FILE *f)
     47          {
   \                     fgetc:
   \   00000000   10B5               PUSH     {R4,LR}
   \   00000002   0400               MOVS     R4,R0
     48            if(f == stdin){
   \   00000004   0848               LDR      R0,??fgetc_0     ;; _Stdin
   \   00000006   8442               CMP      R4,R0
   \   00000008   08D1               BNE      ??fgetc_1
     49              while(!AT91F_US_RxReady((AT91PS_USART)AT91C_BASE_DBGU));
   \                     ??fgetc_2:
   \   0000000A   ....               LDR      R0,??DataTable3  ;; 0xfffffffffffff200
   \   0000000C   ........           _BLF     AT91F_US_RxReady,??AT91F_US_RxReady??rT
   \   00000010   0028               CMP      R0,#+0
   \   00000012   FAD0               BEQ      ??fgetc_2
     50              return((int)AT91F_US_GetChar((AT91PS_USART)AT91C_BASE_DBGU));
   \   00000014   ....               LDR      R0,??DataTable3  ;; 0xfffffffffffff200
   \   00000016   ........           _BLF     AT91F_US_GetChar,??AT91F_US_GetChar??rT
   \   0000001A   01E0               B        ??fgetc_3
     51            }
     52          
     53            return EOF;
   \                     ??fgetc_1:
   \   0000001C   0020               MOVS     R0,#+0
   \   0000001E   C043               MVNS     R0,R0            ;; #-1
   \                     ??fgetc_3:
   \   00000020   10BC               POP      {R4}
   \   00000022   02BC               POP      {R1}
   \   00000024   0847               BX       R1               ;; return
   \   00000026   C046               Nop      
   \                     ??fgetc_0:
   \   00000028   ........           DC32     _Stdin
     54          }

   \                                 In segment CODE, align 4, keep-with-next
   \                     ??DataTable3:
   \   00000000   00F2FFFF           DC32     0xfffffffffffff200

   Maximum stack usage in bytes:

     Function         CSTACK
     --------         ------
     AT91F_US_GetChar     0
     AT91F_US_PutChar     0
     AT91F_US_RxReady     0
     AT91F_US_TxReady     0
     fgetc                8
     fputc               12


   Segment part sizes:

     Function/Label   Bytes
     --------------   -----
     AT91F_US_TxReady    8
     AT91F_US_RxReady    8
     AT91F_US_PutChar    8
     AT91F_US_GetChar    8
     stdmem              4
     fputc              52
     fgetc              44
     ??DataTable3        4
      Others            60

 
 180 bytes in segment CODE
   4 bytes in segment DATA_Z
  12 bytes in segment INITTAB
 
 100 bytes of CODE memory (+ 92 bytes shared)
   4 bytes of DATA memory

Errors: none
Warnings: none

⌨️ 快捷键说明

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