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

📄 main.lst

📁 AT91SAM7X256芯片底层驱动源码。在IAR430环境下编译
💻 LST
📖 第 1 页 / 共 2 页
字号:
##############################################################################
#                                                                            #
# IAR ARM ANSI C/C++ Compiler V4.30A/W32 KICKSTART     25/Oct/2005  09:46:41 #
# Copyright 1999-2005 IAR Systems. All rights reserved.                      #
#                                                                            #
#    Cpu mode        =  interwork                                            #
#    Endian          =  little                                               #
#    Stack alignment =  4                                                    #
#    Source file     =  E:\SAM7X\at91sam7x256_iar\AT91_SAM7X256-IAR\AT91SAM7 #
#                       X256-BasicTools-IAR4_30A-1_2\AT91SAM7X-BasicTools\sr #
#                       c\main.c                                             #
#    Command line    =  E:\SAM7X\at91sam7x256_iar\AT91_SAM7X256-IAR\AT91SAM7 #
#                       X256-BasicTools-IAR4_30A-1_2\AT91SAM7X-BasicTools\sr #
#                       c\main.c -lC E:\SAM7X\at91sam7x256_iar\AT91_SAM7X256 #
#                       -IAR\AT91SAM7X256-BasicTools-IAR4_30A-1_2\AT91SAM7X- #
#                       BasicTools\compil\FLASH_Debug\List\ -o               #
#                       E:\SAM7X\at91sam7x256_iar\AT91_SAM7X256-IAR\AT91SAM7 #
#                       X256-BasicTools-IAR4_30A-1_2\AT91SAM7X-BasicTools\co #
#                       mpil\FLASH_Debug\Obj\ -z9 --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\dl4tptinl8n.h" -I                  #
#                       E:\SAM7X\at91sam7x256_iar\AT91_SAM7X256-IAR\AT91SAM7 #
#                       X256-BasicTools-IAR4_30A-1_2\AT91SAM7X-BasicTools\co #
#                       mpil\srcIAR\ -I E:\SAM7X\at91sam7x256_iar\AT91_SAM7X #
#                       256-IAR\AT91SAM7X256-BasicTools-IAR4_30A-1_2\AT91SAM #
#                       7X-BasicTools\compil\..\src\ -I                      #
#                       E:\SAM7X\at91sam7x256_iar\AT91_SAM7X256-IAR\AT91SAM7 #
#                       X256-BasicTools-IAR4_30A-1_2\AT91SAM7X-BasicTools\co #
#                       mpil\..\..\ -I "D:\Program Files\IAR                 #
#                       Systems\Embedded Workbench 4.0 Kickstart\arm\INC\"   #
#    List file       =  E:\SAM7X\at91sam7x256_iar\AT91_SAM7X256-IAR\AT91SAM7 #
#                       X256-BasicTools-IAR4_30A-1_2\AT91SAM7X-BasicTools\co #
#                       mpil\FLASH_Debug\List\main.lst                       #
#    Object file     =  E:\SAM7X\at91sam7x256_iar\AT91_SAM7X256-IAR\AT91SAM7 #
#                       X256-BasicTools-IAR4_30A-1_2\AT91SAM7X-BasicTools\co #
#                       mpil\FLASH_Debug\Obj\main.r79                        #
#                                                                            #
#                                                                            #
##############################################################################

