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

📄 aic.lst

📁 ATmel的AT91sam7SE芯片 USB固件开发源代码
💻 LST
字号:
###############################################################################
#                                                                             #
#                                                       18/Jul/2008  11:37:56 #
# IAR ARM ANSI C/C++ Compiler V5.11.0.20622/W32 EVALUATION                    #
# Copyright 1999-2007 IAR Systems. All rights reserved.                       #
#                                                                             #
#    Cpu mode     =  arm                                                      #
#    Endian       =  little                                                   #
#    Source file  =  D:\rock\atarm\at91sam7se\software\usb-device-core-projec #
#                    t-1.3-iar5-at91sam7se-ek\at91lib\peripherals\aic\aic.c   #
#    Command line =  D:\rock\atarm\at91sam7se\software\usb-device-core-projec #
#                    t-1.3-iar5-at91sam7se-ek\at91lib\peripherals\aic\aic.c   #
#                    -D at91sam7se512 -lC D:\rock\atarm\at91sam7se\software\u #
#                    sb-device-core-project-1.3-iar5-at91sam7se-ek\at91sam7se #
#                    -ek\usb-device-core-project\ewp\at91sam7se512_sdram\List #
#                    \ --remarks -o D:\rock\atarm\at91sam7se\software\usb-dev #
#                    ice-core-project-1.3-iar5-at91sam7se-ek\at91sam7se-ek\us #
#                    b-device-core-project\ewp\at91sam7se512_sdram\Obj\       #
#                    --no_cse --no_unroll --no_inline --no_code_motion        #
#                    --no_tbaa --no_clustering --no_scheduling --debug        #
#                    --endian little --cpu ARM7TDMI -e --fpu None             #
#                    --dlib_config "D:\Program Files\IAR Systems\Embedded     #
#                    Workbench 5.0 Evaluation\ARM\INC\DLib_Config_Full.h" -I  #
#                    D:\rock\atarm\at91sam7se\software\usb-device-core-projec #
#                    t-1.3-iar5-at91sam7se-ek\at91sam7se-ek\usb-device-core-p #
#                    roject\ewp\..\..\..\at91lib\ -I                          #
#                    D:\rock\atarm\at91sam7se\software\usb-device-core-projec #
#                    t-1.3-iar5-at91sam7se-ek\at91sam7se-ek\usb-device-core-p #
#                    roject\ewp\..\..\..\at91lib\boards\at91sam7se-ek\ -I     #
#                    D:\rock\atarm\at91sam7se\software\usb-device-core-projec #
#                    t-1.3-iar5-at91sam7se-ek\at91sam7se-ek\usb-device-core-p #
#                    roject\ewp\..\..\..\at91lib\peripherals\ -I              #
#                    D:\rock\atarm\at91sam7se\software\usb-device-core-projec #
#                    t-1.3-iar5-at91sam7se-ek\at91sam7se-ek\usb-device-core-p #
#                    roject\ewp\..\..\..\at91lib\components\ -I               #
#                    D:\rock\atarm\at91sam7se\software\usb-device-core-projec #
#                    t-1.3-iar5-at91sam7se-ek\at91sam7se-ek\usb-device-core-p #
#                    roject\ewp\..\..\..\at91lib\usb\ -I "D:\Program          #
#                    Files\IAR Systems\Embedded Workbench 5.0                 #
#                    Evaluation\ARM\INC\" --interwork --cpu_mode arm -On      #
#    List file    =  D:\rock\atarm\at91sam7se\software\usb-device-core-projec #
#                    t-1.3-iar5-at91sam7se-ek\at91sam7se-ek\usb-device-core-p #
#                    roject\ewp\at91sam7se512_sdram\List\aic.lst              #
#    Object file  =  D:\rock\atarm\at91sam7se\software\usb-device-core-projec #
#                    t-1.3-iar5-at91sam7se-ek\at91sam7se-ek\usb-device-core-p #
#                    roject\ewp\at91sam7se512_sdram\Obj\aic.o                 #
#                                                                             #
#                                                                             #
###############################################################################

