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

📄 main.lst

📁 AT91SAM7X256芯片底层驱动源码。在IAR430环境下编译
💻 LST
📖 第 1 页 / 共 2 页
字号:
##############################################################################
#                                                                            #
# IAR ARM ANSI C/C++ Compiler V4.30A/W32 KICKSTART     01/Nov/2005  09:28:33 #
# Copyright 1999-2005 IAR Systems. All rights reserved.                      #
#                                                                            #
#    Cpu mode        =  thumb                                                #
#    Endian          =  little                                               #
#    Stack alignment =  4                                                    #
#    Source file     =  E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicTDES-IA #
#                       R430A-1_2\BasicTDES-SAM7X\src\main.c                 #
#    Command line    =  E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicTDES-IA #
#                       R430A-1_2\BasicTDES-SAM7X\src\main.c -lC             #
#                       E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicTDES-IA #
#                       R430A-1_2\BasicTDES-SAM7X\compil\Binary\List\ -o     #
#                       E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicTDES-IA #
#                       R430A-1_2\BasicTDES-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-BasicTDES-IA #
#                       R430A-1_2\BasicTDES-SAM7X\compil\srcIAR\ -I          #
#                       E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicTDES-IA #
#                       R430A-1_2\BasicTDES-SAM7X\compil\..\src\ -I          #
#                       E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicTDES-IA #
#                       R430A-1_2\BasicTDES-SAM7X\compil\..\..\ -I           #
#                       "D:\Program Files\IAR Systems\Embedded Workbench     #
#                       4.0 Kickstart\arm\INC\"                              #
#    List file       =  E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicTDES-IA #
#                       R430A-1_2\BasicTDES-SAM7X\compil\Binary\List\main.ls #
#                       t                                                    #
#    Object file     =  E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicTDES-IA #
#                       R430A-1_2\BasicTDES-SAM7X\compil\Binary\Obj\main.r79 #
#                                                                            #
#                                                                            #
##############################################################################

