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

📄 main.lst

📁 本程序为AT91SAM7X256-BasicAES-IAR430A-1_2
💻 LST
字号:
##############################################################################
#                                                                            #
# IAR ARM ANSI C/C++ Compiler V4.30A/W32 KICKSTART     01/Nov/2005  11:22:49 #
# Copyright 1999-2005 IAR Systems. All rights reserved.                      #
#                                                                            #
#    Cpu mode        =  thumb                                                #
#    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\Binary\List\ -o       #
#                       E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicAES-IAR #
#                       430A-1_2\BasicAES-SAM7X\compil\Binary\Obj\ -z9       #
#                       --debug --cpu_mode thumb --endian little --cpu       #
#                       ARM7TDMI --stack_align 4 -e --fpu None               #
#                       --dlib_config "D:\Program Files\IAR                  #
#                       Systems\Embedded Workbench 4.0                       #
#                       Kickstart\arm\LIB\dl4tptnnl8f.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\Binary\List\main.lst  #
#    Object file     =  E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicAES-IAR #
#                       430A-1_2\BasicAES-SAM7X\compil\Binary\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"
     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   01B4               PUSH        {R0}
     35            volatile unsigned int status;
     36          		
     37            status = AT91F_AES_GetStatus(AT91C_BASE_AES) & AT91F_AES_GetInterruptMaskStatus(AT91C_BASE_AES) ;
   \   00000002   0A48               LDR         R0,??AT91F_AES_Handler_0  ;; 0xfffa401c
   \   00000004   0068               LDR         R0,[R0, #+0]
   \   00000006   0A49               LDR         R1,??AT91F_AES_Handler_0+0x4  ;; 0xfffa4018
   \   00000008   0968               LDR         R1,[R1, #+0]
   \   0000000A   0140               AND         R1,R0
   \   0000000C   0091               STR         R1,[SP, #+0]
     38            AT91F_AES_DisableIt(AT91C_BASE_AES,status);
   \   0000000E   0098               LDR         R0,[SP, #+0]
   \   00000010   0849               LDR         R1,??AT91F_AES_Handler_0+0x8  ;; 0xfffa4014
   \   00000012   0860               STR         R0,[R1, #+0]
     39          
     40            if(status & AT91C_AES_DATRDY){
   \   00000014   0848               LDR         R0,??AT91F_AES_Handler_0+0xC  ;; test
   \   00000016   0121               MOV         R1,#+0x1
   \   00000018   009A               LDR         R2,[SP, #+0]
   \   0000001A   D207               LSL         R2,R2,#+0x1F
   \   0000001C   00D5               BPL         ??AT91F_AES_Handler_1
     41              test = AT91C_TEST_OK;
   \   0000001E   0170               STRB        R1,[R0, #+0]
     42              TRACE_DEBUG_L("=> DATRDY");
     43            }
     44          
     45            if(status & AT91C_AES_ENDRX){
   \                     ??AT91F_AES_Handler_1:
   \   00000020   009A               LDR         R2,[SP, #+0]
   \   00000022   9207               LSL         R2,R2,#+0x1E
   \   00000024   00D5               BPL         ??AT91F_AES_Handler_2
     46              test = AT91C_TEST_OK;
   \   00000026   0170               STRB        R1,[R0, #+0]
     47              TRACE_DEBUG_H("=> ENDRX");
     48            }
     49          }
   \                     ??AT91F_AES_Handler_2:
   \   00000028   08BC               POP         {R3}
   \   0000002A   7047               BX          LR                 ;; return
   \                     ??AT91F_AES_Handler_0:
   \   0000002C   1C40FAFF           DC32        0xfffa401c
   \   00000030   1840FAFF           DC32        0xfffa4018
   \   00000034   1440FAFF           DC32        0xfffa4014
   \   00000038   ........           DC32        test
     50          
     51          //*--------------------------------------------------------------------------------------
     52          //* Function Name       : Main
     53          //* Object              : Software entry point
     54          //*--------------------------------------------------------------------------------------

   \                                 In segment CODE, align 4, keep-with-next
     55          void main()
     56          {
   \                     main:
   \   00000000   00B5               PUSH        {LR}
     57            ////////////////////////////////////////////////////////////////////////////////////////////////////
     58            //  DBGU Init
     59            /////////////////////////////////////////////////////////////////////////////////////////////////////
     60          
     61            // Enable DBGU Clock
     62            //AT91F_DBGU_CfgPMC();  // DBGU is always clocked
     63            // Open PIO for DBGU
     64            /*
     65            AT91F_DBGU_CfgPIO();
     66            AT91F_US_Configure ((AT91PS_USART) AT91C_BASE_DBGU,
     67                                AT91C_MASTER_CLOCK,
     68                                AT91C_US_ASYNC_MODE,  	// mode Register to be programmed
     69                                AT91C_BAUDRATE_115200,	// baudrate to be programmed
     70                                0);                   	// timeguard to be programmed
     71            // Enable Transmitter
     72            AT91F_US_EnableTx((AT91PS_USART) AT91C_BASE_DBGU);
     73          
     74            TRACE_INFO("\n\n\r======================================\n\r");
     75            TRACE_INFO("AT91SAM7X Basic AES\n\r");
     76            TRACE_INFO("======================================\n\r");
     77          */
     78            Init_DBGU();
   \   00000002   ........           _BLF        Init_DBGU,Init_DBGU??rT
     79            AT91F_DBGU_Printk("-I- AT91SAM7X256 DEMO\n\r");
   \   00000006   0B48               LDR         R0,??main_0        ;; `?<Constant "-I- AT91SAM7X256 DEMO\\n\\r">`
   \   00000008   ........           _BLF        AT91F_DBGU_Printk,AT91F_DBGU_Printk??rT
     80            ///////////////////////////////////////////////////////////////////////////////////////////
     81            //  Init AES
     82            ///////////////////////////////////////////////////////////////////////////////////////////
     83          
     84            // Enable AES Clock
     85            AT91F_AES_CfgPMC();
   \   0000000C   8020               MOV         R0,#+0x80
   \   0000000E   C002               LSL         R0,R0,#+0xB        ;; #+0x40000
   \   00000010   0949               LDR         R1,??main_0+0x4    ;; 0xfffffc10
   \   00000012   0860               STR         R0,[R1, #+0]
     86          
     87            // Init AES Interrupt Source Level
     88            AT91F_AIC_ConfigureIt(
     89                                  AT91C_BASE_AIC,                        	// AIC base address
     90                                  AT91C_ID_AES,                         	// AES ID
     91                                  AT91C_AIC_PRIOR_HIGHEST,               	// Max priority
     92                                  AT91C_AIC_SRCTYPE_INT_HIGH_LEVEL, 	    // Level sensitive
     93                                  AT91F_AES_Handler);
   \   00000014   0949               LDR         R1,??main_0+0x8    ;; 0xfffff0c8
   \   00000016   0A68               LDR         R2,[R1, #+0]
   \   00000018   094A               LDR         R2,??main_0+0xC    ;; 0xfffff124
   \   0000001A   1060               STR         R0,[R2, #+0]
   \   0000001C   094A               LDR         R2,??main_0+0x10   ;; AT91F_AES_Handler
   \   0000001E   0A60               STR         R2,[R1, #+0]
   \   00000020   0949               LDR         R1,??main_0+0x14   ;; 0xfffff048
   \   00000022   0722               MOV         R2,#+0x7
   \   00000024   0A60               STR         R2,[R1, #+0]
   \   00000026   0949               LDR         R1,??main_0+0x18   ;; 0xfffff128
   \   00000028   0860               STR         R0,[R1, #+0]
     94          
     95            AT91F_AIC_EnableIt(AT91C_BASE_AIC,AT91C_ID_AES);
   \   0000002A   0949               LDR         R1,??main_0+0x1C   ;; 0xfffff120
   \   0000002C   0860               STR         R0,[R1, #+0]
     96          
     97            ///////////////////////////////////////////////////////////////////////////////////////////
     98            //  Enter Main Application
     99            ///////////////////////////////////////////////////////////////////////////////////////////
    100          
    101            AT91F_BasicTestSuite();
   \   0000002E   ........           _BLF        AT91F_BasicTestSuite,AT91F_BasicTestSuite??rT
    102          }
   \   00000032   00BD               POP         {PC}               ;; return
   \                     ??main_0:
   \   00000034   ........           DC32        `?<Constant "-I- AT91SAM7X256 DEMO\\n\\r">`
   \   00000038   10FCFFFF           DC32        0xfffffc10
   \   0000003C   C8F0FFFF           DC32        0xfffff0c8
   \   00000040   24F1FFFF           DC32        0xfffff124
   \   00000044   ........           DC32        AT91F_AES_Handler
   \   00000048   48F0FFFF           DC32        0xfffff048
   \   0000004C   28F1FFFF           DC32        0xfffff128
   \   00000050   20F1FFFF           DC32        0xfffff120

   \                                 In segment DATA_C, align 4, align-sorted
   \                     `?<Constant "-I- AT91SAM7X256 DEMO\\n\\r">`:
   \   00000000   2D492D204154       DC8 "-I- AT91SAM7X256 DEMO\012\015"
   \              393153414D37
   \              583235362044
   \              454D4F0A0D00

   Maximum stack usage in bytes:

     Function          CSTACK
     --------          ------
     AT91F_AES_Handler     4
     main                  4


   Segment part sizes:

     Function/Label                 Bytes
     --------------                 -----
     test                              1
     AT91F_AES_Handler                60
     main                             84
     ?<Constant "-I- AT91SAM7X256 DEMO\n\r">
                                      24
      Others                          36

 
 168 bytes in segment CODE
  24 bytes in segment DATA_C
   1 byte  in segment DATA_Z
  12 bytes in segment INITTAB
 
 144 bytes of CODE  memory (+ 36 bytes shared)
  24 bytes of CONST memory
   1 byte  of DATA  memory

Errors: none
Warnings: none

⌨️ 快捷键说明

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