E:\SAM7X\at91sam7x256_iar\AT91_SAM7X256-IAR\AT91SAM7X256-BasicTools-IAR4_30A-1_2\AT91SAM7X-BasicTools\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            : JPP   16/Sep/2005
     18          //*----------------------------------------------------------------------------
     19          
     20          // Include Standard files
     21          #include "project.h"
     22          
     23          
     24          /* Global variables */
     25          #define      SPEED 		( AT91B_MAIN_OSC /1000)

   \                                 In segment DATA_I, align 4, align-sorted
     26          unsigned int LedSpeed = SPEED *20 ;
   \                     LedSpeed:
   \   00000000                      DS8 4
   \   00000004                      REQUIRE `?<Initializer for LedSpeed>`

   \                                 In segment DATA_C, align 4, align-sorted
     27          const int led_mask[AT91B_NB_LEB]= {AT91B_LED1, AT91B_LED2, AT91B_LED3, AT91B_LED4};
   \                     led_mask:
   \   00000000   000008000000       DC32 524288, 1048576, 2097152, 4194304
   \              100000002000
   \              00004000    
     28          
     29          //*--------------------------------------------------------------------------------------
     30          //* Function Name       : change_speed
     31          //* Object              : Adjust "LedSpeed" value depending on SW1 and SW2 are pressed or not
     32          //* Input Parameters    : none
     33          //* Output Parameters   : Update of LedSpeed value.
     34          //*--------------------------------------------------------------------------------------

   \                                 In segment CODE, align 4, keep-with-next
     35          void change_speed ( void )
     36          {//* Begin
     37              if ( (AT91F_PIO_GetInput(AT91D_BASE_PIO_SW) & AT91B_SW1) == 0 )
   \                     change_speed:
   \   00000000   0C49               LDR         R1,??change_speed_0  ;; 0xfffff43c
   \   00000002   0A68               LDR         R2,[R1, #+0]
   \   00000004   ....               LDR         R0,??DataTable1    ;; LedSpeed
   \   00000006   9202               LSL         R2,R2,#+0xA
   \   00000008   06D4               BMI         ??change_speed_1
     38              {
     39                  if ( LedSpeed > SPEED ) LedSpeed -=SPEED ;
   \   0000000A   0268               LDR         R2,[R0, #+0]
   \   0000000C   0A4B               LDR         R3,??change_speed_0+0x4  ;; 0x4801
   \   0000000E   9A42               CMP         R2,R3
   \   00000010   02D3               BCC         ??change_speed_1
   \   00000012   0A4B               LDR         R3,??change_speed_0+0x8  ;; 0xffffb800
   \   00000014   D218               ADD         R2,R2,R3
   \   00000016   0260               STR         R2,[R0, #+0]
     40              }
     41              if ( (AT91F_PIO_GetInput(AT91D_BASE_PIO_SW) & AT91B_SW3) == 0 )
   \                     ??change_speed_1:
   \   00000018   0968               LDR         R1,[R1, #+0]
   \   0000001A   0902               LSL         R1,R1,#+0x8
   \   0000001C   07D4               BMI         ??change_speed_2
     42              {
     43                  if ( LedSpeed < AT91B_MAIN_OSC ) LedSpeed +=SPEED ;
   \   0000001E   0168               LDR         R1,[R0, #+0]
   \   00000020   074A               LDR         R2,??change_speed_0+0xC  ;; 0x1194000
   \   00000022   9142               CMP         R1,R2
   \   00000024   03D2               BCS         ??change_speed_2
   \   00000026   9022               MOV         R2,#+0x90
   \   00000028   D201               LSL         R2,R2,#+0x7        ;; #+0x4800
   \   0000002A   8918               ADD         R1,R1,R2
   \   0000002C   0160               STR         R1,[R0, #+0]
     44              }
     45          
     46          }//* End
   \                     ??change_speed_2:
   \   0000002E   00B0               ADD         SP,#+0
   \   00000030   7047               BX          LR                 ;; return
   \   00000032   C046               NOP         
   \                     ??change_speed_0:
   \   00000034   3CF4FFFF           DC32        0xfffff43c
   \   00000038   01480000           DC32        0x4801
   \   0000003C   00B8FFFF           DC32        0xffffb800
   \   00000040   00401901           DC32        0x1194000
     47          
     48          //*--------------------------------------------------------------------------------------
     49          //* Function Name       : wait
     50          //* Object              : Software waiting loop
     51          //* Input Parameters    : none. Waiting time is defined by the global variable LedSpeed.
     52          //* Output Parameters   : none
     53          //*--------------------------------------------------------------------------------------

   \                                 In segment CODE, align 4, keep-with-next
     54          void wait ( void )
     55          {//* Begin
   \                     wait:
   \   00000000   00B5               PUSH        {LR}
     56              unsigned int waiting_time ;
     57              change_speed () ;
   \   00000002   ........           BL          change_speed
     58              for(waiting_time = 0; waiting_time < LedSpeed; waiting_time++) ;

⌨️ 快捷键说明

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