E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicTDES-IAR430A-1_2\BasicTDES-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   31-Aug-2005
     18          // ----------------------------------------------------------------------------
     19          
     20          #include "main.h"

   \                                 In segment CODE, align 4, keep-with-next
   \   __??Code16?? __code __thumb __atpcs void AT91F_PDC_Open(AT91PS_PDC)
   \                     AT91F_PDC_Open:
   \   00000000   0221               MOV         R1,#+0x2
   \   00000002   0162               STR         R1,[R0, #+0x20]
   \   00000004   0902               LSL         R1,R1,#+0x8
   \   00000006   0162               STR         R1,[R0, #+0x20]
   \   00000008   0021               MOV         R1,#+0
   \   0000000A   8161               STR         R1,[R0, #+0x18]
   \   0000000C   C161               STR         R1,[R0, #+0x1C]
   \   0000000E   0161               STR         R1,[R0, #+0x10]
   \   00000010   4161               STR         R1,[R0, #+0x14]
   \   00000012   8160               STR         R1,[R0, #+0x8]
   \   00000014   C160               STR         R1,[R0, #+0xC]
   \   00000016   0160               STR         R1,[R0, #+0]
   \   00000018   4160               STR         R1,[R0, #+0x4]
   \   0000001A   0121               MOV         R1,#+0x1
   \   0000001C   0162               STR         R1,[R0, #+0x20]
   \   0000001E   0902               LSL         R1,R1,#+0x8
   \   00000020   0162               STR         R1,[R0, #+0x20]
   \   00000022   7047               BX          LR                 ;; return
     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          //*----------------------------------------------------------------------------
     26          //* \fn    AT91F_TDES_Handler
     27          //* \brief
     28          //*----------------------------------------------------------------------------

   \                                 In segment CODE, align 4, keep-with-next
     29          void AT91F_TDES_Handler(void)
     30          {
   \                     AT91F_TDES_Handler:
   \   00000000   01B4               PUSH        {R0}
     31            volatile unsigned int status;
     32          		
     33            status = AT91F_TDES_GetStatus(AT91C_BASE_TDES) & AT91F_TDES_GetInterruptMaskStatus(AT91C_BASE_TDES) ;
   \   00000002   0A48               LDR         R0,??AT91F_TDES_Handler_0  ;; 0xfffa801c
   \   00000004   0068               LDR         R0,[R0, #+0]
   \   00000006   0A49               LDR         R1,??AT91F_TDES_Handler_0+0x4  ;; 0xfffa8018
   \   00000008   0968               LDR         R1,[R1, #+0]
   \   0000000A   0140               AND         R1,R0
   \   0000000C   0091               STR         R1,[SP, #+0]
     34            AT91F_TDES_DisableIt(AT91C_BASE_TDES,status);
   \   0000000E   0098               LDR         R0,[SP, #+0]
   \   00000010   0849               LDR         R1,??AT91F_TDES_Handler_0+0x8  ;; 0xfffa8014
   \   00000012   0860               STR         R0,[R1, #+0]
     35          
     36            if(status & AT91C_TDES_DATRDY){
   \   00000014   0848               LDR         R0,??AT91F_TDES_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_TDES_Handler_1
     37              test = AT91C_TEST_OK;
   \   0000001E   0170               STRB        R1,[R0, #+0]
     38              TRACE_DEBUG_L("=> DATRDY");
     39            }
     40          
     41            if(status & AT91C_TDES_ENDRX){
   \                     ??AT91F_TDES_Handler_1:
   \   00000020   009A               LDR         R2,[SP, #+0]
   \   00000022   9207               LSL         R2,R2,#+0x1E
   \   00000024   00D5               BPL         ??AT91F_TDES_Handler_2
     42              test = AT91C_TEST_OK;
   \   00000026   0170               STRB        R1,[R0, #+0]
     43              TRACE_DEBUG_H("=> ENDRX");
     44            }
     45          }
   \                     ??AT91F_TDES_Handler_2:
   \   00000028   08BC               POP         {R3}
   \   0000002A   7047               BX          LR                 ;; return
   \                     ??AT91F_TDES_Handler_0:
   \   0000002C   1C80FAFF           DC32        0xfffa801c
   \   00000030   1880FAFF           DC32        0xfffa8018
   \   00000034   1480FAFF           DC32        0xfffa8014
   \   00000038   ........           DC32        test
     46          
     47          //*--------------------------------------------------------------------------------------
     48          //* Function Name       : Main
     49          //* Object              : Software entry point
     50          //*--------------------------------------------------------------------------------------

   \                                 In segment CODE, align 4, keep-with-next
     51          void main()
     52          {
   \                     main:
   \   00000000   30B5               PUSH        {R4,R5,LR}
     53            ////////////////////////////////////////////////////////////////////////////////////////////////////
     54            //  DBGU Init
     55            /////////////////////////////////////////////////////////////////////////////////////////////////////
     56            // Enable DBGU Clock
     57            //AT91F_DBGU_CfgPMC();  // DBGU is always clocked
     58            // Open PIO for DBGU
     59            AT91F_DBGU_CfgPIO();
   \   00000002   C021               MOV         R1,#+0xC0
   \   00000004   4905               LSL         R1,R1,#+0x15       ;; #+0x18000000
   \   00000006   2048               LDR         R0,??main_0        ;; 0xfffff470
   \   00000008   0160               STR         R1,[R0, #+0]
   \   0000000A   0020               MOV         R0,#+0
   \   0000000C   1F4A               LDR         R2,??main_0+0x4    ;; 0xfffff474
   \   0000000E   1060               STR         R0,[R2, #+0]
   \   00000010   1F4A               LDR         R2,??main_0+0x8    ;; 0xfffff404

⌨️ 快捷键说明

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