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

📄 dbgu.lst

📁 IAR5.2下 AT91SAM9260 ARM 对 MCP2515 控制源化码
💻 LST
📖 第 1 页 / 共 2 页
字号:
###############################################################################
#                                                                             #
#                                                       08/Mar/2009  18:05:08 #
# IAR ANSI C/C++ Compiler V5.20.2.21007/W32 EVALUATION for ARM                #
# Copyright 1999-2008 IAR Systems AB.                                         #
#                                                                             #
#    Cpu mode     =  arm                                                      #
#    Endian       =  little                                                   #
#    Source file  =  E:\IAR\at91lib\peripherals\dbgu\dbgu.c                   #
#    Command line =  E:\IAR\at91lib\peripherals\dbgu\dbgu.c -D at91sam9260    #
#                    -D sdram -lC E:\IAR\at91sam9260-ek\basic-twi-eeprom-proj #
#                    ect\ewp\at91sam9260_sdram\List\ --remarks                #
#                    --diag_suppress Pe826,Pe1375 -o                          #
#                    E:\IAR\at91sam9260-ek\basic-twi-eeprom-project\ewp\at91s #
#                    am9260_sdram\Obj\ --no_cse --no_unroll --no_inline       #
#                    --no_code_motion --no_tbaa --no_clustering               #
#                    --no_scheduling --debug --endian=little                  #
#                    --cpu=ARM926EJ-S -e --fpu=None --dlib_config             #
#                    "D:\Program Files\IAR Systems\Embedded Workbench 5.0     #
#                    Evaluation\ARM\INC\DLib_Config_Full.h" -I                #
#                    E:\IAR\at91sam9260-ek\basic-twi-eeprom-project\ewp\..\.. #
#                    \..\at91lib\ -I E:\IAR\at91sam9260-ek\basic-twi-eeprom-p #
#                    roject\ewp\..\..\..\at91lib\boards\at91sam9260-ek\ -I    #
#                    E:\IAR\at91sam9260-ek\basic-twi-eeprom-project\ewp\..\.. #
#                    \..\at91lib\peripherals\ -I                              #
#                    E:\IAR\at91sam9260-ek\basic-twi-eeprom-project\ewp\..\.. #
#                    \..\at91lib\components\ -I E:\IAR\at91sam9260-ek\basic-t #
#                    wi-eeprom-project\ewp\..\..\..\at91lib\usb\ -I           #
#                    "D:\Program Files\IAR Systems\Embedded Workbench 5.0     #
#                    Evaluation\ARM\INC\" --interwork --cpu_mode arm -On      #
#    List file    =  E:\IAR\at91sam9260-ek\basic-twi-eeprom-project\ewp\at91s #
#                    am9260_sdram\List\dbgu.lst                               #
#    Object file  =  E:\IAR\at91sam9260-ek\basic-twi-eeprom-project\ewp\at91s #
#                    am9260_sdram\Obj\dbgu.o                                  #
#                                                                             #
#                                                                             #
###############################################################################

