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

📄 main.lst

📁 AT91SAM7X256底层驱动源码
💻 LST
📖 第 1 页 / 共 2 页
字号:
##############################################################################
#                                                                            #
# IAR ARM ANSI C/C++ Compiler V4.30A/W32 KICKSTART     01/Nov/2005  11:29:20 #
# Copyright 1999-2005 IAR Systems. All rights reserved.                      #
#                                                                            #
#    Cpu mode        =  interwork                                            #
#    Endian          =  little                                               #
#    Stack alignment =  4                                                    #
#    Source file     =  E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicAES-IAR #
#                       430A-1_2\BasicAES-SAM7X\src\main.c                   #
#    Command line    =  E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicAES-IAR #
#                       430A-1_2\BasicAES-SAM7X\src\main.c -lC               #
#                       E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicAES-IAR #
#                       430A-1_2\BasicAES-SAM7X\compil\FLASH_Debug\List\ -o  #
#                       E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicAES-IAR #
#                       430A-1_2\BasicAES-SAM7X\compil\FLASH_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:\Program Files\IAR                  #
#                       Systems\Embedded Workbench 4.0                       #
#                       Kickstart\arm\LIB\dl4tptinl8f.h" -I                  #
#                       E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicAES-IAR #
#                       430A-1_2\BasicAES-SAM7X\compil\srcIAR\ -I            #
#                       E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicAES-IAR #
#                       430A-1_2\BasicAES-SAM7X\compil\..\src\ -I            #
#                       E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicAES-IAR #
#                       430A-1_2\BasicAES-SAM7X\compil\..\..\ -I             #
#                       "D:\Program Files\IAR Systems\Embedded Workbench     #
#                       4.0 Kickstart\arm\INC\"                              #
#    List file       =  E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicAES-IAR #
#                       430A-1_2\BasicAES-SAM7X\compil\FLASH_Debug\List\main #
#                       .lst                                                 #
#    Object file     =  E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicAES-IAR #
#                       430A-1_2\BasicAES-SAM7X\compil\FLASH_Debug\Obj\main. #
#                       r79                                                  #
#                                                                            #
#                                                                            #
##############################################################################