D:\rock\atarm\at91sam7se\software\usb-device-core-project-1.3-iar5-at91sam7se-ek\at91lib\peripherals\aic\aic.c
      1          /* ----------------------------------------------------------------------------
      2           *         ATMEL Microcontroller Software Support  -  ROUSSET  -
      3           * ----------------------------------------------------------------------------
      4           * Copyright (c) 2006, 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 disclaiimer below.
     13           * 
     14           * - Redistributions in binary form must reproduce the above copyright notice,
     15           * this list of conditions and the disclaimer below in the documentation and/or
     16           * other materials provided with the distribution. 
     17           * 
     18           * Atmel's name may not be used to endorse or promote products derived from
     19           * this software without specific prior written permission. 
     20           * 
     21           * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
     22           * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
     23           * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
     24           * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
     25           * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
     26           * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
     27           * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
     28           * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
     29           * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
     30           * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     31           * ----------------------------------------------------------------------------
     32           */
     33          
     34          //------------------------------------------------------------------------------
     35          //         Headers
     36          //------------------------------------------------------------------------------
     37          
     38          #include "aic.h"
     39          #include <board.h>
     40          
     41          //------------------------------------------------------------------------------
     42          //         Exported functions
     43          //------------------------------------------------------------------------------
     44          
     45          //------------------------------------------------------------------------------
     46          /// Configures the interrupt associated with the given source, using the
     47          /// specified mode and interrupt handler.
     48          /// \param source  Interrupt source to configure.
     49          /// \param mode  Triggering mode of the interrupt.
     50          /// \param handler  Interrupt handler function.
     51          //------------------------------------------------------------------------------

   \                                 In section .text, align 4, keep-with-next
     52          void AIC_ConfigureIT(unsigned int source,
     53                                      unsigned int mode,
     54                                      void (*handler)( void ))
     55          {
     56              // Disable the interrupt first
     57              AT91C_BASE_AIC->AIC_IDCR = 1 << source;
   \                     AIC_ConfigureIT:
   \   00000000   0130A0E3           MOV      R3,#+1
   \   00000004   1330B0E1           LSLS     R3,R3,R0
   \   00000008   DBC0E0E3           MVN      R12,#+219
   \   0000000C   E0CECCE3           BIC      R12,R12,#0xE00
   \   00000010   00308CE5           STR      R3,[R12, #+0]
     58          
     59              // Configure mode and handler
     60              AT91C_BASE_AIC->AIC_SMR[source] = mode;
   \   00000014   0430A0E3           MOV      R3,#+4
   \   00000018   93001CE0           MULS     R12,R3,R0
   \   0000001C   403D5CE2           SUBS     R3,R12,#+4096
   \   00000020   001083E5           STR      R1,[R3, #+0]
     61              AT91C_BASE_AIC->AIC_SVR[source] = (unsigned int) handler;
   \   00000024   0430A0E3           MOV      R3,#+4
   \   00000028   93001CE0           MULS     R12,R3,R0
   \   0000002C   802F0CE5           STR      R2,[R12, #-3968]
     62          
     63              // Clear interrupt
     64              AT91C_BASE_AIC->AIC_ICCR = 1 << source;
   \   00000030   0130A0E3           MOV      R3,#+1
   \   00000034   1330B0E1           LSLS     R3,R3,R0
   \   00000038   D7C0E0E3           MVN      R12,#+215
   \   0000003C   E0CECCE3           BIC      R12,R12,#0xE00
   \   00000040   00308CE5           STR      R3,[R12, #+0]
     65          }
   \   00000044   1EFF2FE1           BX       LR               ;; return
     66          
     67          //------------------------------------------------------------------------------
     68          /// Enables interrupts coming from the given (unique) source.
     69          /// \param source  Interrupt source to enable.
     70          //------------------------------------------------------------------------------

   \                                 In section .text, align 4, keep-with-next
     71          void AIC_EnableIT(unsigned int source)
     72          {
     73              AT91C_BASE_AIC->AIC_IECR = 1 << source;
   \                     AIC_EnableIT:
   \   00000000   0110A0E3           MOV      R1,#+1
   \   00000004   1110B0E1           LSLS     R1,R1,R0
   \   00000008   DF20E0E3           MVN      R2,#+223
   \   0000000C   E02EC2E3           BIC      R2,R2,#0xE00
   \   00000010   001082E5           STR      R1,[R2, #+0]
     74          }
   \   00000014   1EFF2FE1           BX       LR               ;; return
     75          
     76          //------------------------------------------------------------------------------
     77          /// Disables interrupts coming from the given (unique) source.
     78          /// \param source  Interrupt source to enable.
     79          //------------------------------------------------------------------------------

   \                                 In section .text, align 4, keep-with-next
     80          void AIC_DisableIT(unsigned int source)
     81          {
     82              AT91C_BASE_AIC->AIC_IDCR = 1 << source;
   \                     AIC_DisableIT:
   \   00000000   0110A0E3           MOV      R1,#+1
   \   00000004   1110B0E1           LSLS     R1,R1,R0
   \   00000008   DB20E0E3           MVN      R2,#+219
   \   0000000C   E02EC2E3           BIC      R2,R2,#0xE00
   \   00000010   001082E5           STR      R1,[R2, #+0]
     83          }
   \   00000014   1EFF2FE1           BX       LR               ;; return
     84          

   Maximum stack usage in bytes:

     Function        .cstack
     --------        -------
     AIC_ConfigureIT      0
     AIC_DisableIT        0
     AIC_EnableIT         0


   Section sizes:

     Function/Label  Bytes
     --------------  -----
     AIC_ConfigureIT   72
     AIC_EnableIT      24
     AIC_DisableIT     24

 
 120 bytes in section .text
 
 120 bytes of CODE memory

Errors: none
Warnings: none

⌨️ 快捷键说明

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