E:\IAR\at91lib\peripherals\dbgu\dbgu.c
      1          /* ----------------------------------------------------------------------------
      2           *         ATMEL Microcontroller Software Support 
      3           * ----------------------------------------------------------------------------
      4           * Copyright (c) 2008, Atmel Corporation
      5           *
      6           * All rights reserved.
      7           *
      8           * Redistribution and use in source and binary forms, with or without
      9           * modification, are permitted provided that the following conditions are met:
     10           *
     11           * - Redistributions of source code must retain the above copyright notice,
     12           * this list of conditions and the disclaimer below.
     13           *
     14           * Atmel's name may not be used to endorse or promote products derived from
     15           * this software without specific prior written permission.
     16           *
     17           * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
     18           * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
     19           * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
     20           * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
     21           * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
     22           * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
     23           * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
     24           * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
     25           * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
     26           * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     27           * ----------------------------------------------------------------------------
     28           */
     29          
     30          //------------------------------------------------------------------------------
     31          //      Headers
     32          //------------------------------------------------------------------------------
     33          
     34          #include "dbgu.h"
     35          //#include <stdarg.h>
     36          #include <board.h>
     37                      
     38          //*-----------------------------------------------------------------------------
     39          //*                     Exported functions
     40          //*-----------------------------------------------------------------------------
     41          //*-----------------------------------------------------------------------------
     42          //* 函数名称:  DBGU_Configure
     43          //* 函数功能:  配制调试串口
     44          //* 入口参数:  1. mode      : 串口模式
     45          //*            2. baudrate  : 波特率
     46          //*            3. mck       : 系统主频
     47          //* 返回值 :  无
     48          //*-----------------------------------------------------------------------------

   \                                 In section .text, align 4, keep-with-next
     49          void DBGU_Configure(unsigned int mode,
     50                              unsigned int baudrate,
     51                              unsigned int mck)
     52          {   
   \                     DBGU_Configure:
   \   00000000   70402DE9           PUSH     {R4-R6,LR}
   \   00000004   0040B0E1           MOVS     R4,R0
   \   00000008   0150B0E1           MOVS     R5,R1
   \   0000000C   0260B0E1           MOVS     R6,R2
     53              //* Reset & disable receiver and transmitter, disable interrupts
     54              //* 复位并禁止调试串口接收与发送,禁止中断
     55              AT91C_BASE_DBGU->DBGU_CR = AT91C_US_RSTRX | AT91C_US_RSTTX;
   \   00000010   FF00E0E3           MVN      R0,#+255
   \   00000014   D00EC0E3           BIC      R0,R0,#0xD00
   \   00000018   0C10A0E3           MOV      R1,#+12
   \   0000001C   001080E5           STR      R1,[R0, #+0]
     56              AT91C_BASE_DBGU->DBGU_IDR = 0xFFFFFFFF;
   \   00000020   F300E0E3           MVN      R0,#+243
   \   00000024   D00EC0E3           BIC      R0,R0,#0xD00
   \   00000028   0010E0E3           MVN      R1,#+0
   \   0000002C   001080E5           STR      R1,[R0, #+0]
     57              
     58              //* Configure baud rate
     59              //* 配制串口波特率
     60              AT91C_BASE_DBGU->DBGU_BRGR = mck / (baudrate * 16);
   \   00000030   0600B0E1           MOVS     R0,R6
   \   00000034   1020A0E3           MOV      R2,#+16
   \   00000038   920511E0           MULS     R1,R2,R5
   \   0000003C   ........           BL       __aeabi_uidivmod
   \   00000040   DF10E0E3           MVN      R1,#+223
   \   00000044   D01EC1E3           BIC      R1,R1,#0xD00
   \   00000048   000081E5           STR      R0,[R1, #+0]
     61              
     62              //* Configure mode register
     63              //* 配制串口模式
     64              AT91C_BASE_DBGU->DBGU_MR = mode;
   \   0000004C   FB00E0E3           MVN      R0,#+251
   \   00000050   D00EC0E3           BIC      R0,R0,#0xD00
   \   00000054   004080E5           STR      R4,[R0, #+0]
     65              
     66              //* Disable DMA channel
     67              //* 禁止 DMA
     68              AT91C_BASE_DBGU->DBGU_PTCR = AT91C_PDC_RXTDIS | AT91C_PDC_TXTDIS;
   \   00000058   DF00E0E3           MVN      R0,#+223
   \   0000005C   C00EC0E3           BIC      R0,R0,#0xC00
   \   00000060   0210A0E3           MOV      R1,#+2
   \   00000064   801F81E3           ORR      R1,R1,#0x200
   \   00000068   001080E5           STR      R1,[R0, #+0]
     69          
     70              //* Enable receiver and transmitter
     71              //* 使能串口接收与发送
     72              AT91C_BASE_DBGU->DBGU_CR = AT91C_US_RXEN | AT91C_US_TXEN;
   \   0000006C   FF00E0E3           MVN      R0,#+255
   \   00000070   D00EC0E3           BIC      R0,R0,#0xD00
   \   00000074   5010A0E3           MOV      R1,#+80
   \   00000078   001080E5           STR      R1,[R0, #+0]
     73          }
   \   0000007C   7080BDE8           POP      {R4-R6,PC}       ;; return
     74          
     75          
     76          //*----------------------------------------------------------------------------
     77          //* \fn    AT91F_US_TxReady
     78          //* \brief Return 1 if a character can be written in US_THR
     79          //*----------------------------------------------------------------------------

   \                                 In section .text, align 4, keep-with-next
     80          unsigned int AT91F_US_TxReady (AT91PS_USART pUSART)     // \arg pointer to a USART controller
     81          {
     82              return (pUSART->US_CSR & AT91C_US_TXRDY);
   \                     AT91F_US_TxReady:
   \   00000000   140090E5           LDR      R0,[R0, #+20]
   \   00000004   020010E2           ANDS     R0,R0,#0x2
   \   00000008   1EFF2FE1           BX       LR               ;; return
     83          }
     84          
     85          
     86          //*----------------------------------------------------------------------------
     87          //* \fn    AT91F_US_PutChar
     88          //* \brief Send a character,does not check if ready to send
     89          //*----------------------------------------------------------------------------

   \                                 In section .text, align 4, keep-with-next
     90          void AT91F_US_PutChar (AT91PS_USART pUSART, int character )
     91          {
     92              pUSART->US_THR = (character & 0x1FF);
   \                     AT91F_US_PutChar:
   \   00000000   812BB0E1           LSLS     R2,R1,#+23
   \   00000004   A22BB0E1           LSRS     R2,R2,#+23
   \   00000008   1C2080E5           STR      R2,[R0, #+28]
     93          }
   \   0000000C   1EFF2FE1           BX       LR               ;; return
     94          
     95          
     96          //**********************************************************************
     97          //*函数名称 : DBGU_Printk
     98          //*函数功能 : 向串口输出字符串
     99          //*入口参数 : *buffer: 要输出的字符串起始地址     
    100          //*返回值   : 无    
    101          //**********************************************************************

   \                                 In section .text, align 4, keep-with-next
    102          void DBGU_Printk(char *buffer) 		// \arg pointer to a string ending by \0
    103          {
   \                     DBGU_Printk:
   \   00000000   10402DE9           PUSH     {R4,LR}
   \   00000004   0040B0E1           MOVS     R4,R0
    104              while(*buffer != '\0') 
   \                     ??DBGU_Printk_0:
   \   00000008   0000D4E5           LDRB     R0,[R4, #+0]
   \   0000000C   000050E3           CMP      R0,#+0
   \   00000010   0A00000A           BEQ      ??DBGU_Printk_1
    105              {
    106                  while (!AT91F_US_TxReady((AT91PS_USART)AT91C_BASE_DBGU));
   \                     ??DBGU_Printk_2:
   \   00000014   FF00E0E3           MVN      R0,#+255
   \   00000018   D00EC0E3           BIC      R0,R0,#0xD00
   \   0000001C   ........           BL       AT91F_US_TxReady
   \   00000020   000050E3           CMP      R0,#+0
   \   00000024   FAFFFF0A           BEQ      ??DBGU_Printk_2
    107                  AT91F_US_PutChar((AT91PS_USART)AT91C_BASE_DBGU, *buffer++);
   \   00000028   0010D4E5           LDRB     R1,[R4, #+0]
   \   0000002C   FF00E0E3           MVN      R0,#+255
   \   00000030   D00EC0E3           BIC      R0,R0,#0xD00
   \   00000034   ........           BL       AT91F_US_PutChar
   \   00000038   014094E2           ADDS     R4,R4,#+1
   \   0000003C   F1FFFFEA           B        ??DBGU_Printk_0
    108              }
    109          }
   \                     ??DBGU_Printk_1:
   \   00000040   1080BDE8           POP      {R4,PC}          ;; return
    110          
    111          
    112          //*-----------------------------------------------------------------------------
    113          //* 函数名称:  DBGU_PutChar
    114          //* 函数功能:  从串口输出一个字符
    115          //* 入口参数:  c: 待输出的字符
    116          //* 返回值 :  无
    117          //*-----------------------------------------------------------------------------

⌨️ 快捷键说明

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