E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicAES-IAR430A-1_2\BasicAES-SAM7X\src\main.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           : main.c
     16          //  Object              : main application written in C
     17          //  Creation            : FBr   22-Aug-2005
     18          // ----------------------------------------------------------------------------
     19          
     20          #include "main.h"

   \                                 In segment CODE, align 4, keep-with-next
   \   __??Code16?? __code __interwork __atpcs unsigned int AT91F_AIC_ConfigureIt(AT91PS_AIC, unsigned int, unsigned int, unsigned int, void (*)())
   \                     AT91F_AIC_ConfigureIt:
   \   00000000   F4B4               PUSH        {R2,R4-R7}
   \   00000002   021C               MOV         R2,R0
   \   00000004   059C               LDR         R4,[SP, #+0x14]
   \   00000006   0426               MOV         R6,#+0x4
   \   00000008   4E43               MUL         R6,R1
   \   0000000A   9619               ADD         R6,R2,R6
   \   0000000C   8036               ADD         R6,#+0x80
   \   0000000E   3668               LDR         R6,[R6, #+0]
   \   00000010   301C               MOV         R0,R6
   \   00000012   0126               MOV         R6,#+0x1
   \   00000014   8E40               LSL         R6,R1
   \   00000016   351C               MOV         R5,R6
   \   00000018   9226               MOV         R6,#+0x92
   \   0000001A   7600               LSL         R6,R6,#+0x1        ;; #+0x124
   \   0000001C   9551               STR         R5,[R2, R6]
   \   0000001E   0426               MOV         R6,#+0x4
   \   00000020   4E43               MUL         R6,R1
   \   00000022   9619               ADD         R6,R2,R6
   \   00000024   8036               ADD         R6,#+0x80
   \   00000026   3460               STR         R4,[R6, #+0]
   \   00000028   0426               MOV         R6,#+0x4
   \   0000002A   4E43               MUL         R6,R1
   \   0000002C   009F               LDR         R7,[SP, #+0]
   \   0000002E   1F43               ORR         R7,R3
   \   00000030   9751               STR         R7,[R2, R6]
   \   00000032   9426               MOV         R6,#+0x94
   \   00000034   7600               LSL         R6,R6,#+0x1        ;; #+0x128
   \   00000036   9551               STR         R5,[R2, R6]
   \   00000038   01B0               ADD         SP,#+0x4
   \   0000003A   F0BC               POP         {R4-R7}
   \   0000003C   7047               BX          LR                 ;; return

   \                                 In segment CODE, align 4, keep-with-next
   \   __??Code16?? __code __interwork __atpcs void AT91F_AIC_EnableIt(AT91PS_AIC, unsigned int)
   \                     AT91F_AIC_EnableIt:
   \   00000000   9022               MOV         R2,#+0x90
   \   00000002   5200               LSL         R2,R2,#+0x1        ;; #+0x120
   \   00000004   0123               MOV         R3,#+0x1
   \   00000006   8B40               LSL         R3,R1
   \   00000008   8350               STR         R3,[R0, R2]
   \   0000000A   7047               BX          LR                 ;; return

   \                                 In segment CODE, align 4, keep-with-next
   \   __??Code16?? __code __interwork __atpcs void AT91F_PMC_EnablePeriphClock(AT91PS_PMC, unsigned int)
   \                     AT91F_PMC_EnablePeriphClock:
   \   00000000   0161               STR         R1,[R0, #+0x10]
   \   00000002   7047               BX          LR                 ;; return

   \                                 In segment CODE, align 4, keep-with-next
   \   __??Code16?? __code __interwork __atpcs void AT91F_AES_DisableIt(AT91PS_AES, unsigned int)
   \                     AT91F_AES_DisableIt:
   \   00000000   4161               STR         R1,[R0, #+0x14]
   \   00000002   7047               BX          LR                 ;; return

   \                                 In segment CODE, align 4, keep-with-next
   \   __??Code16?? __code __interwork __atpcs unsigned int AT91F_AES_GetStatus(AT91PS_AES)
   \                     AT91F_AES_GetStatus:
   \   00000000   C069               LDR         R0,[R0, #+0x1C]
   \   00000002   7047               BX          LR                 ;; return

   \                                 In segment CODE, align 4, keep-with-next
   \   __??Code16?? __code __interwork __atpcs unsigned int AT91F_AES_GetInterruptMaskStatus(AT91PS_AES)
   \                     AT91F_AES_GetInterruptMaskStatus:
   \   00000000   8069               LDR         R0,[R0, #+0x18]
   \   00000002   7047               BX          LR                 ;; return

   \                                 In segment CODE, align 4, keep-with-next
   \   __??Code16?? __code __interwork __atpcs void AT91F_AES_CfgPMC(void)
   \                     AT91F_AES_CfgPMC:
   \   00000000   00B5               PUSH        {LR}
   \   00000002   8021               MOV         R1,#+0x80
   \   00000004   C902               LSL         R1,R1,#+0xB        ;; #+0x40000
   \   00000006   0248               LDR         R0,??AT91F_AES_CfgPMC_0  ;; 0xfffffc00
   \   00000008   ........           _BLF        AT91F_PMC_EnablePeriphClock,AT91F_PMC_EnablePeriphClock??rT
   \   0000000C   01BC               POP         {R0}
   \   0000000E   0047               BX          R0                 ;; return
   \                     ??AT91F_AES_CfgPMC_0:
   \   00000010   00FCFFFF           DC32        0xfffffc00
     21          
     22          /* Global variables */

   \                                 In segment DATA_Z, align 1, align-sorted
     23          volatile char       test = AT91C_TEST_NOK;
   \                     test:
   \   00000000                      DS8 1
     24          
     25          // function in dbgu.c
     26          extern void AT91F_DBGU_Printk(char *buffer);
     27          extern void Init_DBGU(void);
     28          
     29          //*----------------------------------------------------------------------------
     30          //* \fn    AT91F_AES_Handler
     31          //* \brief
     32          //*----------------------------------------------------------------------------

   \                                 In segment CODE, align 4, keep-with-next
     33          void AT91F_AES_Handler(void)
     34          {
   \                     AT91F_AES_Handler:
   \   00000000   10B5               PUSH        {R4,LR}
   \   00000002   81B0               SUB         SP,#+0x4
     35            volatile unsigned int status;
     36          		
     37            status = AT91F_AES_GetStatus(AT91C_BASE_AES) & AT91F_AES_GetInterruptMaskStatus(AT91C_BASE_AES) ;
   \   00000004   0E48               LDR         R0,??AT91F_AES_Handler_0  ;; 0xfffa4000
   \   00000006   ........           _BLF        AT91F_AES_GetStatus,AT91F_AES_GetStatus??rT
   \   0000000A   041C               MOV         R4,R0
   \   0000000C   0C48               LDR         R0,??AT91F_AES_Handler_0  ;; 0xfffa4000
   \   0000000E   ........           _BLF        AT91F_AES_GetInterruptMaskStatus,AT91F_AES_GetInterruptMaskStatus??rT
   \   00000012   2040               AND         R0,R4

⌨️ 快捷键说明

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